Undefined function or variable in MATLAB
1 view (last 30 days)
Show older comments
I have this function saved as element.m Whenever I call on it I say element(Hydrogen) I am trying to get it to display the name, symbol, atomic number, category, ... But it keeps saying Undefined function or variable 'Hydrogen' I don't understand why its doing this.
function [Name, Symbol, Atomic_Number, Category, Proton, Neutron, Electron]=element(e)
%Inputs:
%e - 'Hydrogen' ;
%Outputs:
%Name
%Symbol
%Atomic_Number
%Category
%Proton
%Neutron
%Electron
e=[Hydrogen Helium]
if e=='Hydrogen'
Name='Hydrogen';
Symbol='H';
Atomic_Number='1';
Category='Nonmetal';
Proton='1';
Neutron='';
Electron='1';
elseif e==Helium
Name='Helium'
Symbol='H'
Atomic_Number='1'
Category='Noble Gas'
Proton='4'
Neutron='2'
Electron='4'
end
end
0 Comments
Accepted Answer
per isakson
on 19 Jul 2013
What is e=[Hydrogen Helium] intended to do?
8 Comments
per isakson
on 19 Jul 2013
You have to make a call like
[Name,Symbol,Atomic_Number,Category,Proton,Neutron,Electron]=element('Hydrogen')
More Answers (2)
Azzi Abdelmalek
on 19 Jul 2013
The variable Hydrogene is not defined in your code, how Matlab will recognize it?
2 Comments
Jason Schneider
on 19 Jul 2013
Remove
e = [Hydrogen Helium]
Use
strcmp as previously suggested.
Make sure when you call the function it is of the form:
[a b c d e f g] = element('Hydrogen')
You need to define where the rest of the output arguments will be assigned since they are internal variables to the function.
It seems this was also mentioned but the input argument needs to be a string or else Matlab will look for a variable that doesn't exist.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!