Matlab Invalid Data Argument
115 views (last 30 days)
Show older comments
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]
0 Comments
Answers (2)
Steven Lord
on 16 Oct 2020
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))
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!