how to concatenate in matlab?
Afficher commentaires plus anciens
A=power; load ;density;
b=_mean;_std;_max;_min;
A is a set of string in .txt file 1 and B is a set of string in .txt file 2. I need to concatenate the corresponding strings in both text files and put it in the excel sheet, such that ,i need output as,
power_mean power_std power_max power_min load_mean and so on.
It should be stored in excel in a row(1*12). its nothing like creating header or label to my values. im stuck here... help me
3 commentaires
Walter Roberson
le 12 Août 2013
How do strings "correspond" ? The 5th A corresponds to the 5th B? Or the content of one needs to be searched in the content of the other?
How are you representing the strings? As cell arrays or as arrays of characters?
Please give an example of a line from each of the files.
sandy
le 12 Août 2013
Andrei Bobrov
le 12 Août 2013
see my answer
Réponses (1)
Andrei Bobrov
le 12 Août 2013
Modifié(e) : Andrei Bobrov
le 12 Août 2013
A={'power'; 'load' ;'density'};
b={'mean';'std';'max';'min'};
[ii,jj] = ndgrid(1:numel(b),1:numel(A));
out = reshape(strcat(A(jj),{'_'},b(ii)),1,[]);
ADD
nm = {'E:\header_01.txt','E:\header_02.txt'};
c1 = cell(1,2);
for jj = 1:2
f = fopen(nm{jj});
c = textscan(f,'%s');
fclose(f);
a1 = regexp(c{:},'\w*','match');
c1{jj} = cat(1,a1{:});
end
n = cellfun('length',c1);
[ii,jj] = ndgrid(1:n(2),1:n(1));
out = reshape(strcat(c1{1}(jj),{'_'},c1{2}(ii)),1,[]);
4 commentaires
Walter Roberson
le 12 Août 2013
You can ndgrid cell arrays of strings? I never knew that!
Andrei Bobrov
le 12 Août 2013
Oh! I used Octave! Corrected. Thank you Walter!
sandy
le 12 Août 2013
Andrei Bobrov
le 12 Août 2013
I did all the corrections.
Catégories
En savoir plus sur Spreadsheets dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!