fprintf- I dont want to print one result.
3 次查看(过去 30 天)
显示 更早的评论
This is my code. I want that when the person put the value 0, the message print ONLY "Negative,has not being infected". But instance it give also the hour of being infected.
x= input ('Enter x: '); %Degree of reaction to the virus from a blood test.
if x==0
disp ('Negative, has not being infected.')
N=0;
elseif x<=11
N= 3*x + 36;
elseif x > 11 && x<=33
N= x*x - 10;
elseif x > 33 && x<=64
N= x-6;
end
fprintf('\n%g hours of being infected.\n',N)
0 个评论
采纳的回答
Jesus Sanchez
2019-12-15
clear
clc
x= input ('Enter x: '); %Degree of reaction to the virus from a blood test.
showHours = 1;
if x==0
disp ('Negative, has not being infected.')
N=0;
showHours = 0;
elseif x<=11
N= 3*x + 36;
elseif x > 11 && x<=33
N= x*x - 10;
elseif x > 33 && x<=64
N= x-6;
end
if showHours
fprintf('\n%g hours of being infected.\n',N)
end
5 个评论
dpb
2019-12-15
编辑:dpb
2019-12-15
Another way to recast...
x= input ('Enter x: '); %Degree of reaction to the virus from a blood test.
if x<=0
disp ('Test negative, subject has not been infected.')
N=0;
return
end
% set polynomial coefficeints by regime
if x<=11, b=[0 3 36]; end % 3t+36
elseif x>11 & x<=33, b=[1 0 -10]; end % t^2-10
elseif x>33 & x<=64, b=[0 1 -6]; end % t-6
else error("Reaction >64 beyond correlation range"), end
N=polyval(b,x); % evaluate poly for x
fprintf('\nSubject %g hours of being infected.\n',N)
But, there's something funky in the correlation as given--it's grossly discontinuous...
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/254546/image.jpeg)
更多回答(1 个)
dpb
2019-12-15
A number of ways...one would be to include the fprintf statement in an if....end clause itself on value of N (or x).
Another would be to exit inside the x==0 clause since there's nothing else to be done.
Yet another would be to place all the elseif clauses inside an else on what would then become the outer if...else...end construct.
It's unfortunate TMW didn't implement range expressions in switch; it would be more elegant imo...
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!