Masked Subsystem: How to pass a double vector to a constant?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
답변 (2개)
Yao Li
2014년 1월 28일
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
Kaustubha Govind
2014년 3월 31일
I agree. You may to test what num2str(refName) returns to see why that may be resulting an error.
Fangjun Jiang
2022년 8월 1일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Subsystems에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!