add three function in runge kutta

1 visualización (últimos 30 días)
Mariam Gasra
Mariam Gasra el 12 de Mayo de 2019
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;

Respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by