How can variables be passed to a function

2 ビュー (過去 30 日間)
Jared
Jared 2013 年 11 月 20 日
コメント済み: Azzi Abdelmalek 2013 年 11 月 20 日
If I define a function in F.m file with the following:
function zp=F(x,z)
zp=zeros(2,1);
zp(1)=z(2);
zp(2)=a*sqrt(1+z(2)^2)+kx;
That is a function I want to evaluate by using:
[x,z]=ode45('F',[x0,xf],[z10,z20]);
I'm not sure how I can pass a and kx to that function before it is evaluated.

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 11 月 20 日
function zp=F(x,z,a,kx)
zp=zeros(2,1);
zp(1)=z(2);
zp(2)=a*sqrt(1+z(2)^2)+kx;
% ---------------------------------------------
[x,z]=ode45(@(x,z),F(x,z,a,kx),[x0 xf],[z10;z20]);
  2 件のコメント
Jared
Jared 2013 年 11 月 20 日
I'm not quite sure on the syntax but it appears that there is something a bit off, possibly the comma in between (x,z) and F.
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 11 月 20 日
Yes, remove a comma
[x,z]=ode45(@(x,z) F(x,z,a,kx),[x0 xf],[z10;z20]);

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

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by