شبیه‌سازی شبکه‌های بی سیم و کامپیوتری
شبیه سازی تخصصی شبکه‌های بی سیم و کامپیوتری مقاطع کارشناسی تا دکترا
  • شبیه سازی تخصصی شبکه‌های بی سیم و کامپیوتری مقاطع کارشناسی تا دکترا

مشخصات بلاگ
شبیه‌سازی شبکه‌های بی سیم و کامپیوتری

امکان سفارش، شبیه سازی مقاله و پایان نامه وجود دارد،
مطالب، با ذکر منبع قابل انتشار در سایت ها و وبلاگ ها و.. می باشد.
جهت دریافت مشاوره رایگان تماس بگیرید:

شماره تماس: 09147082079-0098
آیدی تلگرامی:https://t.me/MuosSA_NbO
جی میل :mo30no@gmail.com

تمامی کدهای این وبلاگ در حال حاضر به زبان متلب می باشد

«آنچه می‌دانیم ناچیز و آنچه نمی‌دانیم عظیم و وسیع است»
$$پیر سیمون لاپلاس$$

سه شنبه, ۱۹ آذر ۱۳۹۸، ۱۰:۴۴ ب.ظ

کد تبدیل زوایه دو قطبی به یک قطبی در متلب

همانطور که می دونید متلب زوایه 360 درجه را به شکل دو بخش منفی و مثبت 180 درجه ای نشون می ده، این مسئله باعث بروز مشکل در پیاده سازی برخی الگوریتم‌هایی می شه که با زوایه کار می کنند، به عنوان مثال زمانی که شما تعدادی نقاط پخش شده در فضا دارید و بخواهید که کوتاهترین مسیر بین آنها را پیدا کنید، یک روش ساده مرتب سازی این نودها بر مبنای مختصات قطبی و خصوصا زوایه هستش، در چنین مواقعی نقاط قطبی دو بخشی پاسخگو نیست بر همین اساس من یک تابع ساده را برای حل این شکل نوشتم، که ورودی اون زوایه دو بخشی(0تا 180 و 0تا -180) و خروجی اون زوایه یک بخشی 0تا 360 درجه هستش.

کد متلب این تابع:

 

%convert 2 pole angle  to 1 pole degree or radian  
%angl=Angle2pol_To_1pol([5,95,-95,0],2)
%angl=Angle2pol_To_1pol( -95,2)
function angl=Angle2pol_To_1pol(angl,type)
if nargin==1
type=1;
end
switch type
    case 1% radian type
        angl=mod(angl,2*pi);
        miInd=angl<0;
        angl(miInd)=(2*pi)+angl(miInd);
        
    case 2
        angl=mod(angl,360);
        miInd=angl<0;
        angl(miInd)=(360)+angl(miInd);
end
end

نمونه استفاده از این تابع و خروجی حاصل در  تصویر زیر ابتدا مختصات دکارتی نکات درهم و برم به مختصات قطبی ان تبدیل شده و سپس با تبدیل زوایه دو بخشی به زاوایه یک بخشی 360 درجه و مرتب سازی آن بر اساس زاویه، شکل سمت چپ به شکل سمت راست تغییر پیدا کرده، این روش بسیار ساده می تونه برای پیدا کردن کوتاهترین مسیر هم مورد استفاده قرار بگیره.




 

موافقین ۰ مخالفین ۰ ۹۸/۰۹/۱۹
موسی حسن زاده

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی