How to pass an array in Matlab Production Server

Im using Production Server Compiler to build an endpoint where a Java client can make petitions to, but when I'm trying to pass the parameters to my function, It only accepts simple numbers or strings, like [1, 30.2, 200, "example"] and I need to pass a 3D array (if it works for a 2D array I can make it work).
{ "nargout":1, "rhs": [10] } This works, because It pass the number 10 to my function parameter, but if I need an array of 5 numbers, for example, this doesn't work
{ "nargout":2, "rhs": [10, 20, 30, 40, 50] }
My test function:
function out = sumar(array)
array(1, :)
out = array;
end
Thanks!

 Accepted Answer

You need to include "[" and "]" for passing arrays to MATLAB Production Server.
{"nargout":1, "rhs": [[10, 20, 30, 40, 50]]}

2 Comments

I have just been contacted by Matlab support, they told me to put it in this format because we need to specify that we are dealing with an array (with the parameters 'mwsize' and 'mwtype'), so it has to be passed in 1D linear array format.
{
"nargout": 1,
"rhs": {
"mwdata":[1,3,5,2,4,6,7,9,11,8,10,12,13,14,15,16,17,18],
"mwsize":[3,2,3],
"mwtype":"double"
}
}
Regardless of this, I thank you very much for the reply!
Thank you for your comment. Sure, above is JSON large notation wtih mwsize described in this document.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!