کد رسم دایره توسط نرم افزار متلب MATLAB

برای رسم دایره توسط نرم افزار متلب از کد زیر میتوان استفاده کرد که به صورت زیر توضیح داده میشود:

x^2+y^2=r^2

اکنون برای یک شعاع دلخواه r میتوانیم بنویسیم:

2^y^2=r^2-x

 در نتیجه برای y میتوانیم دو ریشه در نظر بگیریم که یکی با علامت مثبت و دیگری با علامت منفی در نظر گرفته میشود. با رسم این دو ریشه و رسم همزمان آنها میتوانیم دایره مورد نظر را برای هر شعاع دلخواه r رسم کنیم.

clear

clc

x=-5:0.1:5;

y=-5:0.1:5;

m=length(x);

r=5

for ii=1:m

     for jj=1:m

     y1(ii,jj)=-sqrt(r^2-x(ii)^2);

     y2(ii,jj)=sqrt(r^2-x(ii)^2);

     end

end

plot(x,y1,'b',x,y2,'b')

پنجره دستورات یا Command window

هنگامی که نرم افزار متلب را اجرا میکنیم، در سمت راست یک پنجره دستورات قرار دارد. کاربر میتواند دستورات مورد نظر را در مقابل علامت << در پنجره دستورات وارد کند. به عنوان مثال برای محاسبه مساخت یک دایره به شعاع 2.5 سانتی متر میتوان دستور زیر را در مقابل علامت << تایپ نمود و در انتها دکمه Entee را فشار داد

>>area=pi*2.5^2

area=

        19.6350

این پاسخ که همان مساحت دایره می باشد در متغییر تعریف می شود و میتوان در محاسبات بعدی از آن استفاده نمود. لازم به ذکر است که این متغییر در نرم افزار به صورت یک آرایه 1*1 در نظر گرفته میشود.

اگر عبارتی طولانی باشد، به گونه ای که برای تایپ آن به بیشتر از یک خط نیاز باشد، قبل از این که ادامه عبارت در خط بعدی تایپ شود، میتوان در انتهای همان خط از سه نطقه (...) استفاده کرد و ادامه عبارت را در خط بعدی نوشت.

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

لازم به ذکر است که مشاوره و راهنمایی در مورد زمینه کاری تان و انجام پروژه رایگان می باشد.

ایمیل:

amir.hushang.shirdel@gmail.com

شماره تماس:

0079376146242

این شماره تماس مربوط به کشور روسیه (محل زندگی اینجانب) میباشد، باتوجه به هزینه زیاد تماس میتوانید از طریق ایمیل با بنده در ارتباط باشید.

با آرزوی توفیق روز افزون برای شما.

انجام پروژه های تحقیقاتی توسط نرم افزار متلب   MATLAB

نرم افزار متلب MATLAB یکی از پیشرفته ترین نرم افزارهای محاسباتی در زمینه علوم مهندسی و علوم پایه می باشد. در بسیاری از موارد، مشاهده و بررسی نتایج در رشته های مختلف علمی مورد نیاز است. ما در این وبلاگ اعلام میکنیم که آمادگی انجام تمامی پروژه های محاسباتی در زمینه نرم افزار متلب را داریم.

همچنین طراحان و تیم علمی این وبلاگ آمادگی همکاری در انجام پروژه های مشترک مربوط به مقالات آی اس آی و دیگر پژوهش های بینادی را دارند.

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

برای ارتباط با ما میتوانید از روشهای زیر استفاده کنید

Email: amir.hushang.shirdel@gmail.com

تلفن: 0079376146242



کارگاه آموزش نرم افزار متلب MATLAB

با سلام
به استحضار تمامی علاقه مندان به زمینه های تحقیقاتی و پژوهشی میرسانیم که یک کارگاه آموزشی نرم افزار متلب (MATLAB) در آبان ماه سال جاری (1394) به صورت وبینار در حال برگزاری می باشد، در آموزش به صورت وبینار نیازی به حضور فیزیکی شما عزیزان نیست و میتوانید از هر نقطه کشور و جهان در این کارگاه شرکت نمائید و از مزایای آن بهره مند شوید، و حتی میتوانید در حین ارائه مطالب سوالات خود را نیز از مدرس مربوطه بپرسید. لطفا برای ثبت نام و کسب اطلاعات بیشتر به لینک زیر بخش برگزاری کارگاه های آموزشی مراجعه نمائید. علاوه بر این کارگاه های مفید و کاربردی دیگری نیز در حال برگزاری میباشد که میتوانید در آنها نیز شرکت نمائید. کارگاه نرم افزار کامسول (COMSOL) و نرم افزار گوسین (Gaussian).
http://physica.ir

