93 views (last 30 days)

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]

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.

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...

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

Opportunities for recent engineering grads.

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

Start Hunting!
## 0 Comments

Sign in to comment.