How do I read data from just first row of the cell

조회 수: 66 (최근 30일)
Bajdar Nour
Bajdar Nour 2018년 8월 17일
답변: Adusumilli Bala Surendra 2019년 4월 24일
this is the 3x50 cell
  댓글 수: 4
Image Analyst
Image Analyst 2018년 8월 17일
madhan, no. Just try it and see
for row = 1 : 3
for col = 1 : 50
ca{row, col} = rand(1, 4);
end
end
row1 = ca(1,:) % Correct.
row1 = ca{1,:} % Incorrect.
The first way gives the entire row while the braces way gives only the first cell of the first row. See the FAQ on cell arrays.
madhan ravi
madhan ravi 2018년 8월 17일
Thank you sir @ Image analyst

댓글을 달려면 로그인하십시오.

채택된 답변

Image Analyst
Image Analyst 2018년 8월 17일
Bajdar, just specify 1 for the first index of the cell array feature_vec.
array17 = feature_vec{1, 7} % Get array contained in row 1, column 7 of the cell array.
If you want all the arrays in all the cells of row 1, then you can do:
row1 = feature_vec(1,:) % row1 is another cell array - a row vector cell array.
Here row1 is a cell array that is a row vector of 50 cells. Each of those 50 cells contains a double array. To get any particular array in a specified column, use braces. For example to get the cell in the 8th column, do
cellContents18 = row1{8}; % Contents of the 8th cell will be a double array.
If you don't understand when to use braces (to refer to contents of the cell) and parentheses (to refer to the cells themselves), then see <https://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F the FAQ on cell arrays.) Don't worry - granted, it's a very tricky and confusing thing that is hard for a lot of people to grasp.
  댓글 수: 5
Bajdar Nour
Bajdar Nour 2018년 8월 20일
I have 3 different types of images each type contains 50 images..all images have been saved in 3X50 cell array..I want to separate each of them independently and save each one as .dat file (like row1.dat , row2.dat ,row3.dat) { Hint1: each image is double array and 9 features have been calculated. Hint2:feature_vec is .mat file}
Image Analyst
Image Analyst 2018년 8월 20일
I don't see any reason to save/store all the images. Why are you doing that? Just process them in the loop and be done with that image.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Yuvaraj Venkataswamy
Yuvaraj Venkataswamy 2018년 8월 17일
편집: Yuvaraj Venkataswamy 2018년 8월 17일
if true
feature_vec{1,:}
end

Adusumilli Bala Surendra
Adusumilli Bala Surendra 2019년 4월 24일
The following can help you. Try this.
z =
1×3 cell array
{3×3 double} {3×3 double} {3×3 double}
>> z{1}
ans =
0.00315 + 0.011925i 0.0008042 + 0.0071843i 0.0008042 + 0.0061306i
0.0008042 + 0.0071843i 0.00315 + 0.011925i 0.0008042 + 0.0065829i
0.0008042 + 0.0061306i 0.0008042 + 0.0065829i 0.00315 + 0.011925i
>> z{1}(1,:)
ans =
0.00315 + 0.011925i 0.0008042 + 0.0071843i 0.0008042 + 0.0061306i

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by