Variable dimension mismatch problem in a Matlab function block
2 次查看(过去 30 天)
显示 更早的评论
Hello!
I am getting an error regarding a mismatch between the size of two variables in a Matlab function block:
Dimension 1 is fixed on the left-hand side but varies on the right ([15 x 500] ~= [:15 x :500])
Basically, I have an input variable, A, whose size is variable, and a output variable B, whose size is always [15,500]. Depending on the size of A, the function generates in a different way. For example:
dim_A=size(A);
if dim_A(1)==15
B=A;
else
B=zeros(15,500)
end
The thing is that every time dim_A(1)==15, A's size must be [15,500]. I have also tried to use:
if dim_A(1)==15 && dim_A(2)==500
...
end
but whiout result. The funny thing is that I used exactly the same block in another model and it works there!!
Does anybody know what is going on there??
Thanks a lot! Pablo
0 个评论
采纳的回答
Walter Roberson
2016-1-8
Try
B = A(1:15,1:500);
even though you know that is the original size, this would provide a clear hint to MATLAB as to the output size.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Functions 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!