how can i print all the data from a computation in one line?
이전 댓글 표시
how can i do this? ex.
"for i=1:3
end"
desired output: i=[1 2 3] or i=123
..
ex.two
" x=input('input value of x: ') %then the user will enter x=[1:5]
y=x.*2;"
desired output: y=[2 4 6 8 10] or y=246810
..
ex three
N=35
while N>=2
A=rem(N,2)
N=floor(N/2)
end
and my desired output is A=11000 or A=[1 1 0 0 0]
how could i do this?
답변 (3개)
ii=1:3
or
ii=[1:3]
댓글 수: 8
jelly
2012년 10월 5일
Image Analyst
2012년 10월 5일
Then what did you mean? Are you wanting to know how to use fprintf()?
jelly
2012년 10월 5일
Image Analyst
2012년 10월 5일
Like this:
>> N=35
N =
35
>> nBinary = dec2bin(N)
nBinary =
100011
>> nBinaryReversed = nBinary(end:-1:1)
nBinaryReversed =
110001
Thomas
2012년 10월 5일
I guess this is what u need
N=35;
count=1;
while N>=2
A(count)=rem(N,2);
N=floor(N/2);
count =count+1;
end
A
jelly
2012년 10월 6일
Walter Roberson
2012년 10월 6일
You will find that this code will not print the result on one line at some point around 2^19 to 2^24 (depending exactly how wide your command window is set to.) Instead you will get a display such as
A =
Columns 1 through 18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Columns 19 through 20
0 0
The output for A will also not have the [] that you required when there were spaces between the elements.
You can fix both of those problems by not displaying A and instead displaying
mat2str(A)
Image Analyst
2012년 10월 5일
0 개 추천
If you're going to allow the user to enter brackets and colons, then you're going to have to accept it as a string and either call eval(), or parse the string to extract out the individual numbers.
Walter Roberson
2012년 10월 5일
N=35
fprintf('%s', 'A=');
while N>=2
A=rem(N,2);
fprintf('%d', A);
N=floor(N/2);
end
fprintf('\n')
Note that your logic will fail to print the last binary digit.
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!