add three function in runge kutta
    5 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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;
0 件のコメント
回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
