How would I use a while loop to get a certain amount of inputs from a described interval?
6 views (last 30 days)
Show older comments
The problem asks for inputs for 3 constants (a,b,c) and an x value to output y depending on the value of x.
bascially there's 3 cases and this is the code I have so far.
a=input('Please enter value a: ');
b=input('Please enter value b: ');
c=input('Please enter value c: ');
x=input('Enter argument for x: ');
if x<-1 %case 1
y=a*exp(x^3)-b*x^2+x-c
elseif -1<=x<5 %case 2
y=2*log(x)-(a*x-1)^3+c^2
elseif x>=5 %case 3
y=a*exp(-x^2)/log(x)+b/x^2-c
end
This is part of the problem description which I'm having trouble with and would appreciate any help:
Your program should use a while loop to evaluate y for scanned x in each of the above three cases. If you input x from the same interval more than twice, your program should ask you to input x from another interval, until you input x twice from each interval.
0 Comments
Accepted Answer
KSSV
on 14 Nov 2018
c1 = 0 ;
c2 = 0 ;
c3 = 0 ;
while true
a=input('Please enter value a: ');
b=input('Please enter value b: ');
c=input('Please enter value c: ');
x=input('Enter argument for x: ');
if x<-1 %case 1
c1 = c1+1 ;
y=a*exp(x^3)-b*x^2+x-c
if c1 > 2
c1 = 0 ;
fprintf('Please input x from other intervel: you entered x<-1, twice\n')
end
elseif -1<=x<5 %case 2
c2 = c2+1 ;
y=2*log(x)-(a*x-1)^3+c^2
if c2 > 2
c2 = 0 ;
fprintf('Please input x from other intervel: you entered -1<x<5, twice\n')
end
elseif x>=5 %case 3
c3 = c3+1 ;
y=a*exp(-x^2)/log(x)+b/x^2-c
if c3 > 2
c3 = 0 ;
fprintf('Please input x from other intervel: you entered x>=5, twice\n')
end
end
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!