我想使用Matlab PDE工具箱仅使用系统的命令窗口来解决PDE问题。我可以创建问题并运行解算器,但是PDE工具箱窗口会弹出并提出问题(例如,“您要保存未保存的文档吗?”)。
如何避免这些弹出窗口或如何在不打开窗口的情况下使用PDE工具箱?
我正在使用以下代码。当我在第一行调用pdeinit
函数时会弹出窗口。
[pde_fig,ax]=pdeinit;
set(ax,'XLim',[-0.1 0.2]);
set(ax,'YLim',[-0.1 0.2]);
set(ax,'XTickMode','auto');
set(ax,'YTickMode','auto');
% Geometry description:
pderect([0 0.05 0.05 0],'R1');
pderect([0 0.1 0 0.1],'R2');
set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R2-R1');
...
答案 0 :(得分:2)
pdeinit
的帮助很短:“从脚本启动PDETOOL。” pdetool
与MathWorks中的大多数*tool
个M文件一样,是一个GUI,它的帮助/文档表明了这一点。
我很困惑,因为pdeinit
不仅打开了一个数字窗口,而且还使用它来返回该数字的图形和轴的句柄。然后你的代码继续操纵那些句柄。如果没有先创建和打开图形,就无法获得这些手柄。问题是你只想要一个普通的数字窗口吗?如果是,那么您可以将[pde_fig,ax]=pdeinit;
替换为:
pde_fig = figure;
ax = gca;
您可以在命令窗口中查看pdeinit
:edit pdeinit
的代码。您会看到它所做的只是打开pdetool
(除非它已经打开)并返回结果图和轴的句柄。
此外,pderect
会自行打开pdetool
。您正在使用一系列与PDE app绑定的函数。 MathWorks网站上的许多教程和示例都使用了这个。您可以查看有关如何solve PDEs programmatically的文章。 examples也可能会有所帮助。