How to Get Vector of Integer
17 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2014-3-1
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 个评论
Image Analyst
2014-3-1
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...
更多回答(1 个)
David Kun
2017-1-27
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Platform and License 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!