Matlab Pde Toolbox: Bir satıra veya bir alt menüye bir çözüm çizin


9

2B'de belirli bir eliptik denklemi çözmek için Matlab pde araç kutusunu kullanıyorum.

Belirli bir çizgi boyunca onu çizmem gerekmesine rağmen çözüm gayet iyi, yani çözümü temsil eden 3B ağdan düzlemsel bir dilim kesmek için.

Araç kutusu işlevlerini akıllıca içeren bir yol bulamıyorum (yani üçgen kafes üzerinde düşük seviye enterpolasyonu içermez).

Herhangi bir yardım takdir.

Yanıtlar:


3

Aynı soruyu MATLAB'ın merkezine de gönderdim ve Bill Greene nazikçe bir cevap verdi .

Kısaca rapor ediyorum ve başkalarına faydalı olabilmesi için genişletiyorum.

Bill'in çözümü:

İşte böyle bir arsa oluşturmanın bir yolu. PDE Araç Kutusu mesher, p ve bir çözüm vektörü tarafından oluşturulan nokta matrisiniz olduğunu varsayalım, u. Aşağıdaki işlev, iki uç noktanın x ve y konumları tarafından tanımlanan bir çizgi boyunca bu çözümün bir grafiğini oluşturacaktır. Benim örnek birim karede bir çözüm içindir ve (0, .5) ila (1, .5) çizgisi boyunca bir çizim istiyorum. Arsaya 25 puan eklemek istiyorum. Gördüğünüz gibi, gerçek çalışma TriScatteredInterpçekirdek MATLAB'ın işlevi ile yapılıyor .

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

Ayrıca, önceki işlevin bir çözüm uveya işlevlerini çizmesine izin verdiğini belirtmek isterim f(u), ancak umesh düğümlerinde tanımlanır (tipik olarak FEM yaklaşık çözümlerinde olduğu gibi).

Örgü merkezleri üzerinde tanımlı fonksiyonların çizimi bölümlerine tek ihtiyaçları (ör fonksiyonları ise grad u), o önceden işlevini kullanabilir pdeprtniüretir düğüm değerli-fonksiyonları dışında merkez değerli-fonksiyonları .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.