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

 Accepted Answer

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 Comments

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
Thank you so much!

Sign in to comment.

More Answers (0)

Categories

Asked:

on 16 Sep 2015

Commented:

on 16 Sep 2015

Community Treasure Hunt

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

Start Hunting!