problem with signal dimension
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Vaibhav Awale
am 21 Mär. 2016
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
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!