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 で Simulink についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!