What's wrong with my code?

1 回表示 (過去 30 日間)
Andrew Davies
Andrew Davies 2014 年 5 月 18 日
コメント済み: Andrew Davies 2014 年 5 月 18 日
function dxdt = pendulum(t,x)
L = 1;
theta = x(1);
gamma = x(2);
dtheta = gamma;
dgamma = -(9.8/L)*sin(theta);
dxdt = zeros(2,1);
dxdt(1)=dtheta;
dxdt(2)=dgamma;
[t,x]=ode45('pendulum',[0 10],[0.9*pi 0]);
plot(t,x(:,1));
hold on;
plot(t,x(:,2),'r');
legend('Position','Velocity');
plot(x(:,1),x(:,2));
xlabel('Position');
yLabel('Velocity');
It says x is undefined
  2 件のコメント
dpb
dpb 2014 年 5 月 18 日
Need EXACT error in context including traceback to be able to tell--too many places where x is used. You may well need to change the internal use of x as the result of ode45 and where it's the passed-in value; didn't try to read the code thoroughly enough to tell for certain.
Image Analyst
Image Analyst 2014 年 5 月 18 日
Well one problem is that the formatting is bad. Read this to correct it: http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup

サインインしてコメントする。

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 5 月 18 日
編集済み: Azzi Abdelmalek 2014 年 5 月 18 日
There is no error in your code, the problem is the way you are using it.
Save the followed code as pendulum.m
function dxdt = pendulum(t,x)
L = 1;
theta = x(1);
gamma = x(2);
dtheta = gamma;
dgamma = -(9.8/L)*sin(theta);
dxdt = zeros(2,1);
dxdt(1)=dtheta;
dxdt(2)=dgamma;
Then in another file write and run this code
[t,x]=ode45('pendulum',[0 10],[0.9*pi 0]);
plot(t,x(:,1));
hold on;
plot(t,x(:,2),'r');
legend('Position','Velocity');
plot(x(:,1),x(:,2));
xlabel('Position');
ylabel('Velocity');
  3 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 5 月 18 日
Andrew, what about your original question?
Andrew Davies
Andrew Davies 2014 年 5 月 18 日
That was an example from a textbook and i was using it to try to understand how to solve my own one, the second one i described

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeParticle & Nuclear Physics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by