Matlab Invalid Data Argument

115 次查看(过去 30 天)
Callum Stewart
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))

Karolis Poskus
Karolis Poskus 2020-10-16
Hello,
To plot anonymous function use:
doc fplot

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by