Postei a mesma pergunta na central do MATLAB , e Bill Greene gentilmente forneceu uma resposta .
Eu relato e estendo brevemente para que possa ser útil para outras pessoas.
Solução de Bill:
Aqui está uma maneira de criar esse enredo. Suponha que você tenha a matriz de pontos criada pelo mesher PDE Toolbox, pe um vetor de solução, u. A função abaixo criará um gráfico dessa solução ao longo de uma linha definida pelos locais x e y dos dois pontos finais. Meu exemplo é para uma solução em um quadrado de unidade e quero um gráfico ao longo da linha (0, 0,5) a (1, 0,5). Eu quero incluir 25 pontos no enredo. Como você pode ver, o trabalho real está sendo realizado pela TriScatteredInterpfunção do núcleo 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
Gostaria de observar ainda que a função anterior permite plotar a solução uou suas funções f(u), desde que udefinida em nós de malha (como normalmente acontece para soluções aproximadas do FEM).
Se for necessário plotar seções de funções definidas em centros de malha (por exemplo, funções de grad u), ela poderá usar antecipadamente a função pdeprtnique produz funções com valor de nó a partir de funções com valor central .