How to insert fieldname character type into struct type?

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Rik
Rik il 19 Nov 2018
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

Accedi per commentare.

Risposta accettata

per isakson
per isakson il 19 Nov 2018
Modificato: per isakson il 19 Nov 2018
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

Più risposte (0)

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by