Kısa cevap: doğruluğunu komplo bu işleve için yeterli olmayan varsayılan, bu yüzden şu şekilde arttırmak
Plot[Sin[x], {x, -42 Pi, 42 Pi}, PlotPoints -> 100]
Uzun cevap: tarafından bu noktaları noktaları sonlu kümesi de işlevini değerlendirmek ve bağlayarak Plot
eserleri düz çizgiler. Aşağıdaki komutu
Plot[Sin[x], {x, -42 Pi, 42 Pi}, Mesh -> All, PlotStyle -> None,
MeshStyle -> Black]
kullanılarak Plot
tarafından kullanılan noktalarını görebilirsiniz
Sen fonksiyon için, fonksiyon değerlendirildi noktaları "zirve cevapsız" ve tanıtılan görebiliriz büyük bir tahmin hatası. Noktaların yerlerini seçmek için kullanılan algoritma çok basittir ve bu durum iki pikin PlotRange/PlotPoints öğesinden daha fazla birbirine yakın olması durumunda ortaya çıkabilir.
Plot
50 eşit aralıklı nokta ile başlar ve daha sonra MaxRecursion
aşamalarına kadar fazladan nokta ekler. Bölgeyi MaxRecursion
çeşitli ayarları için çizerseniz bu "deliğin" nasıl göründüğünü görebilirsiniz. Stan Wagon Mathematica kitabına göre
plot1 = Plot[Sin[x], {x, -42 Pi, 42 Pi}, PlotPoints -> 100,
PlotStyle -> LightGray];
Table[plot2 =
Plot[Sin[x], {x, -42 Pi, 42 Pi}, Mesh -> All, MeshStyle -> Thick,
PlotStyle -> Red, MaxRecursion -> k];
Show[plot1, plot2, PlotRange -> {{-110, -90}, {-1, 1}},
PlotLabel -> ("MaxRecursion " <> ToString[k])], {k, 0,
5}] // GraphicsColumn
,
Plot
iki yeni hat kesimleri arasındaki açı 5 dereceden fazla olurdu iki ardışık noktaları arasında fazladan nokta yarım eklemek için karar verir . Bu durumda, arsa ilk nokta konumlandırma ile şanssız hale geldi ve alt bölüm bu kriteri karşılamıyor. Deliğin ortasında tek bir değerlendirme noktasının yerleştirilmesinin hemen hemen aynı görünüşte arsa üreteceğini görebilirsiniz.
Refinement
seçeneğini kullanarak bölmek için zaman karar vermek için kullanılan açısını artırmak için bir yol Burada
plot1 = Plot[Sin[x], {x, -42 Pi, 42 Pi}, PlotPoints -> 100,
PlotStyle -> LightGray];
Show[plot1,
Plot[Sin[x], {x, -42 Pi, 42 Pi}, Mesh -> All, MeshStyle -> Thick,
PlotStyle -> Red, MaxRecursion -> 3,
Method -> {Refinement -> {ControlValue -> 4 \[Degree]}}],
PlotRange -> {{-110, -90}, {-1, 1}}]
yapabilirsiniz (ben kitaptan aldım ama görünmüyor üründe belgelenmiş edilecek) varsayılandan 1 derece arttırmanın 5 numaralı deliği düzeltdiğini görüyoruz.
Bana basit aliasing gibi görünüyor. Mathematica'nın bu konuda temel bir şeyde bir hataya sahip olduğuna gerçekten inanıyor musunuz? –
Hayır, bu yüzden çok şaşırdım. Eğer takma isabetli olsaydı, aralığın daha büyük olması halinde daha fazla görünme eğiliminde olmaz mıydı? Eğer xmin'i değiştirirseniz, xmax -60 Pi/60 Pi olur, örneğin, gider. – houbysoft
@houbysoft Mathematica yok, aslında bu konuda hiçbir şey bilmiyorsunuz, ama PlotPoints seçeneği –