how can I process several files

5 visualizaciones (últimos 30 días)
Mostafa Elsayed
Mostafa Elsayed el 19 de Jul. de 2023
Comentada: Mostafa Elsayed el 19 de Jul. de 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:

Respuesta aceptada

VBBV
VBBV el 19 de Jul. de 2023
Editada: VBBV el 19 de Jul. de 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 comentarios
VBBV
VBBV el 19 de Jul. de 2023
Editada: VBBV el 19 de Jul. de 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 el 19 de Jul. de 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:

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Block Libraries en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by