add three function in runge kutta
Afficher commentaires plus anciens
h=0.5; % step size
x = 0:h:100; % Calculates upto y(3)
ibc = [0.2;0.3;0.2];
Y = zeros(length(ibc),length(x));
for j = 1:length(ibc)
y = zeros(1,length(x)) ;
y(1) = ibc(j) ;
% redo with other choices here.
% initial condition
F_xy = %%%
% change the function as you desire
for i=1:(length(x)-1) % calculation loop
k_1 = F_xy(x(i),y(i));
k_2 = F_xy(x(i)+0.5*h,y(i)+0.5*h*k_1);
k_3 = F_xy((x(i)+0.5*h),(y(i)+0.5*h*k_2));
k_4 = F_xy((x(i)+h),(y(i)+k_3*h));
y(i+1) = y(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4)*h; % main equation
end
Y(j,:) = y ;
% validate using a decent ODE integrator
tspan = [0,100]; y0 = -0.5;
[tx, yx] = ode45(F_xy, tspan, y0) ;
plot(x,y,'o-', tx, yx, '--')
hold on
end
how can i add three function in this code for each initial value?
for i = 1:length(x)
equatoin for first value=(lamda^2/(lamda+mu)^2)*exp(-2*(lamda+mu)*x(i))+((2*mu*lamda)/(lamda+mu)^2)*exp(-(mu+lamda)*x(i))+mu^2/(lamda+mu)^2;
equation for second=((2*mu*lamda)/(lamda+mu)^2)+(((2*lamda*(lamda-mu))/(lamda+mu)^2)*exp(-(mu+lamda)*x(i)))-2*((lamda^2/lamda+mu)^2)*exp(-2*(mu+lamda)*x(i));
equation for third=((lamda^2/(lamda+mu)^2)*exp(-2*(mu+lamda)*x(i)))-(2*lamda^2/(lamda+mu)^2)*exp(-(mu+lamda)*x(i))+lamda^2/(lamda+mu)^2;
Réponses (0)
Catégories
En savoir plus sur Runge Kutta Methods dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!