我在将 if-loop 与 plot_handles 集成时遇到了一些问题。所以我正在写的程序有这样的结构:
它有这个菜单文件,您可以在其中选择要执行的操作(这只是其中的一小部分):
case 1
plot_handles = createPlot(plot_handles);
case 2
changeWidth(plot_handles);
在情况 1 中,您将能够索引一个图形并编写绘制的函数,然后您将返回到菜单。
function plot_handles = createPlot(plot_handles)
clc
try
figureid = input('Input figure-ID: ');
func= input('Input function f(x): ','s');
figure(figureid);
h=ezplot(func);
plot_handles(figureid)=h;
catch
lasterr
error('Nonvalid function!');
end
end
回到菜单中,我输入案例 2,其中的想法是它会询问您要编辑哪个图形。一旦您选择了应该能够编辑图形线宽:
function changeWidth(plot_handles)
figureid = input('Input figure-ID: ');
h = plot_handles(figureid);
if exist(figureid)== 0 % Here's the problem, I don't know how to test if ...
% the ID is correct or not.
error('Invalid figure-ID')
else
width=input('Input new width: ');
set(h, 'linewidth', width)
end
问题是我不知道如何检查 IF 循环中的数字 ID 是否正确,在其他地方我希望将错误消息写出来。
真的很感激一些帮助!