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?

Réponses (3)

Thomas
Thomas le 5 Oct 2012
Modifié(e) : Thomas le 5 Oct 2012
ii=1:3
or
ii=[1:3]

8 commentaires

thats not what i meant, i just made a simple example because im going to use this code for a more complicated one.
Then what did you mean? Are you wanting to know how to use fprintf()?
like this..
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]
Like this:
>> N=35
N =
35
>> nBinary = dec2bin(N)
nBinary =
100011
>> nBinaryReversed = nBinary(end:-1:1)
nBinaryReversed =
110001
jelly
jelly le 5 Oct 2012
Modifié(e) : jelly le 5 Oct 2012
ughhh, you just dont get me, haha, well any way, thanks for bothering to answer :).
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
Hey tom, yes this is really what i need, finally someone get what i mean, HAHA, thankyou for spending time understanding my problem, thanks bro.
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)

Connectez-vous pour commenter.

Image Analyst
Image Analyst le 5 Oct 2012
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.
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.

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Tags

Aucun tag saisi pour le moment.

Question posée :

le 5 Oct 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by