Undefined function or method 'tf' for input arguments of type 'double'.
显示 更早的评论
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
采纳的回答
更多回答(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 个评论
Andreas Goser
2013-2-12
run
which tf -all
before executing Azzi's code to see if there are multiple or non TFs
Azzi Abdelmalek
2013-2-12
Ah, tf could belong to many toolbox. good to know and thanks Andreas.
Venkatapathi
2013-2-12
Azzi Abdelmalek
2013-2-12
Ok, What did you get after?
clear tf
a = tf([5],[0.8 1])
Undefined function or method 'tf' for input arguments of type 'double'.
This does not mean, that "tf" has been defined as a variable, because then the non-integer indexing would be the problem. The reply of "which tf -all" shows also, that "tf" is not a variable. Therefore clearing will not change the situation.
Azzi Abdelmalek
2013-2-12
编辑:Azzi Abdelmalek
2013-2-12
Exact. Then, what does mean
"C:\Program Files\MATLAB\R2007\toolbox\signal\signal\@dfilt\tf.m.
I mean, tf can be defined differently for two toolbox?
Venkatapathi
2013-2-12
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
1 个投票
but what if you have a licensed control tool box and you still get the same error
danner baron
2016-10-4
0 个投票
[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 !
类别
在 帮助中心 和 File Exchange 中查找有关 Matched Filter and Ambiguity Function 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!