How to Get Vector of Integer
19 views (last 30 days)
Show older comments
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]
0 Comments
Accepted Answer
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
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...
More Answers (1)
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
See Also
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!