how can I process several files

6 Ansichten (letzte 30 Tage)
Mostafa Elsayed
Mostafa Elsayed am 19 Jul. 2023
Kommentiert: Mostafa Elsayed am 19 Jul. 2023
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:

Akzeptierte Antwort

VBBV
VBBV am 19 Jul. 2023
Bearbeitet: VBBV am 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 Kommentare
VBBV
VBBV am 19 Jul. 2023
Bearbeitet: VBBV am 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
Mostafa Elsayed
Mostafa Elsayed am 19 Jul. 2023
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:

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Block Libraries finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by