آموزش تصویری نرم افزار متلب MATLAB

با سلام خدمت تمامی علاقه مندان به آموزش نرم افزار متلب (MATLAB).

باتوجه به اینکه بنده به منظور ادامه تحصیل در مقطع PhD به خارج از کشور مسافرت کرده ام و امکان ارتباط حضوری با پژوهشگران و محققان برای اینجانب وجود ندارد، لذا خواهشمندم جهت انجام پروژه های برنامه نویسی توسط نرم افزار متلب و یا آموزش این نرم افزار به صورت مجازی توسط یکی از راه های ارتباطی زیر با بنده تماس حاصل فرمائید.

ایمیل: amir.hushang.shirdel@gmail.com

شماره تماس: 0079376146242

در صورت تمایل به برگزاری تماس مجازی، و آموزش تصویری، میتوانید از نرم افزارهای تلگرام و اسکایپ نیز استفاده نمائید.

آموزش تصویری متلب

با سلام خدمت تمامی علاقه مندان به آموزش نرم افزار متلب (MATLAB).

باتوجه به اینکه بنده به منظور ادامه تحصیل در مقطع PhD به خارج از کشور مسافرت کرده ام و امکان ارتباط حضوری با پژوهشگران و محققان برای اینجانب وجود ندارد، لذا خواهشمندم جهت انجام پروژه های برنامه نویسی توسط نرم افزار متلب و یا آموزش این نرم افزار به صورت مجازی توسط یکی از راه های ارتباطی زیر با بنده تماس حاصل فرمائید.

ایمیل: amir.hushang.shirdel@gmail.com

شماره تماس: 0079376146242

در صورت تمایل به برگزاری تماس مجازی، و آموزش تصویری، میتوانید از نرم افزارهای تلگرام و اسکایپ نیز استفاده نمائید.

اولین کارگاه آموزش نرم افزار مطلب در گرگان matlab workshop

با سلام

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

http://www.physica.ir/index.php/2015-05-04-06-25-57

مهلت ثبت نام تا پایان مرداد ماه سال 1394

آدرس: استان گلستان، شهرستان گرگان.

در صورت بروز هرگونه مشکل و یا سوالات خاص میتوانید با شماره تلفن زیرتماس حاصل فرمائید:

شماره تماس:                                   09119701682

چرا نرم افزار MATLAB ؟

نرم افزار قوی جهت دانشجویان و محققین رشته های ریاضی و مهندسی است که اولین نگارش آن در دانشگاه نیومکزیکو و استانفورد در سال ١٩٧٠ در جهت حل مسائل تئوری ماتریسها، جبر خطی و آنالیز عددی بوجود آمد و امروزه صدها هزار کاربر دانشگاهی، آکادمیک، صنعتی و ... در زمینه های بسیار متنوع مهندسی نظیر ریاضیات پیشرفته، جبر خطی، مخابرات، مهندسی سیستم و ... با MATLAB بعنوان یکی از اولین محیط های محاسباتی و تکنیکی که قادر به حل مسائل آنهاست، آشنا می شوند.

ریاضیات، زبان مشترک بسیاری از علوم مهندسی است. ماتریس ها، معادلات دیفرانسیل، رشته های عددی اطلاعات، ترسیمات و گراف ها از لوازم اصلی بکار گرفته در ریاضیات و نیز در MATLAB هستند.

MATLAB اکنون یک سیستم مؤثر و زبان برنامه نویسی بسیاری از محاسبات علمی و مهندسی است.

 

قابلیت های نرم‌افزار Mathworks Matlab :

مدل‌سازی فیزیكی

تحلیل‌های آماری

منطق فازی

واقعیت مجازی

پردازش تصویر

طراحی فیلتر

تحلیل‌های اقتصادی

شبكه‌های عصبی

طراحی سیستم‌های مخابراتی

و ...

کارگاه آموزشی MATLAB در شهرستان گرگان - استان گلستان

