شما ابتدا کد زیر را اجرا کنید :
کد:
clear all
close all
clc
load wind
حالا به Workspace در نرم افزار متلب نگاه کنید. مشاهده خواهید کرد که چند ماتریس در آن وارد شده است که در میان آنها، x و y و z هم وجود دارند. در واقع با این کدها، اطلاعات مربوط به یک مسئله را به درون Workspace نرم افزار متلب وارد کرده ایم.
حالا نگاهی به مقادیر موجود در ماتریس های x و y و z بیندازید. با اولین نگاه، متوجه خواهید شد که هم اندازه هستند و در آنها، تنها مختصات مربوط به جهت های x و y و z ذخیره شده است. یعنی مثلا ماتریس x ، یک ماتریس سه بعدی مربوط به مقادیر محور x برای تمام نقاط موجود در فضای سه بعدی مورد نظرمان برای مسئله می باشد.
کدهای زیر را ببینید :
کد:
xmin = min(x(:));
xmax = max(x(:));
ymin = min(y(:));
ymax = max(y(:));
zmin = min(z(:));
zmax = max(z(:));
چون قصد داشته ایم که صفحات ابتدایی و انتهایی در هر جهت را رسم کنیم، باید مختصات ماکزیمم و مینیمم در هر جهت را به دست می آورده ایم (که می شود 6 صفحه، البته 3 تای آنها در پشت سه تای دیگر پنهان می شود).
حالا کد زیر را ببینید :
کد:
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
همان طور که گفتم، اطلاعات مسئله به ما 6 تا ماتریس داده بود، ما اومدیم و از سه ماتریس دیگر، مقادیری را محاسبه کرده و در ماتریس wind_speed قرار داده ایم. اگر این مورد شما رو گیج میکنه، اصلا می توانید مقادیر آن را به هر شکل دلخواه قرار بدهید. یعنی کاری به u و v و w نداشته باشید و مقادیر خودتون که پیوست کرده بودید رو به جای wind_speed در نظر بگیرید (البته باید ماتریس های x و y و z متناسب برای مسئله خود را بسازید). اسم نادرستی رو هم برای مقادیرتون انتخاب کرده بودید (گذاشته بودید Z) که باعث می شود آن را با مقادیر محور Z اشتباه بگیرید. اسم ماتریس مقادیر خود را تغییر بدهید.
این هم، دو خط مربوط به رسم نهایی صفحه ها :
کد:
hsurfaces = slice(x,y,z,wind_speed,[xmin,xmax],[ymin,ymax],[zmax,zmin]);
set(hsurfaces,'FaceColor','interp','EdgeColor','none')
همان طور که مشاهده می کنید، مقادیر مربوط به مختصات صفحه ها را درون پرانتز دستور slice نوشته ایم. همچنین، یک بار کدها را بدون خط آخر، اجرا کنید (یک شکل دقیق را به شما می دهد).