フィルターのクリア

Matlab Invalid Data Argument

115 ビュー (過去 30 日間)
Callum Stewart
Callum Stewart 2020 年 10 月 16 日
コメント済み: Callum Stewart 2020 年 10 月 16 日
u = @(t) (t>=0);
r = @(t) t.*u;
x = @(t) r(t)-r(t-1)-3*u(t-1)-2*r(t-3)-r(t-4)-r(t-5)-u(t-7);
t = [-2:0.01:7];
plot(t,x)
Why am a getting invalid data argument as error when plotting>
[SL: formatted code as code]

回答 (2 件)

Steven Lord
Steven Lord 2020 年 10 月 16 日
Let's look at your code section by section.
u = @(t) (t>=0);
r = @(t) t.*u;
This will not work as written. You cannot multiply a number and a function handle. What you can do instead is to multiply a number and the result of evaluating a function handle.
r = @(t) t.*u(t);
In the next section there is a similar problem.
x = @(t) r(t)-r(t-1)-3*u(t-1)-2*r(t-3)-r(t-4)-r(t-5)-u(t-7);
t = [-2:0.01:7];
plot(t,x)
The plot function will not accept a function handle as its second input, but it can accept the result of evaluating a function handle.
plot(t, x(t))
  1 件のコメント
Callum Stewart
Callum Stewart 2020 年 10 月 16 日
Thanks this explains a lot thanks

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


Karolis Poskus
Karolis Poskus 2020 年 10 月 16 日
Hello,
To plot anonymous function use:
doc fplot

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by