با سلام

نرم افزار MATLAB یک نرم افزار جامع، کاربردی و بسیار قدرتمند برای انجام امور محاسباتی در تمامی رشته های تحصیلی و بخصوص علوم مهندسی و علوم پایه می باشد. بنابراین یادگیری این نرم افزار پیشرفته می تواند زمینه های کاری و پژهشی فراوانی را پیش روی دانشمندان و دانش پژوهان گرامی قرار دهد.

بنابراین باتوجه به تقاضاهای زیاد دانش پژوهان گرامی برای آموزش نرم افزار MATLAB و نیاز روز افزون به یادگیری این نرم افزار، قصد داریم یک کارگاه آموزشی در شهرستان گرگان واقع در استان گلستان و در مرداد ماه سال جاری ( 1394 )برگزار نمائیم. لذا از تمامی علاقه مندان به یادگیری نرم افزار MATLAB تقاضا می شود جهت ثبت نام و کسب اطلاعات بیشتر به لینک زیر مراجعه نمایند.

http://physica.ir/index.php/2015-05-04-06-25-57/matlab

در صورت بروز مشکل و یا سوالات بیشتر می توانید از طریق پل های ارتباطی زیر با  ما تماس حاصل نمائید.

شماره تماس ضروری : 09119701682

آدرس ایمیل: amir.hushang.shirdel@gmail.com

حل معادله پواسون -روش تفاضل متناهی ( Finite Differencing Method )

 معادله پواسون یک معادله دیفرانسیل جزیی بیضوی (Elliptic PDE) است و در دو بعد بشکل زیر نوشته می شود،

(1)

 

با استفاده از تقریب مشتق مرکزی، مشتقات مرتبه دو بصورت زیر در می آیند،

 

(2)

(3)

برای سادگی محاسبات فرض می کنیم h=∆x=Δy در اینصورت با جایگذاری رابطه های (2) و (3) در معادله (1) خواهیم داشت،

(4)

این رابطه در هر نقطه (i,j)Φ واقع شده در مشبندی برقرار است. در حالتیکه g(x,y)=0 (یعنی حالتیکه چشمه بار وجود ندارد) معادله پواسون به معادله لاپلاس تقلیل می یابد در اینصورت رابطه (4) برای معادله لاپلاس بشکل زیر بازنویسی می شود،

 

 

(5)

رابطه (5) نشان می دهد که مقدار Φ برای هر نقطه، میانگین مقادیر Φ ها در چهار نقطه مجاور آن است. سلول محاسباتی پنج نقطه ای توصیف شده در رابطه (5) در شکل زیر نشان داده شده است( اعداد واقع شده در هر سلول مقدار ضریب هر سلول را نشان می دهد)،

اعمال روش تفاضل متناهی (FDM) به مجموعه ای از معادلات جبری می شود. برای یافتن پاسخ مجموعه معادلات دو روش تکرار و ماتریسی مرسومترند.

روش تکرار

روشهای تکرار عموما برای حل سیستم بزرگی از معادلات بکار می روند. شیوه کار در اینگونه موارد آنست که یک تقریب اولیه برای محاسبه تقریب ثانویه استفاده می شود. تقریب ثانویه نیز برای محاسبه سومین تقریب بکار می رود و این روند تا رسیدن به یک همگرایی ادامه می یابد. سه روش تکرار مرسوم ژاکوبی (Jacobi) ، گاوس – سیدل (Gauss - Seidel) و فراواهلش متوالی (successive over-relaxation (SOR)) می باشد.

- روش ژاکوبی

در این روش رابطه (4) را بصورت زیر بازنویسی می شود.

(6)

در روش ژاکوبی پتانسیل در هر تکرار از تنها از داده های تکرار قبلی استفاده می شود. سرعت همگرایی روش زاکوبی کم است. در روشهای بعدی آهنگ همگرایی بهبود می یابد.

- روش گاوس – سیدل

