Undefined function 'cos' for input arguments of type 'tf'.

3 visualizzazioni (ultimi 30 giorni)
I am trying to calculate the laplace transform of the equation below (theta1) but it doesn't seem to recognize neither the cos or cosd function. Here is my code:
theta1=((3/8)*pi)+((1/8)*pi*cos(((pi/.3)*s)+(pi/16)));
thata1s=laplace(theta1);
  1 Commento
Adam Danz
Adam Danz il 20 Feb 2020
Modificato: Adam Danz il 20 Feb 2020
Check out the documentation describing the first input to that function
Spolier alert: the input is expected to be symbolic, not double (where did you get the "TF" from in the title of your question? - I just realized you're working with a transfer function)
Here are two tutorials on this function

Accedi per commentare.

Risposte (2)

madhan ravi
madhan ravi il 20 Feb 2020
Modificato: madhan ravi il 20 Feb 2020
syms s % forgot to add this part
theta1=((3/8)*pi)+((1/8)*pi*cos(((pi/.3)*s)+(pi/16)));
theta1s=laplace(theta1);

Walter Roberson
Walter Roberson il 20 Feb 2020
An s or z generated by tf('s') or tf('z') is not a symbolic variable but laplace() and ilaplace() can only be used with Symbolic expressions.
If you look in the File Exchange searching for tf2sym then as part of two of the contributions there are functions that can convert tf representation to symbolic representation. sym2tf on the same contributions can convert some symbolic expressions to tf notation.

Community Treasure Hunt

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

Start Hunting!

Translated by