Undefined function 'geoidtst' Error

Hi
I use Azimuth function in my project. It worked very good until this afternoon. Now, I try to run my script and I receive an error message as below:
'Undefined function 'geoidtst' for input arguments of type 'double'.'
Does every body know how I can solve this problem?
Thanks a lot
Mani

Answers (3)

Kelly Kearney
Kelly Kearney on 30 Sep 2014
Which version of Matlab are you running on each machine? And do you have the Mapping Toolbox installed on both? What does
which azimuth -all
return on each machine?
The geoidtst function was part of earlier versions of the Mapping Toolbox (it's present in the old Matlab74 copy I have), but a lot of helper functions related to reference ellipsoids and geoids and the like have been changed since then. Are you perhaps trying to use an old copy of azimuth.m with a newer copy of Matlab?

1 Comment

Kelly's guess that you may be trying to use an old copy of azimuth.m makes sense. The geoidtst function was on the MATLAB path, but never documented, through R2011b. It was used internally to validate "geoid vector" inputs. It was removed in R2012a, the same release in which reference spheroid classes were introduced. (For backward compatibility, it's still possible to use "geoid vectors", but the internal validation no longer uses geoidtst.)

Sign in to comment.

Chad Greene
Chad Greene on 28 Sep 2014
Most likely, the geoidtst function is in some folder that Matlab can't find. You can change directories to that folder, or use the addpath function to add that folder as a path where Matlab will look for geoidtst. If you can't find geoidtst, this looks like it.
Matlab will look in any path you add, until you restart Matlab. It's possible that last time when your script worked, Matlab knew to look in the right path, but as soon as Matlab closes, it forgets where to look.

2 Comments

I tried it but problem doesn't solve. I used command 'restoredefaultpath; matlabrc' to reset path of MATLAB,too. but nothing changed.
As I remember, I added new path through 'Set path' menu, but I never remove default paths in dialogue. After that my problem accures and kills my time!
Please help me to solve pitfall.
Thanks
Mani
Matlab simply can't find geoidtst. Create a file in your home folder, and call it startup.m. In that file include a line like this
addpath('filepath/ToFolder/ContainingGeoidtst')
where of course you'd have to change the file path to the actual file path you're using. Matlab will automatically add this path to the directory every time you start Matlab.

Sign in to comment.

Type this into the command window
which -all geoidtst
Also, what toolbox is it in? You forgot to list it in the Products box above. Whatever it is, do you have a license for it? Type ver to find out. What does it say when you type which and ver?

4 Comments

Mani Ahmadian
Mani Ahmadian on 29 Sep 2014
Edited: Mani Ahmadian on 29 Sep 2014
I run above command on a healthy machine and I receive this message:
>> which -all geoidtst
'geoidtst' not found.
My script runs on this machine perfectly and without this function!!!
Why it is possible?! I do not understand what happens in two machines!
Does anyone explain it for me, please?
Mani
Image Analyst
Image Analyst on 29 Sep 2014
Edited: Image Analyst on 30 Sep 2014
Evidently when you ran it on the "healthy machine" the program flow never got to where it was calling geoidtst. Set a breakpoint there and you'll see it never stops, because if it did, and the function was not on that machine, it would throw an error.
By the way, are you ever going to list above what Product/toolbox this function is in?
Its in the mapping toolbox.
Thanks - I added above.

Sign in to comment.

Categories

Products

Asked:

on 28 Sep 2014

Commented:

on 14 Oct 2014

Community Treasure Hunt

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

Start Hunting!