با دقت کمی متوجه میشویم که در محاسبه (i,j)Φ برای تکرار k+1 اطلاعات مربوط به جملات (Φ(i-1,j و  (Φ(i,j-1 برای تکرار k+1 موجود هستند و از آنجایی این جملات نسبت به جملات مشابه تکرار kام دقیقترند میتوان آنها را جایگزین نماییم. در اینصورت رابطه تکرار گاوس – سیدل بشکل زیر بدست می آید،

(7)

- روش SOR

برای اعمال روش SOR نخست جمله باقیمانده، (R(i,j، در گره iو j بصورت اختلاف بین پاسخ های k و k+1امین تکرار تعریف می کنیم،

 

(8)

توجه داشته باشید k+1(i,j)Φ  از الگوریتم گاوس –سیدل (رابطه 8) جایگزین شده است. مقدار باقیمانده که با R (i,j)نشان داده میشود را می توان بعنوان جمله تصحیح در نظر گرفت که برای نزدیک شدن به پاسخ صحیح باید به (i,j)Φ اضافه می شود. با همگرایی بسمت پاسخ صحیح R(i,j) به صفر میل میکند.. برای تسریع آهنگ همگرایی باقیمانده را در پارامتر ω ضرب می کنیم و آنرا با (i,j)Φ مربوط به kامین تکرار جمع می کنیم تا (i,j)Φ در (k+1)امین تکرار بدست آید. بنابراین رابطه تکرار بصورت زیر در خواهد آمد،

(9)

پارامتر ω فاکتور واهلش نامیده می شود و عددی بین 1 و 2 است. مقدار بهینه ω از طریق آزمون و خطا مشخص می گردد.

اسکریپت زیر معادله پواسون در دو بعد را با روش SOR حل می کند. در اینجا پس از تعداد 200 تکرار برنامه متوقف می شود. الیته می توانید با تعریف یک پارامتر دقت، برنامه را به گونه ای بنویسید که به ازای رسدن به دقت معینی متوقف شود. ناحیه مورد بررسی یک صفحه مستطیلی محصور بین خطوط x=0,x=1,y=0,y=1 می باشد. شرایط اولیه مسئله و همچنین چگالی بار بصورت زیر در نظر گرفته شده است،

 

% finite difference methode of 2-Dimentional poisson equation

% using by SOR methode

clc

clear all

%-----------------------

N=100;   % Number of nodes in each dimention

x=linspace(0,1,N);

y=x;

dx=x(2)-x(1);

dy=dx;

[Y X]=meshgrid(y,x);

V=zeros(N);  % initial guess

% boundry conditions---

V(:,1)=1;      % V(y=0)

V(:,end)=1;    % V(y=1)

V(1,:)=0;      % V(x=0)

V(end,:)=0;    % V(x=1)

%------------------------

rho=X;    % charged density

ep=1;     % epsilon

Vnew=V;

w=1;

tic  % start time

for m=1:200    % iteration loop

for i=2:N-1

for j=2:N-1

Vnew(i,j)=(1-w)*V(i,j)+w/4*(V(i+1,j)+Vnew(i-1,j)...

+V(i,j+1)+Vnew(i,j-1)+1/ep*rho(i,j)*dx^2);

end

 

end

V=Vnew;

end

toc % stop time

mesh(X,Y,V)

xlabel('x')

ylabel('y')

 

حل معادله پواسون در دو بعد با استفاده از روش SOR

 

حل معادله پواسون تک بعدی - روش تکرار

روش کار مشابه حالت قبل است , توجه به اینکه مسئله تک بعدیست کارمان ساده تر است. در این مورد رابطه تکرار 7 برای روش فراواهلش SOR بصورت زیر خواهد شد،

(10)

به عنوان مثالی برای این مورد معادله لاپلاس تک بعدی (g(x)=0) را با شرایط اولیه زیر ناحیه x=[0 1] حل می نماییم.

V(x=0)=-1

V(x=1)=2

% finite difference methode of 1-Dimentional Laplas equation

% using by SOR methode

clc

clear all

%-----------------------

N=100;   % Number of nodes in each dimention

x=linspace(0,1,N);

dx=x(2)-x(1);

Vold=zeros(1,N);  % initial guess

% boundry conditions---

Vold(1)=-1;      % V(x=0)

Vold(end)=2;    % V(x=1)

%------------------------

Vnew=Vold;

rho=zeros(1,N);    % charged density

ep=1;           %

w=1.5;

for m=1:1000    % iteration loop

for i=2:N-1

Vnew(i)=(1-w)*Vold(i)+w/2*(Vold(i+1)+Vnew(i-1)...

+1/ep*rho(i)*dx^2);

end

Vold=Vnew;

end

plot(x,Vnew)

 

حل معادله لاپلاس تک بعدی با استفاده از روش SOR

روش ماتریسی

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

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

 

 

 

 

 

 

 

 

 

 

(11)

همانگونه که پیداست ماتریس ضرایب (ماتریس اول از سمت چپ) یک ماتریس مربعی سه قطری است که درایه های روی قطر اصلی آن -2 و درایه های روی دو قطر دیگر 1 می باشد. چنین ماتریسیهایی را در متلب به اسانی می توان با استفاده از تابع diag خلق نمود. اگر تعداد مشها با درنظرگرفتن نقاط مرزی برابر با N با شد آنگاه دستور زیر این ماتریس     (N-2)*(N-2) را خلق می کند،

A=-2*diag(ones(1,N-2))+diag(ones(1,N-3),1)+diag(ones(1,N-3),-1);

جمله اول عناصر روی قطر اصلی، جمله دوم عناصر بالای قطر اصلی و سومین جمله عناصر پایین قطر اصلی را تولید می کند. با این توضیحات می توانیم اسکریپت مورد نظر را برای مثال قبلی بنویسیم،

clc

clear all

% 1-D poisson equation solution matrix method based finite diffrence

saeed59tb@gmail.com

N=100;

x=linspace(0,2,N);

dx=x(2)-x(1);

phi1=-1;

phiN=1;

A=-2*diag(ones(1,N-2))+diag(ones(1,N-3),1)+diag(ones(1,N-3),-1);

gx=x;

B=dx^2*gx(2:end-1)';

B(1)=B(1)-phi1;

B(end)=B(end)-phiN;

phi=A\B;

phi=[phi1 phi' phiN];

plot(x,phi)

در مورد معادله لاپلاس کافیست قرار دهیم،

gx=zeros(1,N);

 

حل معادله پواسون دو بعدی به روش ماتریسی

در این مورد با استفاده از روابط (2)  و (3) و جایگذاری آنها در معادله پواسون دوبعدی به معادله ماتریسی مشابه رابطه (9) میرسیم. مهمترین مشکل تشکیل ماتریس ضرایب در حالت دو بعدیست که به نسبت حالت یک بعدی کار مشکلییست. اسکریپت زیر معادله پواسون را به روش ماتریسی برای مسئله ای با همان شرایط اولیه که در بالا انرا به روش SOR حل کردیم، حل می نماید.

ایراد روش ماتریس بخصوص در مواردی که با ابعاد بیش از یک بعد سرو کار داریم بحث حافظه مورد نیاز است. در چنین مواردی بهتر است از روشهایی با دقت بالاتر استفاده نماییم تا مجبور نیاشیم ابعاد ماتریسها را خیلی بزرگ نماییم. در مورد معادلاتی نظیر معادله پواسون در ابعاد بیش از یک بعد روش المان محدود جایگزین مناسبی برای روش تفاضل محدود است چرا که  از دقت بالاتری برخوردار است. ایراد دیگر روش تفاضل متناهی در مواجه با مواردی است که با نواحی مرزی با شکلهای پیچیده تر روبرو هستیم که در این موارد این روش عملا کارایی ندارد. در چنین مواردی روش المان را باید بکار برد. در بخشهای بعدی روش استفاده از جعبه ابزار (toolbox) المان محدود را برای حل چنین مسائلی شرح خواهم داد.

clc

clear; % clear workspace to start new

close; % close previous figures to start new

%------------------

Nx=50;       % number of mesh- x dirextion

Ny=50;       % number of mesh- y dirextion

nx=Nx-2;     % number of mesh- x dirextion without boundry point clc

clear; % clear workspace to start new

close; % close previous figures to start new

%------------------

Nx=50;       % number of mesh- x dirextion

Ny=50;       % number of mesh- y dirextion

nx=Nx-2;     % number of mesh- x dirextion without boundry point x=0 & x=Lx

ny=Ny-2;     % number of mesh- y dirextion without boundry point y=0 & x=Ly

x=linspace(0,1,Nx);

y=linspace(0,1,Ny);

dx=x(2)-x(1);

dy=y(2)-y(1);

X=repmat(x(2:end-1),1,ny)';

Y=repmat(y(2:end-1),nx,1);

Y=Y(:);

rho=X;

ep=1;

a=diag(ones(1,nx));

b=diag(ones(1,nx-1),1);

c=diag(ones(1,nx-1),-1);

A1=(-2*a+b+c)/dx^2-2*a/dy^2;

A=A1;

for i=1:ny-1

A=blkdiag(A,A1);

end

A=A+diag(ones(1,nx*(ny-1)),nx)/dy^2+diag(ones(1,nx*(ny-1)),-nx)/dy^2;

phi0=zeros(1,nx*ny)';

phi0(1:nx:end)=1/dx^2;

phi0(nx:nx:end)=1/dx^2;

phi0(1:nx)=0;

phi0(end-nx+1:end)=0;

B=-rho/ep-phi0;

phi=A\B;

phi=reshape(phi,nx,ny);

surf(phi)

حل معادله پواسون در دو بعد با استفاده از روش ماتریسی

 

رسم کلاه مشهور مکزیکی

 

>> [x,y]=meshgrid(-8.2:0.5:8.2);

>> r=sqrt(x.^2+y.^2);

>> z=sin(r)./r;

>> mesh(z)

معادله موج

معادله موج یکی از پرکاربرد ترین معادلاتی است که در تمامی مسائل فیزیکی به آن پرداخته می‏شود. از امواج مکانیکی موجود در سطح آب گرفته تا امواج الکترومغناطیسی ما نیازمند به حل معادله موج هستیم. یکی از بهترین و قوی ترین نرم افزارهای محاسباتی که در آن قدرت برنامه نویسی به همراه توابع ضروری دست به دست یکدیگر داده اند تا حل چنین مسائلی را برای مان ساده کند نرم افزار MATLAB (مطلب و یا متلب) است.
معادله موج می‏تواند به صورت یک بعدی و یا دوبعدی باشد، که به صورت یک معادله دیفرانسیل هذلولوی شناخته می‏شود.
در تصویر زیر یک معادله موج حل شده را در فضای دو بعدی می‏بینید که توسط نرم افزار متلب (MATLAB) شبیه سازی شده است. نمودار موج انتشار یافته در محیط در شکل سمت چپ نمایش داده شده است و نمودار خطای محاسباتی آن که از مرتبه 14-^10 است نیز در شکل سمت راست نشان داده شده است.
معادله موج

معرفی MATLAB

 نرم افزار MATLAB از جمله مهمترین و کاربردی ترین نرم افزار های مهندسی است که دامنه استفاده های آن تمام رشته های مهندسی را در بر گرفته است. زمينه هايي كه MATLAB به آنها پرداخته است شامل مخابرات، كنترل، فازي، پردازش تصوير وصوت، معادلات ديفرانسيل جزئي، شبكه عصبي، سيستم هاي قدرت، رياضيات، بانك اطلاعاتي، و... می باشد.

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

کار کردن با ماتریس‏ها در متلب بسیار ساده است. در حقیقت تمام داده‌ها در متلب به شکل یک ماتریس ذخیره می‌شوند. برای مثال یک عدد (اسکالر) به شکل یک ماتریس 1*1 ذخیره می‌شود. یک رشته مانند «Whale is the biggest animal» به شکل ماتریسی با یک سطر و چندین ستون (که تعداد ستون‌ها به تعداد کاراکترهاست) ذخیره می‌شود. حتی یک تصویر به شکل یک ماتریس سه بعدی ذخیره می‌گردد که بُعد اول و دوم آن برای تعیین مختصات نقاط و بُعد سوم آن برای تعیین رنگ نقاط استفاده می‌شود. فایل‌های صوتی نیز در متلب به شکل ماتریس‌های تک ستون (بردار ستونی) ذخیره می‌شوند. بنابراین جای تعجب نیست که متلب مخفف عبارت آزمایشگاه ماتریس باشد.

علاوه بر توابع فراوانی که خود متلب دارد، برنامه‌نویس نیز می‌تواند توابع جدید تعریف کند.

استفاده از توابع متلب برای نمایش داده‌ها بسیار راحت و لذت بخش است.

قدرت متلب

هسته متلب برای سرعت و کارایی بالا به زبان سی نوشته شده‌است ولی رابط گرافیکی آن به زبان جاوا پیاده سازی گشته‌است.

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

simulink، ابزاری برای شبیه‌سازی سامانه‌ها به صورت مجرد