Undefined function or method 'tf' for input arguments of type 'double'.
266 views (last 30 days)
Show older comments
Hi..
i am using MATLAB R2007 version in my PC.
i tried to define a transfer function from the following command..
a = tf([5],[0.8 1])
but my command window is showing an error like......
" Undefined function or method 'tf' for input arguments of type 'double'."
requesting you to help me on this issue...
Regards
venkatapathi.p
0 Comments
Accepted Answer
Jan
on 12 Feb 2013
The error message is clear: "Undefined function or method 'tf' for input arguments of type 'double'." This mean, that there is no TF function defined for doubles. Even clearing will not change this. The found @dfilt\tf function is obviously defined for dfilt objects.
The call a = tf([5],[0.8 1]) is only possible, if you have the Control System Toolbox, see: http://www.mathworks.com/help/control/ref/tf.html
4 Comments
lounis chehrit
on 8 Jun 2021
Hello everyone,
I hope you're doing well.
I have an issue, can you help me on this please?
I have two signal column vectors ( input and output ) : ( very large but they both have the same size):
x_inp=[0.0001, -0.0233, ..... ]
x_out=[0.005, -0.0053, ..... ]
i also have a system TF, which is represented like this:
Real( H(s) ) = 23 cos (2*pi*s) + 12 cos (5*pi*s/10) + 1 cos (2*pi*s)/19 + 0.75 cos (5*pi*s/10).
Imag( H(s) ) =11 sin (3*pi*s) + 7 cos (9*pi*vs2) + 10 sin (2*pi*s)/2 + 1.25 sin (4*pi*s/18).
I want to know if , TF( x_out / x_inp ) = H(s).
I tried this :
sys = Real( H(s) ) + i.* Imag (H(s) ).
so to compute the TF( x_out / x_inp ) i did this :
TL1 = tf ( x_inp )
TL2 = tf ( x_out).
and then :
signal = TL2 ./ TL1.
But it doesn't work.
Can anyone please, tell me how can i compute that tf and compare them to the H(s) system.
Or is there another method to see if TF( x_out / x_inp ) = H(s) ? Wether fft method or something like that.
Thank you in advance !
Steven Lord
on 8 Jun 2021
This is not related to the original question so you should ask it as a new question using the Ask link above. When you do post that new question please clarify what "does not work" means.
- Do you receive warning and/or error messages? If so the full and exact text of those messages (all the text displayed in orange and/or red in the Command Window) may be useful in determining what's going on and how to avoid the warning and/or error.
- Does it do something different than what you expected? If so, what did it do and what did you expect it to do?
- Did MATLAB crash? If so please send the crash log file (with a description of what you were running or doing in MATLAB when the crash occured) to Technical Support using the telephone icon in the upper-right corner of this page so we can investigate.
More Answers (3)
Azzi Abdelmalek
on 12 Feb 2013
Edited: Azzi Abdelmalek
on 12 Feb 2013
Try
clear tf
a = tf([5],[0.8 1])
% You, probably used tf as a variable in your script, or you don't have a system control toolbox
8 Comments
Jan
on 12 Feb 2013
@Azzi: This means, that there is a TF function for dfilt objects. The same happens, if you add a function in a subfolder like @uint32\strcmp.m. Then calling strcmp(uint32('a')) calls this user-defined function instead of Matlab's builtin STRCMP.
Sai Sandeep padala
on 14 Mar 2013
but what if you have a licensed control tool box and you still get the same error
0 Comments
danner baron
on 4 Oct 2016
[num,den]=tfdata(Yz,'v'); zplane(num,den) zgrid Undefined function 'tfdata' for input arguments of type 'sym'.
requesting you to help me on this issue..
1 Comment
lounis chehrit
on 8 Jun 2021
Hello ,
I hope you're doing well.
I have an issue, can you help me on this please?
I have two signal column vectors ( input and output ) : ( very large but they both have the same size):
x_inp=[0.0001, -0.0233, ..... ]
x_out=[0.005, -0.0053, ..... ]
i also have a system TF, which is represented like this:
Real( H(s) ) = 23 cos (2*pi*s) + 12 cos (5*pi*s/10) + 1 cos (2*pi*s)/19 + 0.75 cos (5*pi*s/10).
Imag( H(s) ) =11 sin (3*pi*s) + 7 cos (9*pi*vs2) + 10 sin (2*pi*s)/2 + 1.25 sin (4*pi*s/18).
I want to know if , TF( x_out / x_inp ) = H(s).
I tried this :
sys = Real( H(s) ) + i.* Imag (H(s) ).
so to compute the TF( x_out / x_inp ) i did this :
TL1 = tf ( x_inp )
TL2 = tf ( x_out).
and then :
signal = TL2 ./ TL1.
But it doesn't work.
Can anyone please, tell me how can i compute that tf and compare them to the H(s) system.
Or is there another method to see if TF( x_out / x_inp ) = H(s) ? Wether fft method or something like that.
Thank you in advance !
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!