combine Input with formula

I have written the folowing function:
function [ sort1 , sort2 ] = front(x,N)
Y1=input('frontière inférieure: ','s') ;
s1=eval(Y1);
Y2=input('frontière supérieure: ','s');
s2=eval(Y2);
[Non important part of the function]
end
The idea is that the user can input either a number, or an expression (example given : y2 = (x^2-36) and y1=0
However, when I run the program, I get the folowing error:
frontière inférieure: 0
frontière supérieure: (36-x^2)
??? Error using ==> mpower
Inputs must be a scalar and a square matrix.
Error in ==> front at 6
s2=eval(Y2);
Error in ==> principal_1 at 18
[y1,y2]=front(xtab,n);
What should I use instead of Input?

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2012년 7월 26일

0 개 추천

try use
s2=eval(vectorize(Y2));

댓글 수: 1

Karel
Karel 2012년 7월 26일
It worked, but I don't understand why, could you explain pplease?

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

태그

질문:

2012년 7월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by