I need help using the "extract" function in Matlab

조회 수: 23 (최근 30일)
jj
jj 2011년 10월 7일
댓글: Tilen Visnjevec 2017년 7월 15일
Hi everyone,
I am currently building a code, which is modified from another freeshare code available online. However, I am unclear how the "extract" function in Matlab works. I have looked through the help menu and searched using Google as well. However, I haven't been able to get much help.
Currently, the extract function used in the code looks like this:
[F0,Lf0]=extract(x,nf);
I keep getting the error: ??? Undefined function or method 'extract' for input arguments of type 'double'. whenever I try to run the entire code.
The help menu offers me an explanation on the extract function. However, the extract function in the help menu appears to have an extra parameter added. (i.e. [outmatrix, freq] = extract (h,outtype,z0). It explains that: outtype can be one of these case-insensitive strings 'ABCD_parameters', 'S_parameters', 'Y_parameters', 'Z_parameters', 'H_parameters', 'G_parameters', or 'T_parameters'. z0 is the reference impedance for the S-parameters. The default is 50 ohms.
As such, I'm somewhat convinced the original code (which has been around for some time) is missing a parameter that doesn't allow it to run on newer Matlab versions. But, I am not entirely sure since I'm unsure what z0/reference impedance means in this function.
Would appreciate any help on this, or just any links to website that provides an explanation/example on how to use the "extract" function.
Thanks!
  댓글 수: 1
Nicolas
Nicolas 2012년 7월 8일
I am also using the same code and i have the same problem.. have u fixed it

댓글을 달려면 로그인하십시오.

채택된 답변

Wayne King
Wayne King 2011년 10월 7일
See, that means that you do not have the extract() you think you have on your path. Enter
>>path
and then see if the folder where you saved your extract.m file is listed or not, it should be at the top if you added it.
If you don't find it, then let's assume that you put extract.m in
c:\myfunctions
Then enter
>>addpath 'c:\myfunctions'
or start pathtool
>>pathtool
and make sure that you add the folder AND make sure that extract.m is ahead (above)
C:\Program Files\MATLAB\R2010b\toolbox\rf\rf\@rfckt\extract.m % rfckt method
When you enter
>>which extract
and see the path to the extract.m you want to use and NOT the rf version. Then you are ready to use it.
  댓글 수: 2
jj
jj 2011년 10월 8일
Many thanks! That solves the problem. But, I'm running into another problem.
It comes up with another error that says:
??? Undefined function or method 'cols' for input arguments of type 'double'.
Error in ==> irfbootfac2step at 55
Fb0 = companion(b0(2:end,:)',lags,cols(e0));
Error in ==> favarpcbootni at 50
[FYresp,Xresp]=irfbootfac2step(Y,lags,X,xindex,slowindex,K,shock,nsteps-1,nrep1,nrep2); % nsteps x equations x error bands
Cols appeared in:
Fb0 = companion(b0(2:end,:)',lags,cols(e0));
I tried using the same method to trouble shoot. But, it seems like cols isn't a function within Matlab? But, I've seen many codes using cols. So, I'm getting a little confused, because this don't seem to be a file that I've.
Apologies that I'm asking that many questions. This code seems much harder and longer to decipher than I initially thought.
Tilen Visnjevec
Tilen Visnjevec 2017년 7월 15일
Hello did you find a solution to this, it just happens that I ran into the same problem.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Wayne King
Wayne King 2011년 10월 7일
It looks like from the error you are reporting that MATLAB is not able to find the function.
Did you add the folder that the function lives in to the MATLAB search path?
If you enter:
which extract
What is returned?
Use addpath() or pathtool and make sure you add all the folders you need to run the code you have downloaded.
  댓글 수: 1
jj
jj 2011년 10월 7일
Hi,
Thanks for answering. I do have all my codes in the same folder. So, that isn't the problem. The 'extract' function is actually in Matlab as I was able to get some help from the help menu. From what it seems, my extract function seems to be missing a parameter according to the help menu. Unfortunately, I do not know this "extract" function well enough to be able to spot the mistake. Hence, I would appreciate if anyone could help me with it, or refer me to somewhere with examples of 'extract' being used. It seems to be missing the z0 parameter, but I've no idea what it means by a reference impedence, according to the help menu.
Many thanks!

댓글을 달려면 로그인하십시오.


Wayne King
Wayne King 2011년 10월 7일
I'm confused because your tags imply that your use case is an econometrics application, but the extract() help you cite is from a method in the RF Toolbox.
That extract() method expects that the input,h, is a rfckt, rfdata.data or rfdata.network object.
Is this really your application?
  댓글 수: 5
Wayne King
Wayne King 2011년 10월 7일
Why are you not answering the question I asked you?
"Please tell us what
>>which extract
returns. Copy and paste the answer from the MATLAB command window."
jj
jj 2011년 10월 7일
Oops sorry! Totally misunderstood your question.
It returned the following:
C:\Program Files\MATLAB\R2010b\toolbox\rf\rf\@rfckt\extract.m % rfckt method

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Resampling Techniques에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by