How to solve "Subscripted assignment dimension mismatch"?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
tspan=[0 3]; % time span
X0=[0.0 0.0 10 0 0 0]'; % initial postitions/angles and derivatives thereof Angular_velocity=00:10:400;%rotor_speed*2*pi/60; % in rad/sec PAR0=[Angular_velocity]; %omega
for i=1:10(Angular_velocity)
%run ode45 refering to the function dXdt
options = odeset('RelTol',1e-2,'AbsTol',1e-2);
options = odeset(options,'OutputFcn',@odeplot,'OutputSel',[1 2 3]);
[t,X(:,:,i)]= ode23(@mymodel_working,tspan,X0,options,PAR0);
end
%break X matrix down into column vectors of changing values with t
x1(:,i)=X(:,1);
x2(:,i)=X(:,2);
x3(:,i)=X(:,3);
x4(:,i)=X(:,4);
x5(:,i)=X(:,5);
x6(:,i)=X(:,6);
% x7=X(:,7);
figure plot(t,x3,'-b')
0 Kommentare
Antworten (1)
Santhana Raj
am 31 Mär. 2017
I see that the X is a 3dimentional matrix. And in the code where you split it up into multiple x, you are accessing X as a 2D matrix.
I assume this is the problem. If so, then change the lines to :
x1=X(:,:,1);
Note that now x1 is a 2D matrix and not a column matrix. The index i is not required as anyway you are outside the loop and the value of i is fixed to 10;
I also would like to point to you that the ODE is running 10 times without any change in its input. it is gonna give the same result.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!