??? Subscripted assignment dimension mismatch
2 views (last 30 days)
Show older comments
how do I fix this assignment error?
lambdaMJ = 7.2;
MJ_Flow = (30/60)*2;
A = 100;
B = 1;
C = 70;
D = 4;
E = C + D;
F = A - C - D;
MJ_start=0;
for a=1:100
Num_cylces = 1;
XMJ=(poissrnd(lambdaMJ, A, Num_cylces));
lambdaMJ_sec(a) = mean(XMJ)/10;
%
FMJ_cars_wait = @(T11,MJ_V11) (lambdaMJ_sec(a));
[T11,MJ_V11] = ode45(FMJ_cars_wait,[0,F],MJ_start);
R_G_MJ = MJ_V11(end:end);
%
FMJ_cars_wait_2 = @(T12,MJ_V12) (lambdaMJ_sec(a) - MJ_Flow);
[T12,MJ_V12] = ode45(FMJ_cars_wait_2,[F,A],R_G_MJ);
%
Major_end(a)=MJ_V12(end);
MJ_start=MJ_V12(end);
if MJ_start < 0
MJ_start=0;
else
MJ_start=MJ_start;
end
%
Major1(:,a) = MJ_V11;
end
??? Subscripted assignment dimension mismatch.
Error in ==> Untitled2 at 30
Major1(:,a) = MJ_V11;
0 Comments
Accepted Answer
Cedric
on 5 Oct 2013
Edited: Cedric
on 5 Oct 2013
First:
doc interp1
and once you understand roughly what it does and its input parameters, I guess that you could modify your code a little bit as follows (untested):
lambdaMJ = 7.2;
MJ_Flow = (30/60)*2;
A = 100;
B = 1;
C = 70;
D = 4;
E = C + D;
F = A - C - D;
MJ_start=0;
% NEW
n = 100 ;
step = 0.5 ;
tGrid = (0:step:F).' ;
lambdaMJ_sec = zeros(1, n) ;
Major_end = zeros(1, n) ;
Major1 = zeros(length(tGrid), n) ;
for a = 1:n % Updated: upper bound.
Num_cylces = 1;
XMJ=(poissrnd(lambdaMJ, A, Num_cylces));
lambdaMJ_sec(a) = mean(XMJ)/10;
%
FMJ_cars_wait = @(T11,MJ_V11) (lambdaMJ_sec(a));
[T11,MJ_V11] = ode45(FMJ_cars_wait,[0,F],MJ_start);
R_G_MJ = MJ_V11(end:end);
%
FMJ_cars_wait_2 = @(T12,MJ_V12) (lambdaMJ_sec(a) - MJ_Flow);
[T12,MJ_V12] = ode45(FMJ_cars_wait_2,[F,A],R_G_MJ);
%
Major_end(a)=MJ_V12(end);
MJ_start=MJ_V12(end);
if MJ_start < 0
MJ_start=0;
end % Updated: no else clause.
%
Major1(:,a) = interp1(T11, MJ_V11, tGrid); % Updated: interpolate.
end
2 Comments
More Answers (1)
Matt J
on 5 Oct 2013
Edited: Matt J
on 5 Oct 2013
Make MJ_V11 the same size as Major1(:,a)
5 Comments
Image Analyst
on 5 Oct 2013
Matt, we went over all that in his original question http://www.mathworks.com/matlabcentral/answers/89151-how-to-find-a-mean-across-rows. I told him you can't stick a whole vector into a single element. Not sure why he abandoned that discussion, and asked all over again here.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!