# Simple Unit Conversion, Undefined variable Error

27 views (last 30 days)
Ferhat Bastug on 8 Feb 2021
Commented: Star Strider on 8 Feb 2021
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.

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 CommentsShowHide 1 older comment
Star Strider on 8 Feb 2021
As always, my pleasure!

### Community Treasure Hunt

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

Start Hunting!