add three function in runge kutta
Show older comments
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;
Answers (0)
Categories
Find more on Runge Kutta Methods 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!