我一直在尝试在MATLAB中编写一个简单的脚本来绘制图像,询问用户是否要将其打印到文件中,并且(如果是)执行此操作。但是,我遇到了print()
函数的奇怪错误。这是我的代码:
plot(X, Y, 'red');
choice = input('Do you want to print to file this 2D image ? [y/n] ', 'y');
if(choice=='Y' || choice=='y')
{
print(hFig, '-dpng', strcat(filename, '.png'));
}
如果正在运行,它将在if
语句内停止并显示错误:
==>中的错误打印在161 err.message ='';
???输出参数“varargout”(可能还有其他)在期间未分配 请致电“C:\ Programmi \ MATLAB \ R2010a \ toolbox \ matlab \ graphics \ print.m> print”。
==>中的错误istogramma at 30 print(hFig,' - dpng',strcat(filename,'。png'));
为什么我会收到此错误,如何避免此错误?
答案 0 :(得分:4)
if
代码与{
和}
似乎很奇怪,在MATLAB中{
和}
用于单元格数组和单元格数组索引,而不是代码结构。此外,input
的第二个参数必须是's'
,而不是'y'
。
固定代码:
choice = input('Do you want to print to file this 2D image ? [y/n] ', 's');
if(choice=='Y' || choice=='y')
print(hFig, '-dpng', strcat(filename, '.png'));
end
编辑继续询问,直到用户回答'y','Y','n'或'N':
choice = '';
while ~ismember(choice, {'y', 'Y', 'n', 'N'})
choice = input('Do you want to print to file this 2D image ? [y/n] ', 's');
end
if(choice=='Y' || choice=='y')
print(hFig, '-dpng', strcat(filename, '.png'));
end
答案 1 :(得分:0)
太混乱了!因为print命令没有任何输出参数!!!
我不清楚,但我认为首先检查hFig任务。你可以用
hFig=figure;
plot(X, Y, 'red');
% ...
如果你想创建一个图形并在其中绘制任何你想要的东西。 因为错误说你的输出参数没有分配所以检查“文件名”或你可以使用
[filename '.png']
代替。
我希望这对你有所帮助。现在我没有MATLAB,我不能为你测试它。