How to Get Vector of Integer

19 views (last 30 days)
SAMEER ahamed
SAMEER ahamed on 1 Mar 2014
Edited: 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]

Accepted Answer

Image Analyst
Image Analyst on 1 Mar 2014
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
Image Analyst
Image Analyst on 1 Mar 2014
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...
SAMEER ahamed
SAMEER ahamed on 3 Mar 2014
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.

More Answers (1)

David Kun
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')

Categories

Find more on Function Creation in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!