Not enough input arguments

4 ビュー (過去 30 日間)
Jiao He
Jiao He 2011 年 11 月 29 日
function dy= test(t,y)
dy = zeros(2,1);
dy(1)=t-y(1)./t;
dy(2)=y(1)./t-y(2).*t; (error in this line)
Error using test(line 3) Not enough input arguments
Can somebody help me to find the problem please? Thanks
  1 件のコメント
Jan
Jan 2011 年 11 月 29 日
Please format your code as explained in the "Markup help" link on this page.

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

回答 (3 件)

Matt Tearle
Matt Tearle 2011 年 11 月 29 日
From your comment to Jan: "then run it"...
If you are running it as a script then it will give this error message because test is a function, requiring t and y to be passed in as arguments. Call it as a function and it should work fine:
>> test(pi,rand(2,1))
ans =
3.1230e+000
-2.9509e+000

Jan
Jan 2011 年 11 月 29 日
I guess, that you have a function called "t":
which t
Please post the complete error message in the future. It contains helpful information.
  1 件のコメント
Jiao He
Jiao He 2011 年 11 月 29 日
I was trying to solve the following differential equations:
dy1/dt=t-y1/t
dy2/dt=y1/t-2*t
parameters in the equations are time dependent.
I save this function as test.m, then run it, returns :
Error using test(line 3)
Not enough input arguments.

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


Walter Roberson
Walter Roberson 2011 年 11 月 29 日
What arguments are you passing to test when you invoke it?

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by