How to insert fieldname character type into struct type?
    4 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello,
This is my code:
load('Cal_Lags.mat'); %
% there are 4 treatments. Treatment 1 consists of 30 subjects.
fn = fieldnames(Cal_Lags.Treatment1); 
...
% I want to replace "Pig158320817" with data in fn    
output = zIO_treatment1.Lag158320817(:,1) ...
       + mIO_treatment1.Lag158320817(1)   ; 
fn is a vector of 30 x 1 cell. I select the first cell with k = fn{1, 1}. Now k is character-type. I want to make a forloop to immediately calculate the output for all 30 subjects, using the 'character' in fn, the problem is I can't seemed to incorporate fn{1,1} and select the first column...
Thank you.
1 件のコメント
  Rik
      
      
 2018 年 11 月 19 日
				You mean like this?
output=0;
for n=1:numel(fn)
    temp=zIO_treatment1.(fn{n});
    output=output+temp(:,1);
    temp=mIO_treatment1.(fn{n});
    output=output+temp(1);
end
採用された回答
  per isakson
      
      
 2018 年 11 月 19 日
        
      編集済み: per isakson
      
      
 2018 年 11 月 19 日
  
      A tiny experiment
>> s.f = {1,2,3,4,5,6,7};
>> name = 'f';
>> s.(name)(6)
ans =
  1×1 cell array
    {[6]}
>> 
I'm guessing. Try something like this
len = length( fn );
output = cell( len, 1 );
for jj = 1 : len
    output{jj} = zIO_treatment1.(fn{jj})(:,1) ...
               + mIO_treatment1.(fn{jj})(1)   ; 
end
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Structures についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


