Hi,
I am new for mat-lab , how i can want to make Array List form ? below example
for int i=1:20
X = 1;
Y=2;
X1 =4;
Y2 =5;
X2 =6;
Y2 =7;
end
Output i would like to store like : matrix =[[1,2],[4,5],[6,7]];

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 17 Feb. 2014

0 Stimmen

MATLAB does not have array lists exactly like that. It has cell arrays which are similar.
matrix = {[X Y]; [X1 Y1]; [X2 Y2]}

7 Kommentare

SAMEER ahamed
SAMEER ahamed am 17 Feb. 2014
Bearbeitet: SAMEER ahamed am 17 Feb. 2014
Thanks for reply me . continuous looping values are stored in 8-by-1 matrix with comma any idea ?. below example like.
if true
% code
matrix=[[414, 313, 398, 313, 406, 293, 406, 314], [448, 317, 371, 312, 410, 293, 410, 329],
[412, 312, 397, 311, 405, 293, 405, 312], [414, 311, 395, 310, 405, 292, 405, 312],
[414, 310, 397, 310, 406, 292, 406, 312], [446, 314, 373, 309, 410, 291, 410, 326],
[448, 314, 371, 310, 410, 291, 410, 329], [412, 309, 392, 307, 402, 290, 402, 309],
[449, 313, 374, 282, 412, 289, 412, 323], [452, 311, 377, 307, 415, 288, 415, 327],
[446, 313, 370, 309, 408, 290, 408, 324]]];
end
numrow = 20;
matrix = cell(numrow, 20);
for Row = 1 : numrow
val1 = rand; val2 = rand; val3 = rand; vals = rand(5,1);
matrix{row} = [val1; val2; val3; vals];
end
Note that what you showed is a 1 x 8 rather than the 8 x 1 you indicate is required.
SAMEER ahamed
SAMEER ahamed am 17 Feb. 2014
Bearbeitet: Walter Roberson am 18 Feb. 2014
Thank's for reply me . i have tried ,but i need to store single array cell?
I got result like :
Step 1 :
left_distance_X
22
left_distance_Y
19
right_distance_X
71
right_distance_Y
19
upper_distance_X
45
upper_distance_Y
6
right_distance_Y
45
bottom_distance_Y
35
Matrix
22
19
71
19
45
6
45
35
left_distance_X
26
left_distance_Y
23
right_distance_X
72
right_distance_Y
23
upper_distance_X
47
upper_distance_Y
11
right_distance_Y
47
bottom_distance_Y
36
Matrix
26
23
72
23
47
11
47
36
how to get single like : matrix =[[ 22,19,71,19,45,6,45,35],[26,23,72,23,47,11,47,36]];
Note: For that trainee data , pattern matching using machine algorithm weka and SVM .
SAMEER ahamed
SAMEER ahamed am 18 Feb. 2014
Bearbeitet: SAMEER ahamed am 18 Feb. 2014
Thank's for reply me . please let me know how i can form like?for understanding please look at my previous forum?
if true
% code
matrix =[[ 22,19,71,19,45,6,45,35],[26,23,72,23,47,11,47,36]];
end
Walter Roberson
Walter Roberson am 18 Feb. 2014
Bearbeitet: Walter Roberson am 18 Feb. 2014
You cannot get that. MATLAB does not support [[xxx]] notation for nested lists. The closest you can get is
matrix = cell(1, 2);
step = 1;
left_distance_X = 22;
left_distance_Y = 19;
right_distance_X = 71;
right_distance_Y = 19;
upper_distance_X = 45;
upper_distance_Y = 6;
right_distance_Y = 45;
bottom_distance_Y = 35;
matrix{1, step} = [left_distance_X, left_distance_Y, right_distance_X, right_distance_Y, upper_distance_X, upper_distance_Y, right_distance_Y, bottom_distance_Y];
step = 2;
left_distance_X = 26;
left_distance_Y = 23;
right_distance_X = 72;
right_distance_Y = 23;
upper_distance_X = 47;
upper_distance_Y = 11;
right_distance_Y = 47;
bottom_distance_Y = 36;
matrix{1, step} = [left_distance_X, left_distance_Y, right_distance_X, right_distance_Y, upper_distance_X, upper_distance_Y, right_distance_Y, bottom_distance_Y];
Note: this is not what SVM would use! SVM uses 2D numeric arrays, not list-of-arrays or nested-list. For 2D numeric arrays, use
matrix = zeros(2, 8);
step = 1;
left_distance_X = 22;
left_distance_Y = 19;
right_distance_X = 71;
right_distance_Y = 19;
upper_distance_X = 45;
upper_distance_Y = 6;
right_distance_Y = 45;
bottom_distance_Y = 35;
matrix(step,:) = [left_distance_X, left_distance_Y, right_distance_X, right_distance_Y, upper_distance_X, upper_distance_Y, right_distance_Y, bottom_distance_Y];
step = 2;
left_distance_X = 26;
left_distance_Y = 23;
right_distance_X = 72;
right_distance_Y = 23;
upper_distance_X = 47;
upper_distance_Y = 11;
right_distance_Y = 47;
bottom_distance_Y = 36;
matrix(step,:) = [left_distance_X, left_distance_Y, right_distance_X, right_distance_Y, upper_distance_X, upper_distance_Y, right_distance_Y, bottom_distance_Y];
SAMEER ahamed
SAMEER ahamed am 20 Feb. 2014
Bearbeitet: SAMEER ahamed am 20 Feb. 2014
thank's for reply me , now i have got result like ?
if true
% code
for i=1:2
disp(matrix{1,i}); %here matrix{1,i}=[left_distance_X, left_distance_Y, right_distance_X, right_distance_Y, upper_distance_X, upper_distance_Y, right_distance_Y, bottom_distance_Y];
%Here result -1 like Matrix
30
23
77
23
53
8
53
35
%Here result-2 like
31
25
72
25
46
15
46
42
%Here I have tried up to int child node ,after looping of every 1-by-8 matrix
dt = datestr(now,'mm-dd-yy-HH:MM:SS.FFF-AM');
combinedStr = strcat('Hello',dt);
disp(combinedStr);
docNode = com.mathworks.xml.XMLUtils.createDocument('lipreading');
docRootNode = docNode.getDocumentElement;
thisElement = docNode.createElement('id');
thisElement.appendChild(docNode.createTextNode(combinedStr));
docRootNode.appendChild(thisElement);
matrix_thisElement = docNode.createElement('matrix');
vector_thisElement = docNode.createElement('vector');
left_int_thisElement = docNode.createElement('int');
*%Here I would like to call Looping stored each 1-by-8 matrix values*
docRootNode.appendChild(left_int_thisElement);
docRootNode.appendChild(vector_thisElement);
docRootNode.appendChild(matrix_thisElement);
xmlFileName =['tempname','.xml'];
xmlwrite(xmlFileName,docNode);
edit(xmlFileName);
end
end
*Note : I would like to write XML to form like below ?*
if true
% code
<vector>
<int>3</int>
<int>-99</int>
<int>-6</int>
<int>79</int>
<int>-195</int>
<int>11</int>
<int>197</int>
<int>8</int>
</vector>
<vector>
<int>4</int>
<int>-99</int>
<int>-5</int>
<int>79</int>
<int>-195</int>
<int>12</int>
<int>196</int>
<int>9</int>
</vector>
<vector>
end
Hi,
I am new for matlab , now i have 10 frames video file , each frame values i need to stored in xml file ?
I have Matlab Code Below like :
for i=1:10
matrix{1,i}=[leftx,lefty,rightx,righty,uppertx,uppery,bottomx,bottomy];%1-by-8 matrix
end
Below format i want to stored values please let me know how i can format like ?
example :
<reading>
<id>id1</id>
<matrix class="vector">
<vector>
<int>2</int>
<int>1</int>
<int>44</int>
<int>45</int>
<int>42</int>
<int>24</int>
<int>14</int>
<int>84</int>
</vector>
<vector>
<int>7</int>
<int>31</int>
<int>674</int>
<int>455</int>
<int>2</int>
<int>24</int>
<int>4</int>
<int>84</int>
</vector>
</matrix>
</reading>

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by