function not plotting, but no error message
조회 수: 3 (최근 30일)
이전 댓글 표시
I created this function and plot but it is not plotting and I am not getting any error message.
%x1'=-3x1-200x2
%x2'=200x1-3x2
opts = odeset('RelTol',1e-6,'AbsTol',1e-8);function [dXdt] = Problem02ODEFunction(t,X)
soln = ode45(@Problem02ODEFunction,[0 1],[-10 10],opts);
figure;
plot(soln.x,soln.y(1,:),'-','linewidth',0.5);
hold on;
plot(soln.x,soln.y(2,:),'-','linewidth',0.5);
grid on;
title('Problem 2 ODE45 Solution');
xlabel('Time (s)');
ylabel('Solution');
legend('x_{1}(t)','x_{2}(t)','location','best');
function [dXdt] = Problem02ODEFunction(t,X)
x1 = X(1);
x2 = X(2);
dx1dt = -3*x1 - 200*x2;
dx2dt = 200*x1 - 3*x2;
[dXdt] = [dx1dt; dx2dt];
end
댓글 수: 0
채택된 답변
Dyuman Joshi
2023년 9월 27일
The code after the semi-colon in this line of code seems to be a typo
opts = odeset('RelTol',1e-6,'AbsTol',1e-8);function [dXdt] = Problem02ODEFunction(t,X)
After removing it, the code works and the plots are there -
%x1'=-3x1-200x2
%x2'=200x1-3x2
opts = odeset('RelTol',1e-6,'AbsTol',1e-8);
soln = ode45(@Problem02ODEFunction,[0 1],[-10 10],opts)
figure;
plot(soln.x,soln.y(1,:),'-','linewidth',0.5);
hold on;
plot(soln.x,soln.y(2,:),'-','linewidth',0.5);
grid on;
title('Problem 2 ODE45 Solution');
xlabel('Time (s)');
ylabel('Solution');
legend('x_{1}(t)','x_{2}(t)','location','best');
function dXdt = Problem02ODEFunction(t,X)
x1 = X(1);
x2 = X(2);
dx1dt = -3*x1 - 200*x2;
dx2dt = 200*x1 - 3*x2;
[dXdt] = [dx1dt; dx2dt];
end
댓글 수: 2
Dyuman Joshi
2023년 9월 27일
No, you don't have to remove the semi colon, you have remove the part after the semi-colon.
I'll take a look at the file and get back at you.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!