Masked Subsystem: How to pass a double vector to a constant?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
This is a slightly long-winded problem, but should be easy to follow along.
End goal : Input a 'double' vector into a C++ S Function by assigning it to a Constant.
Starting point: A function within the Dialog Callback of my masked subsystem returns the double vector that I need.
Steps in the middle: So I have a double vector as an input, I need a double vector as an output, but I cannot pass the vector directly, because set_param requires that I pass the value as a string.
Problem: What I tried is this:
set_param(gcb,'refNameArray',num2str(refName));
where,
- gcb (correctly) returns the block from within which I am doing everything.
- refNameArray is the parameter which needs to be assigned the double vector
- refName is the vector, in 'double' form, that I have available within the dialog callback of the mask.
I use num2str because I cannot directly assign a vector, I must input it as a string. But, even using num2str, I get an error saying
Invalid Setting in Block <blockName> for parameter 'Value'.
Any suggestions?
0 comentarios
Respuestas (2)
Yao Li
el 28 de En. de 2014
I'm not quite sure about your issue. In general, if you want to assign a value to a parameter in a masked subsystem, add it as a parameter in the Mask Editor as shown in the following link
and then assign the value by
refNameArray=refName;
In case you do need to convert the value to a string first, try converting the array to a cell and converting it back to a double type array by the command sprintf()
1 comentario
Kaustubha Govind
el 31 de Mzo. de 2014
I agree. You may to test what num2str(refName) returns to see why that may be resulting an error.
Fangjun Jiang
el 1 de Ag. de 2022
I don't know why this old question suddenly appears at the top.
I believe the answer to this question is a trick. Use mat2str(), instead of num2str(). So when evaluated, the string will return an array.
a=1:3
b=num2str(a)
c=mat2str(a)
eval(c)
eval(b)
0 comentarios
Ver también
Categorías
Más información sobre Subsystems en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!