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

3 次查看(过去 30 天)
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 个评论
Adam Danz
Adam Danz 2020-2-20
编辑:Adam Danz 2020-2-20
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

请先登录,再进行评论。

回答(2 个)

madhan ravi
madhan ravi 2020-2-20
编辑:madhan ravi 2020-2-20
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 2020-2-20
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.

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by