How do i write this script in anonymous function

disp('This program convert Celsius to Fahrenheit');
val = input('Type 1 for Celcius to Farenheit and Type 2 for vice versa: ');
switch val
case 1
Celsius=input('Write a temperature in Celsius and you''ll have the result in Fahrenheit: ');
disp([ 'x = ' num2str(Celsius) ' Celcius and y = ' num2str(Celsius*1.8+32) ' Fahrenheit']);
case 2
Faren=input('Write a temperature in Farenheit and you''ll have the result in Celcius: ');
disp([ 'x = ' num2str(Faren) ' Fahrenheit and y = ' num2str((Faren-32)/1.8) ' Celcius ' ]);
end

댓글 수: 2

What do you want exactly? I think you don't need an anonymous function for this simple script
Guillaume
Guillaume 2019년 3월 8일
편집: Guillaume 2019년 3월 8일
An explanation of this odd request is indeed needed. Why does it need to be an anonymous function? Why can't it be a normal function or a local function or a nested function?
Bearing in mind that strictly speaking, it's impossible to convert this script into an anonymous function since anonymous functions in matlab can only consist of a single non-branching, non-assigning statement.

댓글을 달려면 로그인하십시오.

답변 (1개)

Omer Yasin Birey
Omer Yasin Birey 2019년 3월 8일
편집: Omer Yasin Birey 2019년 3월 8일

0 개 추천

Hi Jaeyoung, as Alex said you probably don't need anonymous function for this script and it won't make the code much shorter. But you can use this one below.
disp('Type 1 for Celcius to Fahrenheit, Type 2 for vice versa');
x = inputdlg({'Celcius or Fahrenheit','Temperature'},...
'Converter',[1 60; 1 35]);
converter = {@(celcius) num2str(celcius*1.8+32);
@(fahren) num2str((fahren-32)/1.8);
};
converter{str2num(x{1})}(str2num(x{2}))

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

태그

질문:

2019년 3월 7일

편집:

2019년 3월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by