2008-10-22 27 views
15

Tôi đang sử dụng các ô cực (POLAR (THETA, RHO)) trong MATLAB.Sửa trục xuyên tâm trên các ô cực MATLAB

Có cách nào dễ dàng để sửa phạm vi cho trục xuyên tâm để nói, 1.5?

Tôi đang tìm một cái gì đó tương tự với các lệnh xlim, ylim cho trục Descartes. Chưa tìm thấy gì trong tài liệu.

Trả lời

6

Đây là cách tôi có thể thực hiện.

Âm mưu cực MATLAB (nếu bạn nhìn vào tùy chọn Xử lý đồ họa có sẵn) không có bất kỳ thứ gì như xlim hoặc ylim. Tuy nhiên, tôi nhận ra rằng điều đầu tiên vẽ bộ phạm vi, vì vậy tôi đã có thể vẽ một chức năng với phạm vi bán kính [-.5 .5] trên [-1 1] cốt truyện như sau:

theta = linspace(0,2*pi,100); 
r  = sin(2*theta) .* cos(2*theta); 
r_max = 1; 
h_fake = polar(theta,r_max*ones(size(theta))); 
hold on; 
h  = polar(theta, r); 
set(h_fake, 'Visible', 'Off'); 

Đó trông không tốt và hy vọng có một cách tốt hơn để làm điều đó, nhưng nó hoạt động.

+0

Thông minh. Cảm ơn. Tôi ngạc nhiên khi họ không cung cấp quyền kiểm soát trực tiếp hơn bán kính. –

+0

Tôi cũng vậy - Tôi sẽ không nghĩ rằng muốn tinh chỉnh bán kính sẽ là * rằng * hiếm –

+2

Tôi đã đưa ra giải pháp tương tự. Thật không may, họ không xác định một âm mưu cực như là một loại đồ thị cơ sở, thay vào đó tạo ra các bản vá lỗi để vẽ các trục và chuyển đổi dữ liệu của bạn thành x và y. Hãy xem mã cho polar.m sometime và bạn sẽ thấy. –

8

này làm việc cho tôi ... tôi muốn phạm vi bán kính đến 30, vì vậy tôi lần đầu tiên được vẽ này

polar(0,30,'-k') 
hold on 

và sau đó vẽ những gì tôi đã thực sự quan tâm. Điểm đầu tiên vẽ này được ẩn đằng sau các dấu lưới. chỉ cần đảm bảo bao gồm

hold off 

sau lệnh vẽ cuối cùng cuối cùng của bạn.

+0

Tôi đánh giá cao sự đơn giản của câu trả lời này. Làm việc như người ở! – Shinobii

4

Trong trường hợp bất cứ ai khác đi qua này, đây là giải pháp:

Như Scottie Tgnovice chỉ ra, Matlab cơ bản sử dụng hàm cực như một giao diện cho các ô tiêu chuẩn , nhưng với rất nhiều định dạng đằng sau hậu trường để làm cho nó trông cực. Xem xét các giá trị của các thuộc tính XLim và YLim của một ô cực và bạn sẽ nhận thấy rằng chúng theo nghĩa đen là giới hạn x và y của cốt truyện của bạn theo tọa độ Descartes. Vì vậy, để đặt giới hạn bán kính, hãy sử dụng xlim và ylim hoặc trục và thông minh về các giá trị bạn đã đặt:

rlim = 10; 
axis([-1 1 -1 1]*rlim); 

... đó là tất cả. Happy Matlabbing :)

6

Giải pháp đơn giản là tạo biểu đồ giả và đặt màu thành màu trắng.

fake=100; 
polar(0,fake,'w'); 
hold on; 

real=10; 
polar(0,real,'w'); 
Các vấn đề liên quan