What's wrong with the folow function?
Show older comments
I made a function in order to calculate a system of differential equations. I'm using Euler's method.
i=0;
C= 1; % Reagent's initial concentration
T=15; % Initial temperature
dC= -exp(-10/T+273)*C;
dT= 1000*exp(-10/(T+273))*C-10*(T-20);
h = 4;
ti = 0; % time=0
tf = 8; % end time of the simulation
niteracoes = round((tf-ti)/h); % number of steps
vC= zeros (niteracoes);
vT= zeros (niteracoes);
for i = 1:niteracoes
C(i+1) = C(i) - h*dC(i,i); % Euler's method
T(i+1) = T(i) - h*dT(i,i); % Euler's method
ti = ti + h; % Increment time
vC(i)=C(i+1);
disp(vC)
vT(i)=T(i+1);
disp(vT)
i=i+1;
end
Error in euler (line 16) C(i+1) = C(i) - h*dC(i,i);
Accepted Answer
More Answers (1)
Image Analyst
on 21 Dec 2013
When you first get to this line:
C(i+1) = C(i) - h*dC(i,i);
dC is just a single number - it's not a 2D array. What are you thinking that the two indexes of dC should correspond to?
Categories
Find more on Assumptions 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!