Reading variable from Tabulated data

2 ビュー (過去 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 Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by