MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# how can i print all the data from a computation in one line?

Asked by jelly on 5 Oct 2012

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?

## 1 Comment

Walter Roberson on 6 Oct 2012

## Products

No products are associated with this question.

Answer by Thomas on 5 Oct 2012
Edited by Thomas on 5 Oct 2012
` ii=1:3`

or

` ii=[1:3]`

Thomas on 5 Oct 2012

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 on 6 Oct 2012

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.

Walter Roberson on 6 Oct 2012

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)
```
Answer by Image Analyst on 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.

Answer by Walter Roberson on 5 Oct 2012
```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.