jason
jason

Reputation: 3512

Why doesn't matlab find this function call?

So I downloaded some compiled matlab files. I see the following files in a folder.

makemesh.mexmaci64  
makemesh.mexw32  
makemesh.mexw64

I added this folder to userpath, and now the path variable shows that this folder exists in it.

I try to run a test script that came with these files, and I get this error message.

Undefined function 'makemesh' for input arguments of type 'struct'.

Now to trouble shoot, I need to find,

  1. Does it find the function, but the data type is wrong.
  2. It doesn't even find the function.

And if it is case 1.

1a. How do I find out what is the proper data structure that function expects.

I am good with python, but new to matlab, so any tips you can add regarding how to query the help string of a function, how to print out the function signature given a function name (like ?function_name in ipython interface) would be super useful.

thank you,

Upvotes: 3

Views: 955

Answers (3)

Daniel
Daniel

Reputation: 36720

computer('arch') returns glnxa64 which stands for GnuLiNuX 64bit. You have downloaded binaries for Win32bit (mexw32), Win64bit (mexw64) and IOS on Intel (mexmaci64). Either get the source files to compile it yourself or the binaries for linux.

Upvotes: 3

Tommy
Tommy

Reputation: 622

You can use the command which <functionName> to see if Matlab is seeing your function.

Have you tried help <functionName> to see if there are any useful comments on what your function is expecting?

Upvotes: 1

svastiKaThluhu
svastiKaThluhu

Reputation: 31

You can find the location of a file on your path by using the which command. For example:

which makemesh.mexw64

should print the location of that file to the terminal. If you get

'makemesh.mexmaci64' not found.

then it means that the file does not exist on your path.

As for finding out what the function wants, I'd start with "help"

help makemesh.mexw64

and see if that gives you anything useful.

I suspect that somehow or other, your matlab is not recognizing the mex file as a function, so I'd start looking there.

Upvotes: 1

Related Questions