Give name from string array

I would like to give the name in the 'tiles' array to every loop of the AHN2 matrix. So the first loop should result in a matrix in which AHN2 = r02cn1, then the second would be called r02gz2 and so on. I don't know how to do this, any help would be
close all
clear all
tiles = {'r02cn1', 'r02gz2', 'r02hz1', 'r07dn1', 'r07dz1'};
for v = 1:length(tiles)
fileAHN2_05m = ['Geconverteerde data/ahn2/ahn2_05_ruw/' ...
char(tiles(v)), '/' char(tiles(v)), '.tif'];
[AHN2, R_AHN2] = geotiffread(fileAHN2_05m);
tiles{v} = AHN2;
end

 Risposta accettata

Adam
Adam il 16 Set 2015
Make AHN2 into a struct with 'tiles' as its fields e.g.
[AHN2.( tiles{i} ), R_AHN2] = geotiffread(fileAHN2_05m);
That might not work exactly as I haven't tested the syntax in Matlab, but something like that should work, using dynamic field names on a struct.

3 Commenti

Niek Bossers
Niek Bossers il 16 Set 2015
Alright this works, but how do I extract them from AHN2 then? I'm sorry but I'm kind of new to Matlab. Thanks for your answer!
Just access them in the same way as e.g.:
AHN2.( tiles{3} )
or specifically as
AHN2.r02gz2
Niek Bossers
Niek Bossers il 16 Set 2015
Thank you so much!

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by