تغییر نسبت ابعاد (Aspect Ratio) فاصله اعداد نمایش داده شده روی محورهای مختصات (Axes) شکل (تغییر اندازه رسم آنها در شکل) (مثلا بازه اعداد 0 تا 10 در محور x در اندازه 1 سانتیمتر و در محور y در اندازه 2 سانتیمتر و در محور z در اندازه 4 سانتیمتر رسم شود)، با دستور daspect ، در متلب (MATLAB)
هنگامی که یک شکل را در نرم افزار متلب (MATLAB) رسم می کنیم، خود نرم افزار متلب (MATLAB) به صورت پیش فرض و بر اساس اطلاعات مربوط به شکل (اعداد مربوط به شکل)، یک سری اعداد را بر روی محورهای مختصات (Axes) شکل نمایش می دهد و این اعداد در هر محور مختصات (محور x یا محور y یا محور z) دارای فاصله یکسان هستند (که متلب خودش آن را تعیین می کند)، اما ممکن است که فاصله اعداد نمایش داده شده بر روی یک محور مختصات با اعداد نمایش داده شده بر روی یک محور مختصات دیگر متفاوت باشد (مثلا بازه اعداد 0 تا 10 در محور x در اندازه 1 سانتیمتر و در محور y در اندازه 2 سانتیمتر و در محور z در اندازه 4 سانتیمتر رسم شده باشد) (منظورمان این است که پس از رسم شکل، یک خط کش واقعی بر روی هر محور مختصات شکل بگذارید و با آن اندازه بگیرید).
اما گاهی نیاز داریم که برای مشاهده بهتر اطلاعات در شکل (نمایش شکل به صورت مورد نظر ما)، این مقدار تعیین شده برای فاصله نمایش اعداد محورهای x و y و z در شکل را تغییر دهیم. دستور daspect در متلب (MATLAB)، به ما این امکان را می دهد که بتوانیم یک نسبت ابعاد (Aspect Ratio) برای اندازه رسم فاصله بین اعداد برای محورهای x و y و z مشخص کنیم.
مثلا بگوییم که اندازه فاصله برای هر سه محور x و y و z یکسان باشد و بنابراین باید دستور daspect به صورت زیر به کار رود :
و یا بگوییم که اندازه فاصله اعداد در محور y برابر نصف محورهای x و z باشد و بنابراین باید دستور daspect به صورت زیر به کار رود :
ممکن است بگویید که چرا به جای عدد 0.5 (یعنی نصف)، عدد 2 را برای محور y نوشته ایم، دلیل آن به چگونگی عملکرد دستور daspect برمی گردد. برای توضیح آن، ابتدا مفهوم واحد (Unit) در رسم شکل را برای این آموزش، شرح می دهیم (زیرا این کلمه می تواند برای مفاهیم مختلف به کار رود) :
در این آموزش، منظور ما از هر واحد (Unit) در محورهای مختصات شکل، این است که پس از اینکه نرم افزار متلب (MATLAB) شکل را رسم کرد، شما یک خط کش واقعی را بردارید و بر روی شکل بگذارید و آنگاه می گوییم که مثلا 1 سانتیمتر از آن خط کش را که بر روی هر یک از محورهای x یا y یا z بگذاریم، به عنوان یک واحد (Unit) در نظر می گیریم.
در واقع واحد (Unit) را به صورت یک اندازه واقعی در رسم نهایی شکل در نظر می گیریم (مثلا بر حسب سانتیمتر) و اینکه 1 سانتیمتر باشد یا 2 سانتیمتر باشد یا ... برایمان زیاد مهم نیست و صرفا معیاری برای تعیین نسبت خواهد بود).
با کد بالا به دستور daspect اعلام کرده ایم که در هر محور مختصات، در هر واحد (Unit) از شکل (مثلا در 1 سانتیمتر)، چه مقدار اطلاعات (بازه ای از اعداد) نمایش داده شود (البته به صورت نسبی بین محورهای x و y و z). یعنی مثلا چون نسبت محورهای x و z برابر است، اگر بازه اعداد 0 تا 10 برای محور x در یک واحد (Unit) (مثلا در 1 سانتیمتر) رسم شود، آنگاه بازه اعداد 0 تا 10 برای محور z نیز در یک واحد (Unit) (مثلا در 1 سانتیمتر) رسم می شود. حال چون نسبت محور y دو برابر محور x می باشد، اگر بازه اعداد 0 تا 10 برای محور x در یک واحد (Unit) (مثلا در 1 سانتیمتر) رسم شود، باید دو برابر آن، یعنی بازه اعداد 0 تا 20 برای محور y در یک واحد (Unit) (مثلا در 1 سانتیمتر) رسم شود (بنابراین عملا فاصله رسم اعداد در محور y در شکل، نصف فاصله رسم اعداد در محور x خواهد بود، چون مقدار بیشتر در اندازه یکسان قرار گرفته است).
برای درک بهتر در مورد نسبتی که مربوط به دستور daspect می باشد، یک مثال را ذکر می کنیم :
به عنوان مثال، فرض کنید که متلب (MATLAB) یک شکل را رسم کرده است و اکنون ما یک خط کش واقعی را برداشته و بر روی محورهای x و y و z از شکل می گذاریم و مشاهده می کنیم که مثلا بازه اعداد 0 تا 10 در محور x در اندازه 1 سانتیمتر و در محور y در اندازه 2 سانتیمتر و در محور z در اندازه 4 سانتیمتر، رسم شده است. بنابراین اگر اندازه واقعی برابر 1 سانتیمتر (یا هر اندازه دیگری) را به عنوان واحد (Unit) در نظر بگیریم، به این نتیجه می رسیم که در هر واحد (Unit) از محورهای مختصات x و y و z از شکل، بازه های اعداد زیر رسم می شوند (منظور فاصله عددی بین اعداد است و خود اعداد مهم نیست) :
در محور x : بازه عددی 0 تا 10
در محور y : بازه عددی 0 تا 5
در محور z : بازه عددی 0 تا 2.5
بنابراین بر اساس میزان بازه عددی نمایش داده در محورهای مختصات x و y و z از شکل، می توانیم نسبت زیر را برای آنها تعیین کنیم :
نام محور | اندازه نمایش بازه اعداد 0 تا 10 (با خط کش) | میزان بازه عددی قابل نمایش در هر 1 سانتیمتر از محور | نسبت بین محورها بر اساس میزان بازه عددی قابل نمایش در هر 1 سانتیمتر از محور |
---|---|---|---|
x | 1 سانتیمتر | بازه عددی 0 تا 10 | 4 |
y | 2 سانتیمتر | بازه عددی 0 تا 5 | 2 |
z | 4 سانتیمتر | بازه عددی 0 تا 2.5 | 1 |
بنابراین نسبت بین محورهای x و y و z از شکل را با 3 عدد زیر مشخص می کنیم :
به مثال زیر توجه کنید :
ابتدا شکل مورد نظرمان را بدون استفاده از دستور daspect رسم می کنیم :
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
دستور peaks در متلب (MATLAB)، اطلاعات (ماتریس) لازم برای ساخت شکل مورد نظرمان را فراهم می کند ( کلید شماره 121 ).
دستور surf در متلب (MATLAB)، برای رسم مقادیر یک ماتریس دو بعدی، به صورت یک سطح برجسته، به کار می رود ( کلید شماره 114 ).
دستورهای xlabel و ylabel و zlabel برای تعیین عنوان برای محورهای x و y و z از شکل، به کار می روند ( کلید شماره 92 ).
نتیجه :
اکنون با دستور daspect ، نسبت 1 و 1 و 1 را برای محورهای x و y و z تعیین می کنیم :
نتیجه :
این بار با دستور daspect ، نسبت 1 و 2 و 1 را برای محورهای x و y و z تعیین می کنیم :
نتیجه :
و این بار با دستور daspect ، نسبت 4 و 4 و 1 را برای محورهای x و y و z تعیین می کنیم :
نتیجه :
دستور daspect در متلب (MATLAB)، برای به دست آوردن نسبت ابعاد (Aspect Ratio) فاصله اعداد نمایش داده شده روی محورهای مختصات (Axes) شکل (اندازه رسم آنها در شکل) (مثلا بازه اعداد 0 تا 10 در محور x در اندازه 1 سانتیمتر و در محور y در اندازه 2 سانتیمتر و در محور z در اندازه 4 سانتیمتر رسم شود)، نیز می تواند به کار رود. برای یادگیری استفاده از دستور daspect برای این منظور، به کلید شماره 26535 مراجعه نمایید.