کلیدستان

نسخه‌ی کامل: طریقه استفاده از دستور polar (در متلب)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
نیاز به کمک فوری دارم باید فردا انشالله پایان ناممو تحویل بدم. میخوام یه نمودار قطبی با دستور polar رسم کنم ولی چه جوریشو بلد نیستم. لطفا بگید این دستور چه جوری کار میکنه؟
ممنون
سلام.
به نظرم خود مثال نرم افزار متلب، مثال مناسبی است، بنابراین آن را ذکر می کنم و تنها توضیحات اضافه تری رو براتون شرح می دهم :
کد پی‌اچ‌پی:
clear all
close all
clc
 
theta 
0:0.01:2*pi;
rho sin(2*theta).*cos(2*theta);

figure
polar
(theta,rho

در نمودار قطبی، باید اندازه را برای تمامی 360 درجه داشته باشیم. یعنی یک زاویه داریم (با نام theta) که از 0 تا 360 درجه (2*pi در کد بالا) خواهد بود. برای هر یک از تمامی این 360 درجه (زاویه هایی که در این بازه انتخاب کرده ایم)، باید یک اندازه (یک مقدار) داشته باشیم. بنابراین اگر کد بالا را ببینید، ابتدا theta را از 0 تا 360 درجه تعریف کرده ایم و سپس اندازه متناظر با مقادیر theta را در rho ذخیره کرده ایم. تابعی که برای به دست آوردن مقادیر rho بر حسب مقادیر theta  به کار می رود، به مسئله ما بستگی دارد. سپس تنها کافی است که دو متغیر theta  و rho  را به دستور polar بدهید تا نمودار قطبی آنها را رسم کند.
نتیجه اجرای کد متلب بالا :


مقادیر زاویه ها در بیرون از دایره نمایش داده شده و مقادیر مربوط به اندازه های متناظر با زاویه ها، درون دایره نوشته شده است.
بنده کارشناسی ارشد مخابرات (گرایش میدان) خواندم، آن زمان اینگونه نمودارها را برای رسم تشعشع آنتن ها نیاز داشتیم، اما این تابع قادر نبود که جزئیات مناسب برای مسائل مربوط به آنتن را رسم کند. استادمون تابعی را برای رسم معرفی کرد (یک تابع نوشته شده توسط محققان در این زمینه) که آن را از اینترنت دانلود کردیم و وقتی تست کردیم، خیلی بهتر جزئیات (لوب های کوچکتر تابش) را نمایش می داد. گفتم این مورد را هم برای دوستانی که در این زمینه کار می کنند، تذکر داده باشم.

سلام. ممنون از لطفتون . میشه اون تابع رو برام بفرستید؟ چون من هم روی دوقطبی نقطه کوانتومی کار میکنم همونطور که میدونید یکی از انواع انتن در ابعد نانو است
 
براتون فایل رو پیوست این ارسال کردم.
 یک مثال برای چگونگی استفاده از آن :

کد پی‌اچ‌پی:
clear all
Theta
=[0:0.001:2*pi];
n=length(Theta);
Z=zeros(1,n);
Beta=0;
for 
m=1:n
    Z
(m)=exp(j*((pi/2)*cos(Theta(m))+Beta));
end
AF
=zeros(1,n);
for 
m=1:n
    AF
(m)=1+2*Z(m)+(Z(m))^2;
    
AF(m)=10*log10(AF(m));
end
Rho
=AF;
MMPOLAR(Theta,Rho


توضیح مختصری در مورد کد بالا :
برنامه MMPOLAR یک برنامه آماده شده است که قابل دانلود از اینترنت می باشد . این برنامه برای ترسیم الگوی تابش در مختصات قطبی به کار می رود . این برنامه می تواند ورودی های مختلفی داشته باشد که ساده ترین حالت ورودی های آن به صورت MMPOLAR(Theta,Rho) است . در این حالت ، Theta همان زاویه می باشد . Theta را به صورت Theta=[0:0.001:2*pi] تعریف کرده ایم (0 تا 360 درجه که مقدار متناظر آن بر حسب گرادیان تعریف شده). باید دقت داشت اگر مثلا 0 تا 180 درجه تعریف شود ، بخشی از الگوی تابش در شکل نهایی نمایش داده نخواهد شد . Rho مقدار متناظر الگوی تابش در هر زاویه مشخص می باشد . این مقدار در کد بالا برابر ضریب آرایه (AF) قرار داده شده است . کد بالا بر اساس یک تمرین بوده است و پارامترها نیز بر اساس آن تعیین شده اند (مثلا Beta یک پارامتر بر اساس زاویه بوده).
 
نکته مهم 1 : مهمترین بخش برنامه فوق ، کد AF(m)=10*log10(AF(m)) می باشد زیرا چنانچه این خط از برنامه حذف شود شکل نهایی بر حسب dB نخواهد بود و بسیاری از جزئیات الگوی تابش در شکل نمایش داده نمی شود .

نکته مهم 2 : در کد Theta=[0:0.001:2*pi] ، هر چقدر که بازه مربوط به زاویه را به تعداد نقاط بیشتری برای Theta تبدیل کنیم، شکل دارای جزئیات بیشتری خواهد بود بنابراین می توان تا جایی که کامپیوتر اجرا کننده برنامه ، ظرفیت دارد ، تعداد نقاط را بیشتر کنیم . ( بستگی به خود مسئله هم دارد و ممکن است تعداد نقاط اندکی نیز الگوی تابش را در شکل به خوبی نمایش بدهند . )

نتیجه :

 
سلام ممنون لطف کردین.