2013-01-11 33 views
12

Tôi đang vẽ một tập dữ liệu trên Gnuplot và muốn chồng lên hàm x^2 trên cùng một ô. Tôi có thể làm như vậy:Hạn chế miền của hàm được vẽ trên Gnuplot

plot "filename" using 1:2, x**2 

Tạo âm mưu trong đó chức năng x^2 trải dài trên toàn bộ miền của biểu đồ. Tôi muốn làm cho nó như vậy mà chức năng chỉ được hiển thị trên một đoạn nhỏ của đồ thị, nói từ x = 1 đến x = 2, trong khi kích thước của đồ thị được quyết định bởi filename được từ x = 0 đến x = 10. Tôi biết rằng âm mưu chức năng của bản thân tôi có thể làm:

plot [1:2] x**2 

Nhưng làm thế nào tôi sẽ giữ superimposition với nhau, cho rằng những gì tôi đã cố gắng bằng trực giác đã không làm việc:

plot "filename" using 1:2, [1:2] x**2 

invalid expression 

Các tài liệu dường như khó để giải thích khi nói đến việc làm việc này.

Trả lời

19

Cách đơn giản nhất có thể để xác định một chức năng piecewise sử dụng các nhà điều hành ternary ?:

f(x) = (x > 1 && x < 2) ? x**2 : 1/0 
plot "filename" using 1:2, f(x) 

Một cách khác là với replot lệnh:

plot "filename" using 1:2 
replot [1:2] x**2 
+0

nhưng chức năng piecewise này cho thấy một gián đoạn ion âm mưu! Bạn có biết cách loại bỏ điều đó không? Cảm ơn câu trả lời bạn đăng bởi wey. –

+0

Tôi không chắc chắn những gì bạn có ý nghĩa bởi một gián đoạn trong cốt truyện. Khi tôi vẽ f (x) tôi nhận x^2 từ 1 đến 2, theo thứ tự. Bạn có thể làm rõ câu hỏi? – andyras

+0

@andyas Cảm ơn bạn đã trả lời nhanh chóng! Tôi có nghĩa là nhảy từ 0 đến giá trị tiếp theo, vì hàm này không liên tục. Chúc mừng –

Các vấn đề liên quan