Undefined function or method 'tf' for input arguments of type 'double'.
196 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Jan
2013-2-12
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 个评论
lounis chehrit
2021-6-8
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
2021-6-8
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.
更多回答(3 个)
Azzi Abdelmalek
2013-2-12
编辑:Azzi Abdelmalek
2013-2-12
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 个评论
Jan
2013-2-12
@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
2013-3-14
but what if you have a licensed control tool box and you still get the same error
0 个评论
danner baron
2016-10-4
[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 个评论
lounis chehrit
2021-6-8
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 !
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!