2013a中的Matlab Saveas错误

时间:2013-06-06 15:52:42

标签: matlab

我刚刚从2012a更新到2013a,现在当我尝试使用与2012a相同的代码将图形保存为jpg时,我遇到了一个奇怪的错误。这是代码:

h=figure;
plot(JDAYs(timesteps),y1(timesteps),JDAYs(timesteps),y2(timesteps));
legend('W2 output','RBF results')
xlabel('JDAY')
ylabel('T deg C')
title( strcat('Node ', num2str(node),' - T S',num2str(Seg),' L',num2str(Lay),', RMSE=', num2str(RMSE(node,1))))
name = strcat('time series 18 to 1000\Node ', num2str(node),' - T S',num2str(Seg),' L',num2str(Lay));
saveas(h,name, 'jpg');
close(h)

我收到此错误,即使我在当前目录中有一个名为“时间序列18到1000”的文件夹:

Error using saveas (line 115)
Invalid or missing path: time series 18 to 1000\Node1 - T S2 L3

然后我尝试保存在当前文件夹中:

name = strcat('Node ', num2str(node),' - T S',num2str(Seg),' L',num2str(Lay));

并收到此错误:

Error using name (line 103)
Cannot create output file '.\Node1 - T S2 L3.jpg'

Error in print (line 209)
pj = name( pj );

Error in saveas (line 154)
print( h, name, ['-d' dev{i}] )

此代码在2012a中有效,如果我手动保存(File->另存为),它可以正常工作。

1 个答案:

答案 0 :(得分:0)

这里使用的代码(我创建了“时间序列18到1000”文件夹),它可以在我的电脑上运行(matlab r2010a):

node = 1;
Seg = 2;
Lay = 3;
RMSE = @(x) x*4;
h=figure;
plot(rand(1,5));
legend('W2 output')
xlabel('JDAY')
ylabel('T deg C')
title( strcat('Node ', num2str(node),' - T S',num2str(Seg),' L',num2str(Lay),', RMSE=', num2str(RMSE(node))))
name = strcat('time series 18 to 1000\Node ', num2str(node),' - T S',num2str(Seg),' L',num2str(Lay),'.jpg')
saveas(h,name, 'jpg');
close(h)