42 views (last 30 days)

Show older comments

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!

Wayne King
on 7 Oct 2011

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.

Tilen Visnjevec
on 15 Jul 2017

Hello did you find a solution to this, it just happens that I ran into the same problem.

Wayne King
on 7 Oct 2011

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.

Wayne King
on 7 Oct 2011

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?

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

Start Hunting!