Answers:
我在MATLAB Central上发布了相同的问题,比尔·格林(Bill Greene)友善地提供了答案。
我简要地报告并扩展它,以使其对他人有用。
解决方案:
这是创建此类图的一种方法。假设您具有由PDE工具箱网格器创建的点矩阵p和解矢量u。下面的函数将沿着两个端点的x和y位置定义的线创建该解决方案的图。我的示例是在单位正方形上的解决方案,并且我希望沿着(0,.5)到(1,.5)线绘制图。我想在情节中包括25点。如您所见,实际工作是
TriScatteredInterp
由核心MATLAB 的功能完成的。plotAlongLine(p, u, [0,.5], [1,.5], 25); function plotAlongLine(p, u, xy1, xy2, numpts) x = linspace(xy1(1),xy2(1),numpts); y = linspace(xy1(2),xy2(2),numpts); F = TriScatteredInterp(p(1,:)', p(2,:)', u); uxy = F(x,y); figure; plot(x, uxy); //REM: x is chosen here as a curvilinear coordinate end
我想进一步说明一下,如果在网格节点上定义(如FEM近似解通常发生的情况),则前一个函数允许绘制解决方案u
或其函数。f(u)
u
如果需要绘制在网格中心定义的函数的各个部分(例如的函数grad u
),她可以预先使用从中心值函数pdeprtni
中产生节点值函数的函数。