how can I process several files

Helloe everyone,
please, how can I process all data using loop to avoid repeat text and also to plot all of their figures (2D and 3D)?
the code I use:

 Accepted Answer

VBBV
VBBV on 19 Jul 2023
Edited: VBBV on 19 Jul 2023
You can use a for loop
tiledlayout('flow')
for k = 1 : 7
D = sprintf('PIVlab_%1d.mat',k)
hResult = surfheight(D,h0,H,n,[X0 Y0],'verbose','mask','nosetzero');
nexttile
imagesc(hResult.x,hResult.y,hResult.w)
end
D = 'PIVlab_1.mat'
D = 'PIVlab_2.mat'
D = 'PIVlab_3.mat'
D = 'PIVlab_4.mat'
D = 'PIVlab_5.mat'
D = 'PIVlab_6.mat'
D = 'PIVlab_7.mat'

4 Comments

thank you VBBV.
the data processing is working but all figures are in one figure (as below) and I want to generate each figure (2D and 3D) separately (at the lower page) as written in the code posted before.
here are the figures I want to plot (2D and 3D) separately as written in the code posted before
VBBV
VBBV on 19 Jul 2023
Edited: VBBV on 19 Jul 2023
Ok, if you want to generate figures separately for 2D & 3D then, you can use for loop counter in figure function
for k = 1 : 7
D = sprintf('PIVlab_%1d.mat',k)
hResult = surfheight(D,h0,H,n,[X0 Y0],'verbose','mask','nosetzero');
figure(k);
imagesc(hResult.x,hResult.y,hResult.w);
cmap1 = colormap('jet');
c1 = colorbar;
figure(k+1);
surf(X,Y,hResult.w.','FaceAlpha',1,'EdgeColor','interp')
cmap2 = colormap('jet');
c2 = colorbar;
end
thank you VBBV.
there is an error when I run the code, see below:
But I tried to modify a little bit the code (that you sent and mine) and now it works.
Thank you very much VBBV for your help and effort. see below the final working code:

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!