رسم نمودار سه بعدی و برنامه نویسی در متلب
نمودارهای سه بعدی
دستورهاي زيادي در MATLAB براي ترسيم نمودارهاي سه بعدي وجود دارند. يك منحنــي سـه
بعدي را مي توانيد به كمك دستور plot3 ببينيد:
» t=0:.01:6*pi;
» plot3(cos(t),sin(t),t)
» xlabel(‘cos(t)’)
» ylabel(‘sin(t)’)
» zlabel(‘t’)
سطوح سه بعدي را مي توانيد با استفاده از دستور surf ترسيم كنيد:
» [x,y]=meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
» z=cos(x).*cos(y);
» surf(x,y,z)
» view(30,45)
دستور meshgrid شبكه دو بعدي روي صفحه xy را ايجاد مي كند. بردارهاي ورودي به اين دستور
مشخص كننده تقسيمات در جهات x و y هستند. سطح ايجاد شده را مي توانيد بــا كمـك دسـتور
shading هموار كنيد. همچنين براي تطابق رنگها با اعداد محور z مـي توانيـد از دسـتور colorbar
استفاده كنيد.
» shading interp
» colorbar
براي رسم سطوح سه بعدي از دسـتـورات ديگــري مـانند meshz ،meshc ،mesh و waterfall نـيز
مي توانيد كمك بگيريد.
نمودارهای 2/5 بعدی
نمودارهاي به اصطلاح ٢/٥ بعدي براي ديدن سطوح ٣ بعدي روي صفحـه مختصـات ٢ بعـدي بكـار
مي روند. يكي از اين روشها رسم خطوط همتراز يك سطح است.
» [x,y]=meshgrid(-2:.1:2,-2:.1:2);
» z=2-((x-1).^2+4*(y-1).^2+2*x.*y);
» [c,h]=contour(x,y,z,[-15 -10 -5 -2 0 0.5]);
» clabel(c,h), xlabel(‘x’), ylabel(‘y’)
آرگومان چهارم در دستور contour برداري است كه بر اساس آن منحنيهاي همــترازي كـه مقـادير
عددي آنها برابر با مولفه هاي آن بردار است روي نمودار نشــان داده خواهنـد شـد. دسـتور clabel
مقادير خطوط همتراز را روي نمودار نشان مي دهد.
روش ديگر آن است كه سطح را از زاويه اي عمود بــر صفحـه xy نگريسـت و رنگـهاي متفـاوتي بـه
مقادير مختلف z نسبت داد:
» pcolor(x,y,z)
» shading interp
» colorbar
برنامه نویسی m-files
مجموعه اي از دستورات MATLAB را مي توانيد در يك پرونده ذخيره كنيد و سپس آنها را يكجــا
اجرا نمائيد. چنين پرونده اي براي آنكه در محيط MATLAB قابل اجـرا باشـد بـايد حتمـا” داراي
دنباله “m.” باشد. در صورتي كه از ويرايشــگر MATLAB Editor) MATLAB) اسـتفاده كنيـد،
دنباله “m.” بطور خودكار در هنگام ذخيره پرونده به نام آن افزوده مي گردد. در صورت اســتفاده از
ويرايشگر ديگري بغير از ويرايشگر MATLAB (نظير Notepad) اطمينان حاصل كنيد كــه پرونـده
حتما” به روش ascii و با دنباله “m.” ذخيره گردد.
در اين بخش از يادداشت فقط بر نحوه برنامه نويسي و اجراي برنامه هـا تـاكيد شـده اسـت و نتـايج
اجراي برنامه هاي مورد بحث نشان داده نشده اند. به خواننده توصيه مي گردد كه خود برنامه ها را
اجرا كرده و نتايج آنها را مشاهده نمايد.
برنامه اصلي
m-file ها مي توانند به دو شكل برنامه اصلي و تابع باشند. برنامه اصلي عبارتست از مجموعـه اي از
دستورها كه مي توان آنها را بطور جداگانه در محيط كار MATLAB اجرا نمود. هنگــامي كـه نـام
برنامه اصلي را در محيط كار MATLAB بنويسيد اين دستورها به ترتيــب اجـرا مـي گردنـد. بـه
عنوان مثال براي محاسبه حجم گاز كامل، در دماهاي مختلف و فشــار معلـوم، دسـتورات زيـر را در
ويرايشگر MATLAB بنويسيد و سپس تحت عنوان pvt.m ذخيره كنيد:
% A sample scritp file: pvt.m
disp(‘ Calculating the volume of an ideal gas.’)
R = 8314; % Gas constant (J/kmol.K)
t = …
input(‘ Vector of temperature (K) = ‘);
p = input(‘ Pressure (bar) = ‘)*1e5;
v = R*t/p; % Ideal gas law
% Plotting the results
plot(t,v)
xlabel(‘T (K)’)
ylabel(‘V (m^3/kmol)’)
title(‘Ideal gas volume vs temperature’)
علامت % نشانگر وجـود توضيحات در بـرنامه است. علامت % و آنچه بدنبـــال آن در همـان ســطر
مي آيد به هنگام اجراي برنامه ناديده گرفته مي شود. همچنيــن علامـت . . . بيـانگر آن اسـت كـه
دستور مورد نظر در اين سطر تمام نشده و در سطر بعدي ادامه مي يابد. مورد استفاده اين علامــت
بيشتر در مورد دستورهاي محاسباتي طولاني است كه براي مطالعه راحت تر ايــن قسـمت از برنامـه
بهتر است در دو يا سه خط نوشته شود.
پس از ايجاد پرونده pvt.m، براي اجراي آن كافي اسـت كـه نـام آن را در محيـط كـار MATLAB
بنويسيد و نتايج را مشاهده كنيد (نمودار در زير نشان داده نشده است).
» pvt
Calculating the volume of an ideal gas.
Vector of temperature (K) = 100:25:300
Pressure (bar) = 10
استفاده از diary براي ايجاد برنامه
يك روش ايجاد برنامه براي مبتديان بكار بردن دستور diary است. در صورت استفاده از دستور زير
» diary xyz
تمامي نوشته هاي محيط كار MATLAB پس از آن در پرونده xyz حك مي گردنــد. پرونـده xyz
بدون دنباله خواهد بود مگر آنكه خودتان براي آن دنباله مشخص كنيد. در اين حــالت مـي توانيـد
شروع به نوشتن دستورات مورد نظر در محيط كار MATLAB كنيد، نتايج را همان جا ببينيد و در
صورت لزوم تصحيحات لازم را انجام دهيد. هنگامي كه به پايان محاسبات و نتيجه دلخواه رسيديد،
پرونده xyz را به كمك دستور زير ببنديد:
» diary off
اكنون مي توانيد پرونده xyz را باز كرده، خطوط و دستورهاي اضافي را از آن پاك كنيد و سپس بــا
دنباله m. آن را ذخيره نمائيد. به اين ترتيب يك m-file ايجاد كرده ايـد كـه بـه نتـايج اجـراي آن
اطمينان داريد.