Undefined function 'physconst' for input arguments of type 'char'. error

2 views (last 30 days)
I keep getting the above error when using this statement
dopp_mach = 2*spd_pro*freq_radar/physconst('LightSpeed');
I read through all the help suggestions but to no avail
when I type help for physconst the documentation shows up
any thoughts on what's happening ?
  3 Comments
Nick Albertson
Nick Albertson on 25 Jan 2016
I am having this same issue, and I definitely have a license for the phased array toolbox. I used the "ver" command to see which licenses I have, and it shows "Phased Array System Toolbox Version 3.1" (I have Matlab R2015b). I also tried "which physconst -all" and was returned this:
"C:\Program Files\MATLAB\R2015b\toolbox\phased\phased\physconst.m % Has no license available"
What does this mean? Is part of the phased array toolbox missing or something? Thank you for your help.
Honglei Chen
Honglei Chen on 25 Jan 2016
Hi Nick, I would suggest you contacting MathWorks technical support to resolve this issue. If you are in a network installation environment, you may also want to contact the system administrator.

Sign in to comment.

Accepted Answer

Honglei Chen
Honglei Chen on 26 Nov 2014
physconst requires Phased Array System Toolbox. You can do a
ver
in command line to check if you have license for that product.
  2 Comments
Philip
Philip on 26 Nov 2014
Thanks, I had phase array on one version and did not have it on another and the version that had phase array did not produce this error. The documentation does not mention this requirement. It should.
John D'Errico
John D'Errico on 26 Nov 2014
Edited: John D'Errico on 26 Nov 2014
Philip - What documentation should state that requirement? Since phyconst is contained in that toolbox, it does not need such a statement.
In order to use ANY toolbox, you need a license for the toolbox. That seems pretty logical to me. And if you already have that toolbox, the documentation of the indicated toolbox should not tell you that you need something you already own.
Perhaps you are suggesting that MATLAB should be intelligent enough to suggest that you needed a specific toolbox to perform some operation. While this seems logical at first, suppose I try to perform some operation like
qwerty(x)
(I've just picked a random and very arbitrary name there.) MATLAB first checks to see if qwerty is the name of a variable in your workspace. If not, then it looks on the MATLAB search path for a function of that name. If both of these operations fail, then it would return an error, telling you that qwerty is an undefined function for input arguments of the indicated type.
But just suppose that qwerty was actually a function in some rare (and expensive) toolbox? Perhaps the keyboard operations toolbox, lol? Should MATLAB tell you that you need to buy that toolbox? Suppose that it turns out you just misspelled the name of some variable? Surely you don't want to be convinced you need to buy some unnecessary toolbox because of a typo on your part?
In the case at hand, MATLAB told you it could not find anything called phyconst for inputs of the class as you have called it. That should be the hint you need. What are you trying to do, and do you have the tools you need to do that operation?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!