problem with signal dimension
3 次查看(过去 30 天)
显示 更早的评论
Hi, I am getting 'index expression out of bounds' error when I compiling my simlink model. It is the problem with signal dimension. In my code q_v and w_bi are of 3x1 matrices but when I compiling simlink model (attached here), it is treating as scalars.Please help me how to specify signal dimension to q_v, w_bi in the following code and corresponding simulink model is attached.
function [q_v_dot, q4_dot,w_bi_dot] = sc_dyn(q_v,q4,w_bi,tau)
I=[0.0027 0 0;0 0.0107 0;0 0 0.0101];
w_bi_dot = inv(I)*(tau - Smtrx(w_bi)*(I*w_bi));
q_v_dot =(1/2)*(q4*eye(3)+Smtrx(q_v))*w_bi;
q4_dot = -(1/2)*q_v'*w_bi;
end
function S=Smtrx(i)
S = [0 -i(3) i(2);i(3) 0 -i(1);-i(2) i(1) 0];
end
0 个评论
回答(1 个)
Vaibhav Awale
2016-3-21
Hi Manikya,
I do not find any attached model. However to resolve the dimension mismatch error, you can specify the dimensions of your inputs and outputs of MATLAB function block. To do this, you can open "Model Explorer" by pressing "Ctrl-H" or by navigating to "View->Model Explorer-> Model Explorer".
Inside Model Explorer, you can specify the dimension of signals used in MATLAB functions "sc_dyn" and "Smtrx" by navigating to the appropriate MATLAB function block and specifying "Size" of each signal.
I hope this helps.
Regards,
Vaibhav
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!