回答:
私は上の同じ質問を投稿中央MATLAB、およびビル・グリーンは親切に提供さ答えを。
他の人にも役立つように、簡単に報告して拡張します。
ビルによるソリューション:
このようなプロットを作成する1つの方法を次に示します。PDE Toolboxメッシャーpと解ベクトルuによって作成された点行列があると仮定します。以下の関数は、2つの端点の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
を生成する関数を使用できます。