can not get values
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Riyadh Salim
el 29 de En. de 2019
Respondida: Mark Sherstan
el 29 de En. de 2019
i built this mathimaticly project of tram running simulation , but there is no error and at the same time there is no output values (all values are zero), would u please help me and diagnose the matter ?
0 comentarios
Respuesta aceptada
Daníel Freyr Hjartarson
el 29 de En. de 2019
You were overwriting you calculations of a,v and s. I created matrices to save your results instead. That gives you a better overview of your timesteps. But your problem seems to be in the interpolation you are doing the first NaN is returned by the call interp1(R(:,1), R(:,2), t). It's unclear for me what you are interpolation between, could you give some more information on that?
%% Starting calculation
a_res = zeros(100,100);
v_res = zeros(100,100);
s_res = zeros(100,100);
for t = 1:100
w0 = interp1(W0(:,1), W0(:,2), v);
if interp1(R(:,1), R(:,2), t) > 0
R = interpl(R(:,1), R(:,2), t);
wR = 600*m*g/(R - 55);
else
wR = 0;
end
inc = interp1(INC(:,1), INC(:,2), s);
w_inc = inc*m*g;
w_sum = w0 + w_inc + wR;
if (v < vmax) && (s < Sstop - Sbraking)
F = interp1(TE(:,1), TE(:,2), v);
elseif (v >= vmax) && (s < Sstop - Sbraking)
F = w_sum;
elseif s >= Sstop - Sbraking
F = 0;
end
a = (F - w_sum)/m*(1 + K);
v = v + a;
s = s + a*t;
i = interp1(I(:,1), I(:,2), v);
P = U*i;
efficiency = F*v / P ;
E = P*t;
%saving the results of calculation
a_res(:,t) = a;
v_res(:,t) = v;
s_res(:,t) = s;
end
0 comentarios
Más respuestas (1)
Mark Sherstan
el 29 de En. de 2019
Your data set and interplation dont line up. The R variable you define is:
R =
379 24
1000 56
1180 110
1300 72
2360 1170
2990 328
6200 154
6320 192
9149 283
Looking at the first couple loops t will be 1, 2, 3, ...
interp1(R(:,1),R(:,2),t)
t has nothing to interpolate to. It is not bounded by any values and will output "nan" which forces your if statment:
if interp1(R(:,1),R(:,2),t)>0
R=interpl(R(:,1),R(:,2),t);
wR=600*m*g/(R-55);
else
wR=0;
end
To output a zero answer. Try fixing up your data sets and solve the first couple itterations by hand to make sure everything makes sense.
0 comentarios
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!