Câu trả lời ngắn: mặc định âm mưu chính xác là không đủ cho chức năng đó, vì vậy tăng nó như sau
Plot[Sin[x], {x, -42 Pi, 42 Pi}, PlotPoints -> 100]
Long trả lời: Plot
tác phẩm bằng cách đánh giá các chức năng tại một tập hữu hạn các điểm, và kết nối những điểm bởi những đường thẳng. Bạn có thể thấy những điểm được sử dụng bởi Plot
bằng cách sử dụng lệnh sau
Plot[Sin[x], {x, -42 Pi, 42 Pi}, Mesh -> All, PlotStyle -> None,
MeshStyle -> Black]
Bạn có thể thấy rằng đối với chức năng của bạn, những điểm mà hàm được đánh giá là "bỏ lỡ đỉnh" và giới thiệu một lỗi xấp xỉ lớn. Thuật toán được sử dụng để chọn vị trí của các điểm rất đơn giản và tình huống này có thể xảy ra khi hai đỉnh được đặt cách nhau gần nhau hơn PlotRange/PlotPoints.
Plot
bắt đầu với 50 điểm cách đều nhau và sau đó chèn thêm điểm vào tối đa MaxRecursion
giai đoạn. Bạn có thể thấy "lỗ" này xuất hiện như thế nào nếu bạn vẽ vùng cho các cài đặt khác nhau của MaxRecursion
.
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
Theo cuốn sách Mathematica Stan Wagon của, Plot
quyết định xem có nên thêm một điểm nửa chừng thêm giữa hai điểm liên tiếp nếu góc giữa hai đoạn thẳng mới sẽ được nhiều hơn 5 độ . Trong trường hợp này, cốt truyện không may mắn với vị trí điểm ban đầu và phân khu không đáp ứng được tiêu chí đó. Bạn có thể thấy rằng việc chèn một điểm đánh giá duy nhất vào giữa lỗ sẽ tạo ra âm mưu gần như giống hệt nhau.
Cách để tăng góc sử dụng để quyết định khi nào chia nhỏ bằng cách sử dụng tùy chọn Refinement
(Tôi đã nhận nó từ cuốn sách, nhưng nó dường như không được ghi lại trong sản phẩm)
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}}]
Ở đây bạn có thể thấy rằng tăng nó bằng 1 độ từ mặc định 5 sửa lỗ.
Dường như là bí danh đơn giản đối với tôi. Bạn có thực sự tin rằng Mathematica sẽ có một lỗi trong một cái gì đó như là cơ bản này? –
Không, đó là lý do tại sao tôi rất ngạc nhiên. Nếu nó là răng cưa, nó sẽ không tuy nhiên có xu hướng xuất hiện nhiều hơn nếu khoảng thời gian đã lớn hơn? Nếu tôi thay đổi xmin, xmax thành -60 Pi/60 Pi, chẳng hạn, nó biến mất. – houbysoft
@houbysoft Tôi không có Mathematica, một thực tế không biết gì về nó, nhưng tôi đề nghị bạn hãy thử các giá trị khác nhau của tùy chọn PlotPoints –