I keep getting this error in my code

1 vue (au cours des 30 derniers jours)
johnmurdock
johnmurdock le 27 Avr 2019
Modifié(e) : per isakson le 28 Avr 2019
Code:
y = 0.2;
t = 0;
h = 0.01;
tn = 0.2;
kfv = [30 20 40];
for Kidx = 1 : length(kfv)
kf = kfv(Kidx);
%we assume that all the t values are the same
[t, y(:,Kidx)] = Euler(t, y, h, tn, kf);
end
for Kidx = 1 : length(kfv)
kf = kfv(Kidx);
fprintf('The concentration of H2O after %g seconds (kf=%g): %g\n', t(end), kf, y(end, Kidx));
end
function [t, y] = Euler(t0, y0, h, tn, kf)
t = (t0:h:tn)';
y = zeros(size(t));
y(1) = y0;
for i = 1:1:length(t)-1
y(i+1) = y(i) + h*f(y(i), t(i), kf);
end
end
function dydt = f(y, t, kf)
c = 0.2;
b = 0.4;
a = 0.5;
dydt = kf*b*a;
end
>> TakeHomeQ1
Assignment has more non-singleton rhs dimensions than non-singleton
subscripts
Error in TakeHomeQ1 (line 9)
[t, y(:,Kidx)] = Euler(t, y, h, tn, kf);
Thanks!
  1 commentaire
Walter Roberson
Walter Roberson le 28 Avr 2019
Modifié(e) : per isakson le 28 Avr 2019
You have a conflict between y = 0.2 (a scalar), passing y (all of it) into Euler where it gets stored into the scalar location y(1), and receiving the output of Euler (which is length(t)) into y(:,Kidx)

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by