필터 지우기
필터 지우기

Reading variable from Tabulated data

조회 수: 3 (최근 30일)
Abhishek Savita
Abhishek Savita 2017년 12월 21일
댓글: Abhishek Savita 2017년 12월 21일
Hi folks, I have file.mat in which variable arrange in tabulated as shown below
whos data
Name Size Bytes Class Attributes
data 326211x13 29364045 table
I have extract following variables from the table as
year = data{:,1}; %year 326211x1 2609688 double
lat = data{:,2}; %lat 326211x1 2609688 double
lon = data{:,3}; %lon 326211x1 2609688 double
OHC= data{:,7}; %OHC 326211x1 2609688 double
exp_seq_name = data{:,11}; %Experiment sequential number %326211x1 2609688 double
exp_name = data{:,12}; %exp_name 326211x1 327477 categorical
exp_all=categories(exp_name);
exp_all =
8×1 cell array
{'PB100_SG011BCT_SG011XBT'}
{'PB100_SG011BCT_SG021XBT'}
{'PB100_SG011BCT_SG040XBT'}
{'PB100_SG011BCT_SG033XBT'}
{'PB100_SG011BCT_SG060XBT'}
{'PB100_SG011BCT_SG054XBT'}
{'PB100_SG030BCT_SG021XBT'}
{'PB200_SG110BCT_SG121XBT'}
Where years are from (1950-2009)
Now i want to save a variable OHC in my new variable ohc_map_raw I have done in following way but every time I am getting same values for all experiment
[xx,yy] = meshgrid(unique(lon),unique(lat));
% xbt, year, lat, lon
ohc_map_raw= NaN(7,60,27,72);
ohc = xx*NaN;
time = 1950:1:2009;
%
for i = 1:size(exp_all,1)
dummy = find (exp_seq_name == i);
index_exp{i} = dummy;
% loop years
for j=1:length(time)
i_year = find(year(index_exp{i}) == time(j));
disp([num2str(i),' ',num2str(j),' ',num2str(time(j))])
% loop index
for k =1:length(i_year)
[ii,jj] = find( xx == lon(i_year(k)) & yy == lat(i_year(k)));
%disp([num2str(k),' ', num2str(length(i_year))])
ohc(ii,jj) = OHC(i_year(k));
end
ohc_map_raw(i,j,:,:) = ohc;
end
end
I have tried many times but unable to find out my mistake; Could some body help me on this;
Thanking in advance
  댓글 수: 2
Image Analyst
Image Analyst 2017년 12월 21일
편집: Image Analyst 2017년 12월 21일
You forgot to attach file.mat. It's often easier to answer people's questions if we can actually run their code. Give us everything we'd need to execute your code. Read this
And time and year are built-in functions so don't use those names for your variable names.
Abhishek Savita
Abhishek Savita 2017년 12월 21일
Sorry, I am trying to attach my file but it has size more than 5 MB. When i compressed it, the size is still same. how can i attach it. We have any other alternative to attach file more than 5 MB.

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

답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by