- plot() is a built-in function so you should not name your own function as plot.
- It is better to have an input argument specify the folder so you can use it to apply to many folders.
- When load or save, it's always better to specify the full path of the file.
- When you try to get the file name, you need to get rid of the .txt extension.
- close() needs to specify the figure handle.
Function
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I'd like to be able to apply this function loads,plots and saves figure data from a text file, to every file in a directory, such that when I type FunctionName(some directory), the function forks...
this is my code:
function plot;
files = dir('*.txt');
for i=1:length(files)
data = load(files(i).name);
filename=[files(i).name];
plot(data);
saveas(h,filename,'fig');
close;
end
end
0 Commenti
Risposta accettata
Fangjun Jiang
il 9 Nov 2011
function MyPlot(PathStr)
files = dir(fullfile(PathStr,'*.txt'));
for i=1:length(files)
data = load(fullfile(PathStr,files(i).name));
filename=strrep(files(i).name,'.txt','');
f=figure;
plot(f,data);
saveas(h,fullfile(PathStr,[filename,'.fig']));
close(f);
end
4 Commenti
Più risposte (1)
Daniel Shub
il 9 Nov 2011
What problems are you having. the code looks pretty close. You don't define h, so I just replaced it with gcf (the current figure). Your function didn't take in the directory name like you need (or make use of the directory name).
function FunctionName(DirectoryName)
cd(DirectoryName)
files = dir('*.txt');
for i=1:length(files)
data = load(files(i).name);
filename=[files(i).name];
plot(data);
saveas(gcf,filename,'fig');
close;
end
end
Vedere anche
Categorie
Scopri di più su Environment and Settings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!