MATLAB Answers

Create loop for reading CSV file, runing and saveing the plot of it

1 view (last 30 days)
Masoud Taleb
Masoud Taleb on 23 Aug 2021
Commented: dpb on 23 Aug 2021
Hello
I have a code that works for a single CSV file and saves the plot at the end. Now, I have 300 of these CSV files and need to speed up my work. The problem is that file names are a little bit complecated and I need the plot to be still saved with similar name as its original CSV file. I hope someone can help me in this. So, in summert the question is how to make a loop for runing files and save resulting plot with a specific name (such as its CSV file name or other distingushed name)?
I put my code here:
[file,path] = uigetfile('*.*');
A = readmatrix([path file]);
theta = A(2:end, 1);
phi = A(1, 2:end);
data = A(2:end,2:end);
data = max(data,0);
[x,y]= meshgrid(theta,phi);
y=cos(phi).*theta;
x=sin(phi).*theta;
figure; pcolor(x,y,data);axis equal;shading flat
colormap(hot)
saveas(gcf,'AR3_20.0 um.png')

Answers (1)

dpb
dpb on 23 Aug 2021
There's also a fancy thing called a "tabular text datastore" that is a container for the dir() solution in the above link.
  2 Comments
dpb
dpb on 23 Aug 2021
Use dir() to return the list of files with an appropriate wildcard for the filename and then iterate over the number returned as the example shows.
Just start by pulling the pieces of the example and making them fit your variables -- it's not as complicated as it seems but you have to "just begin"...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!