why is it not plotting?? blank graph

% Ecuaciones Diferenciales Ordinarias dy/dx=f(x,y) a resolver --------------
f1 =@(x,y1,y2) (-6*y2-5*y1)/.5
f1 = function_handle with value:
@(x,y1,y2)(-6*y2-5*y1)/.5
f2 =@(x,y1,y2) (-.5*y1-5)/6
f2 = function_handle with value:
@(x,y1,y2)(-.5*y1-5)/6
% Condiciones iniciales -----------------------------------------------
%y1(0)=1;
%y2(0)=0;
x=0
x = 0
xn=5
xn = 5
y1=1
y1 = 1
y2=0
y2 = 0
h=0.2
h = 0.2000
% Método de RK4Orden ---------------------------------------------------
while x(end)<=xn
k11= f1(x(end),y1(end),y2(end));
k12= f2(x(end),y1(end),y2(end));
k21= f1(x(end)+.5*h,y1(end)+.5*k11*h,y2(end)+.5*k12*h);
k22= f2(x(end)+.5*h,y1(end)+.5*h*k11,y2(end)+.5*h*k12);
k31= f1(x(end)+.5*h,y1(end)+.5*k21*h,y2(end)+.5*k22*h);
k32= f2(x(end)+.5*h,y2(end)+.5*k22*h,y2(end)+.5*k22*h);
k41= f1(x(end)+h,y1(end)+k31*h,y2(end)+k32*h);
k42= f2(x(end)+h,y2(end)+k32*h,y2(end)+k32*h);
x(end+1)=x(end)+h;
%y1(end+1)=y1(end)+1/6*(k11+2*k21+2*k31+k41)*h;
%y2(end+1)=y2(end)+1/6*(k12+2*k22+2*k32+k42)*h;
end
% Graficación de la solución ------------------------------------------
plot(x,y1)
title('Carga respecto al tiempo')
xlabel('tiempo')
ylabel('carga')
hold on
plot(x,y2)
xlabel('tiempo')
ylabel('corriente')
title('Corriente respecto al tiempo')

 采纳的回答

Why do you comment the lines of calculate y1 and y2?
% Ecuaciones Diferenciales Ordinarias dy/dx=f(x,y) a resolver --------------
f1 =@(x,y1,y2) (-6*y2-5*y1)/.5;
f2 =@(x,y1,y2) (-.5*y1-5)/6;
% Condiciones iniciales -----------------------------------------------
%y1(0)=1;
%y2(0)=0;
x=0;
xn=5;
y1=1;
y2=0;
h=0.2;
% Método de RK4Orden ---------------------------------------------------
while x(end)<=xn
k11= f1(x(end),y1(end),y2(end));
k12= f2(x(end),y1(end),y2(end));
k21= f1(x(end)+.5*h,y1(end)+.5*k11*h,y2(end)+.5*k12*h);
k22= f2(x(end)+.5*h,y1(end)+.5*h*k11,y2(end)+.5*h*k12);
k31= f1(x(end)+.5*h,y1(end)+.5*k21*h,y2(end)+.5*k22*h);
k32= f2(x(end)+.5*h,y2(end)+.5*k22*h,y2(end)+.5*k22*h);
k41= f1(x(end)+h,y1(end)+k31*h,y2(end)+k32*h);
k42= f2(x(end)+h,y2(end)+k32*h,y2(end)+k32*h);
x(end+1)=x(end)+h;
% these two lines update y1 and y2
y1(end+1)=y1(end)+1/6*(k11+2*k21+2*k31+k41)*h;
y2(end+1)=y2(end)+1/6*(k12+2*k22+2*k32+k42)*h;
end
% Graficación de la solución ------------------------------------------
plot(x,y1)
title('Carga respecto al tiempo')
xlabel('tiempo')
ylabel('carga')
hold on
plot(x,y2)
xlabel('tiempo')
ylabel('corriente')
title('Corriente respecto al tiempo')

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by