MATLAB Answers

0

How to Get Vector of Integer

Asked by SAMEER ahamed on 1 Mar 2014
Latest activity Edited by Walter Roberson
on 27 Jan 2017
Hi,
I am new for matlab , can any one let me know how i can form vector of Integer with Comma .
Example :
for int i =1:2
matrix=[coordinate_x;ordinate_y;ordinate_z;ordinate_xx;ordinate_xy;ordinate_yy;ordinate_zx;ordinate_zy;];
%1-by-8 matrix
disp(matrix(:));
end
Result is of Matix is
29
45
140
45
82
12
82
80
39
65
40
75
92
02
32
80
Note 1 : I would like to form like matrix =[29,45,140,45,82,12,82,80] [39,65,40,75,92,02,32,80]

  0 Comments

Sign in to comment.

Tags

No tags entered yet.

2 Answers

Answer by Image Analyst
on 1 Mar 2014
 Accepted Answer

Commas add columns within the same row. Semicolons add another row:
matrix =[29,45,140,45,82,12,82,8; 39,65,40,75,92,02,32,80]
matrix will be a two row matrix. The second row starts after the semicolon.

  6 Comments

Thank's for reply me , now i have got each column with comma , now i want to add [] . example :
if true
% code
outputString = sprintf('%d, ', matrix);
>> disp(outputString)
29, 45, 140, 45, 82, 12, 82, 8, %How to remove last column 8 comma ? also in between arrange [] array.
end
outputString1 = sprintf('%d, ', matrix(1,:));
outputString2 = sprintf('%d, ', matrix(2,:));
outputString = sprintf('[%s] [%s]', outputString1, outputString2);
Seems like a weird thing to want to do, but whatever...
Thank you so much reply to me ...Now I got below result like .
Example :
disp(outputString);
outputString =[1, 2, 3, 4, 5, 6, 7, 8, ][1, 2, 3, 4, 5, 6, 7, 8, ];
*Note-1 : May i know how i can remove comma after 8 .
Note-2 : I would like to get like outputString =[1, 2, 3, 4, 5, 6, 7, 8][1, 2, 3, 4, 5, 6, 7, 8];*

Sign in to comment.


Answer by David Kun on 27 Jan 2017

I ran into the same problem. Here's a code snippet on how I solved it.
matrix =[29,45,140,45,82,12,82,8; 39,65,40,75,92,02,32,80]
[r,c] = size(matrix);
sprintf([ '[' [repmat('%d,', 1, c-1) repmat('%d', 1, 1)] ']'], matrix')
The output is
[29,45,140,45,82,12,82,8][39,65,40,75,92,2,32,80]
Note, there's no semicolon after the sprintf statement; this emits the output to the console. The first argument in the sprintf() is creating a format string to print the values of each row of the matrix. If c=2, then the format string '[%d, %d]' is created. If you need carriage returns in between each row, you can do the following.
sprintf([ '[' [repmat('%d,', 1, c-1) repmat('%d', 1, 1)] ']\n'], matrix')

  0 Comments

Sign in to comment.