MATLAB Answers

Simple Unit Conversion, Undefined variable Error

27 views (last 30 days)
I'm trying to write a function that should convert inch, feet, mm and cm to meters. Code is below;
function MetricWorks
x= input('Enter the Input Distance: ');
y= input('Enter the input Units(cm,mm,in,ft): ');
in=x*0.0254;
ft=x*0.3048;
cm=x*0.01;
mm=x*0.001;
switch y
case 'in'
fprintf('%0.1f inches is equal to %0.4f m \n',x,in)
case 'feet'
fprintf('%0.1f feet is equal to %0.4f m \n',x,ft)
case 'cm'
fprintf('%0.1f cm is equal to %0.4f m \n',x,cm)
case 'mm'
fprintf('%0.1f mm is equal to %0.4f m \n',x,mm)
endswitch
end
As you can guess it gives 'Undefined function or variable 'in'.' error. I don't know if there are any other possible errors after that.
Thanks in advance.

Accepted Answer

Star Strider
Star Strider on 8 Feb 2021
The ‘y’ response needs to be a string (actually, character vector):
y = input('Enter the input Units(cm,mm,in,ft): ','s');
See the input documentation section on Request Unprocessed Text Input.
  2 Comments

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!