Borrar filtros
Borrar filtros

Matlab Invalid Data Argument

115 visualizaciones (últimos 30 días)
Callum Stewart
Callum Stewart el 16 de Oct. de 2020
Comentada: Callum Stewart el 16 de Oct. de 2020
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]

Respuestas (2)

Steven Lord
Steven Lord el 16 de Oct. de 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))
  1 comentario
Callum Stewart
Callum Stewart el 16 de Oct. de 2020
Thanks this explains a lot thanks

Iniciar sesión para comentar.


Karolis Poskus
Karolis Poskus el 16 de Oct. de 2020
Hello,
To plot anonymous function use:
doc fplot

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by