我是matlab的新手,目前我不知道很多事情。
我有一个脚本可以创建超过100个数字。我想将这些数字保存在3个不同的文件夹中。这是我的代码,直到现在:
pridir='C:\Users\tasos\Desktop\folder';
figtxt1='folder1';
figtxt2='folder2';
figtxt3='folder3';
yM = load('pathtomydata');
[n,m]=size(yM);
maxtau2 = 10;
alpha = 0.05;
zalpha = norminv(1-alpha/2);
p=6;
for i=1:m-1
for j=i+1:m
figure()
y1V=yM(:,i);
y2V=yM(:,j);
plot(y1V,'b')
hold on
plot(y2V,'r')
legend(sprintf('text= % d',i),sprintf('text= % d',j))
title('My Title')
printto = sprintf('%s%d\\text%d and %d.jpg',pridir,i,i,j);
print('-djpeg90',printto)
close(gcf)
end
end
如果我像这样离开我的代码,所有的数字都会创建,但它们不会保存在文件夹中。如果我从最后两行中删除“%”,则出现以下错误
Error using name (line 103)
Cannot create output file 'C:\Users\tasos\Desktop\folder1\text1 and 2.jpg'
Error in print (line 206)
pj = name( pj );
Error in test (line 25)
print('-djpeg90',printto)
P.S。我使用的是R2012b版本
答案 0 :(得分:1)
避免使用eval()
!
定义一个通用打印目录:
pridir = 'C:\Users\***\Desktop\fold';
然后在内循环内:
printto = sprintf('%s%d\\figuretext %d and %d.jpg',pridir,i,i,j);
print('-djpeg90',printto)
其中printto
类似于:
C:\Users\***\Desktop\fold1\figuretext 1 and 3.jpg
此外,您可能希望在打印后关闭该图:close(gcf)
。
注意:您要保存文件的目录应该已经存在,否则在保存任何图片之前使用mkdir()
创建它们。
答案 1 :(得分:0)
我认为matlab更改了使用2013版本编写文件夹的代码。
我改变了' XX \ YY \ ZZ.pjg' 至: ' XX / YY / ZZ.pjg'
奇怪的是,它对我有用。