2016-11-21 6 views
5

मैंने हाल ही में अपने तरल पदार्थ समस्या सेट में ट्यूटोरियल समस्या के लिए कुछ वेगपूर्ण फ़ील्ड प्लॉट करने की कोशिश की। मैं निम्नलिखित मैटलैब कोडमैटलैब कोड फ़ंक्शन का हिस्सा प्लॉट नहीं करेगा

clear; 

h_theta_multiple=0.01; 
h_theta=h_theta_multiple*2*pi; 
h_rho=0.1; 

[theta,rho] = meshgrid(0:h_theta:2*pi,0:h_rho:5); 
[x1,x2] = pol2cart(theta,rho); 

N=[1 2 3 -1 -2 -3]; 

figure 
for i=1:length(N) 
n=N(i); 
u1 = rho.^n .* cos(n.*theta); 
u2 = rho.^n .* sin(n.*theta); 
subplot(2,3,i); 
quiver(x1,x2,u1,u2); 
end 

figure 
for i=1:length(N) 
n=N(i); 
u1 = -rho.^n .* sin(n.*theta); 
u2 = rho.^n .* cos(n.*theta); 
subplot(2,3,i); 
quiver(x1,x2,u1,u2); 
end 

लिखा था यह मेरा पीछा First Function

enter image description here

पहले और दूसरे कार्यों के लिए क्रमशः देता है। मैं काफी समझ नहीं पा रहा हूं कि क्यों यह एन के लिए साजिश नहीं करता है नकारात्मक है ... मैंने सब कुछ अलग करने की कोशिश की लेकिन अंत में इसे काफी डीबग नहीं कर सका।

+0

दिलचस्प देता है, लेकिन आप इसे नहीं देख सकते हैं:

एक समाधान NaN द्वारा अनंत मूल्यों को बदलने के लिए है । 'क्विवर (x1, x2, u1, u2, 'o') 'इसे दिखाएगा। –

+0

@ एन्डरबिगुरी हाँ मैंने अभी कोशिश की और यह काम करता है लेकिन मुझे वेक्टर फॉर्म चाहिए। यह बहुत अजीब है। – thephysicsguy

उत्तर

6

समस्या यह है कि नकारात्मक n के लिए matrices u1 और u2 में कुछ प्रविष्टियों में अनंत मान होते हैं। quiver मूल्यों को स्वतः स्केल करता है, इसलिए सबकुछ शून्य पर संपीड़ित हो जाता है और इस प्रकार ग्राफ में दिखाई नहीं देता है। डेटा वास्तव में नहीं है,

clear; 

h_theta_multiple=0.01; 
h_theta=h_theta_multiple*2*pi; 
h_rho=0.1; 

[theta,rho] = meshgrid(0:h_theta:2*pi,0:h_rho:5); 
[x1,x2] = pol2cart(theta,rho); 

N=[1 2 3 -1 -2 -3]; 

figure 
for i=1:length(N) 
n=N(i); 
u1 = rho.^n .* cos(n.*theta); 
u2 = rho.^n .* sin(n.*theta); 
u1(isinf(u1)) = NaN; % replace infinite values by NaN 
u2(isinf(u2)) = NaN; 
subplot(2,3,i); 
quiver(x1,x2,u1,u2); 
end 

figure 
for i=1:length(N) 
n=N(i); 
u1 = -rho.^n .* sin(n.*theta); 
u2 = rho.^n .* cos(n.*theta); 
u1(isinf(u1)) = NaN; % replace infinite values by NaN 
u2(isinf(u2)) = NaN; 
subplot(2,3,i); 
quiver(x1,x2,u1,u2); 
end 

यह

enter image description here

enter image description here

+0

ओह हां, पहले पुनरावृत्ति के लिए यह 1/0^एन और इसलिए इंफ वैल्यू ढूंढ रहा है। पता नहीं क्यों मैंने यू 1 और यू 2 एरे पर नज़र डाली है। आपका बहुत बहुत धन्यवाद! – thephysicsguy

संबंधित मुद्दे