Trouble with inline functions.

5 ビュー (過去 30 日間)
Ben Bowman
Ben Bowman 2019 年 11 月 27 日
コメント済み: Ben Bowman 2019 年 11 月 28 日
My homework says to use this code:
f = inline('[x(2);-sin(x(1))]', 't' , 'x');
xystart = [2 1]; tEnd=30;
[t,xa] =ode45(f,[0,tEnd],xystart);
k2 = min(find(t>2))
xa(k2,:)
as an example of how to solve a systme of differential equations, but I'm using using version R2019b and the assignment directions were written for an older version.
When I use the code from the instructions MATLAB throws this error:
Error using inline/horzcat (line 7)
Inline functions can't be concatenated.
Error in odefcncleanup (line 15)
[~,oldFcnFun] = evalc(['@' oldFcn]);
Error in ode45 (line 274)
odeFcn_main = odefcncleanup(FcnUsed,odeFcn,odeArgs);
Error in project5_task13 (line 4)
[t,xa] =ode45(f,[0,tEnd],xystart);
This is the first time I've seen the "inline" command so I'm not sure what it's trying to do much less how to fix it.
Please help.
Thank you.
  2 件のコメント
Stephen23
Stephen23 2019 年 11 月 27 日
編集済み: Stephen23 2019 年 11 月 27 日
"My homework says to use this code... inline..."
Make a formal complaint to your school/college/university that their teaching material is totally outdated (and was apparently written in the grand-ol-days when your teacher/tutor/professor first learned to write code on punch cards and they don't see any reason to keep up with the world...)
You should read the inline documentation yourself, which clearly states at the very top:
Capture.PNG
And then learn about anonymous functions and function handles: you will gain some still-relevant skills, unlike your sadly very outdated teacher/tutor/professor.
James Tursa
James Tursa 2019 年 11 月 27 日
+1

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

採用された回答

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2019 年 11 月 27 日
inline is replaced by handles function:
f = @(t,x) [x(2);-sin(x(1))];
xystart = [2 1]; tEnd=30;
[t,xa] =ode45(f,[0,tEnd],xystart);
k2 = min(find(t>2))
xa(k2,:)
  1 件のコメント
Ben Bowman
Ben Bowman 2019 年 11 月 28 日
Thank you. This works good and gives me the format I need to finish the rest of the assignment.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFunction Creation についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by