Strange outputs when using disp or fprintf
이전 댓글 표시
I currently have a code with which you input 2 numbers (x and y) and two outputs should come up (th and r). I'm having some trouble getting matlab to actually display those two outputs in the command window. Although the correct values for those outputs are listed in the workspace, my code doesn't seem to be able to reproduce those two outputs. Here is the code:
prompt = 'Enter x value';
x = input(prompt)
prompt = 'Enter y value';
y = input(prompt)
r = sqrt(x.^2 + y.^2);
if x>0;
t = atan(y/x);
elseif x<0, y>0;
t = atan(y/x)+pi;
elseif x<0, y<0;
t = atan(y/x)-pi;
elseif x<0, y==0;
t = pi;
elseif x==0, y>0;
t = pi/2;
elseif x==0, y<0;
t = -pi/2;
elseif x==0, y==0;
t = 0;
end
th = rad2deg(t);
fprintf('r = %s', r);
fprintf('theta = %s degrees', th);
The "r" output value displayed in the command window, for some reason, gives me a box symbol. The "th" output value displayed in the command window gives me a "Z". I'm not sure how it is displaying these outputs, as the correct ones are in the workspace. Maybe the part of the code that is meant to print them in the command box is faulty?
Thank you.
댓글 수: 2
Steven Lord
2016년 10월 3일
In addition to what Walter said, this line of code won't do what you want.
elseif x<0, y>0;
To combine multiple conditions in an if statement you need to combine them with and or or.
Alexander Babayi
2016년 10월 3일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!