رفتن به مطلب

آموزش نرم افزار matlab


ارسال های توصیه شده

با سلام

با توجه به اهمیت و کاربرد نرم افزار matlab و همونطور که دوستان اطلاع دارید امروزه اکثر دانشجویان توی هر رشته ای باشن کم و بیش با این نرم افزار درگیر میشن تصمیم داریم آموزش این نرم افزار را هر هفته داشته باشیم

سعی کردم مطالب را سریع تر پیش ببرم بنابراین مطالب و دستورات اولیه را تا حایی که لازمع میگم و زودتر میریم سر مطالب تکمیلی در این راه منتظر انتقادات و پیشنهادات شما عزیزان هستم

Matlab مخفف عبارت matrix laboratory یا آزمایشگاه ماتریس می باشد چون در این برنامه اصول تعریف داده بر مبنای تعریف یک سری ماتریس ها می باشد

آشنایی با بخش های مختلف نرم افزار

Command Window

 

با نوشتن دستور و زدن کلید Enter دستور اجرا می شود. به عنوان مثال کلمه Demo را تایپ کرده و کلید Enter را فشار دهید. ملاحظه می کنید که پنجره ای باز می شود که نشان دهنده Demoهای مختلف MATLAB است. با زدن کلید RUN، demo انتخابی اجرا می شود. البته می توان پنجره Demo را با استفاده از منو Help نیز باز کرد.

 

 

Command history

 

پنجره ای است که همه دستورات اجرا شده در Command window را بایگانی می کند.

 

نرم افزار MATLAB به عنوان یکی از پیشرفته ترین نرم افزارهای علمی جهان امروز شناخته می شود. MATLAB این قابلیت را دارد که بتوانید با نوشتن چند دستور ساده الگوریتم مورد نظر خود را به این نرم افزار اضافه کنید

 

work space

 

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

 

 

launch pad

 

ابزاری برای دست رسی اسان به Help، Demo و Tools که در نگارش های 7 به بالا، تمام این ابزار در کلید Start قرار داده شده اند.

 

 

current directory

 

این شاخه عموما در زمان نصب و راه اندازی به مسیر MATLAB/Work منتقل می شود. مکانی ست که فایل درحال اجرا در آن قرار می گیرد. هر دستور ورودی و خروجی در این شاخه انجام می شود. یعنی اگر بخواهیم متغیری اضافه یا حذف کنیم در این فایل اضافه و حذف می شود.

 

Current directory را می توان هم از طریق خود پنجره و هم از طریق فشار دادن دکمه مربوط در نوار ابزار تغییر داد.

 

 

کار در command window

 

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

 

حال چگونه در این پنجره کار کنیم.

 

اگر هنگام اجرای MATLAB، هنوز در صفحه Command Window علامت >> ظاهر نشده است، صبر کنید. برنامه هنوز به صورت کامل راه اندازی نشده است. نوشتن دستورات در این پنجره به این سورت است که دستور مورد نظر را جلوی

 

مثلا برای تعریف متغیر a، تنها کافیست بنویسم a=3 و اینتر را فشار دهیم. در این حالت نرم افزار مقدار 3 را به متغیر a نسبت می دهد.

 

حال با نوشتن a+2 و فشار دادن اینتر، به عبارت ans = 5 مواجه می شوید. که جواب مسئله است.(ans مخفف answer است).

 

بدین صورت ساده از MATLAB می توان به عنوان ماشین حساب استفاده کرد. مهم است که بدانید دستورات در MATLAB با حروف کوچک نشان داده می شوند.

 

ایجاد آرایه دو بعدی

برای رفتن به ستون بعدی از space یا , استفاده میشود

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

با سلام

با توجه به اهمیت و کاربرد نرم افزار matlab و همونطور که دوستان اطلاع دارید امروزه اکثر دانشجویان توی هر رشته ای باشن کم و بیش با این نرم افزار درگیر میشن تصمیم داریم آموزش این نرم افزار را هر هفته داشته باشیم

سعی کردم مطالب را سریع تر پیش ببرم بنابراین مطالب و دستورات اولیه را تا حایی که لازمع میگم و زودتر میریم سر مطالب تکمیلی در این راه منتظر انتقادات و پیشنهادات شما عزیزان هستم

Matlab مخفف عبارت matrix laboratory یا آزمایشگاه ماتریس می باشد چون در این برنامه اصول تعریف داده بر مبنای تعریف یک سری ماتریس ها می باشد

آشنایی با بخش های مختلف نرم افزار

Command Window

 

با نوشتن دستور و زدن کلید Enter دستور اجرا می شود. به عنوان مثال کلمه Demo را تایپ کرده و کلید Enter را فشار دهید. ملاحظه می کنید که پنجره ای باز می شود که نشان دهنده Demoهای مختلف MATLAB است. با زدن کلید RUN، demo انتخابی اجرا می شود. البته می توان پنجره Demo را با استفاده از منو Help نیز باز کرد.

 

 

Command history

 

پنجره ای است که همه دستورات اجرا شده در Command window را بایگانی می کند.

 

نرم افزار MATLAB به عنوان یکی از پیشرفته ترین نرم افزارهای علمی جهان امروز شناخته می شود. MATLAB این قابلیت را دارد که بتوانید با نوشتن چند دستور ساده الگوریتم مورد نظر خود را به این نرم افزار اضافه کنید

 

work space

 

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

 

 

launch pad

 

ابزاری برای دست رسی اسان به Help، Demo و Tools که در نگارش های 7 به بالا، تمام این ابزار در کلید Start قرار داده شده اند.

 

 

current directory

 

این شاخه عموما در زمان نصب و راه اندازی به مسیر MATLAB/Work منتقل می شود. مکانی ست که فایل درحال اجرا در آن قرار می گیرد. هر دستور ورودی و خروجی در این شاخه انجام می شود. یعنی اگر بخواهیم متغیری اضافه یا حذف کنیم در این فایل اضافه و حذف می شود.

 

Current directory را می توان هم از طریق خود پنجره و هم از طریق فشار دادن دکمه مربوط در نوار ابزار تغییر داد.

 

 

کار در command window

 

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

 

حال چگونه در این پنجره کار کنیم.

 

اگر هنگام اجرای MATLAB، هنوز در صفحه Command Window علامت >> ظاهر نشده است، صبر کنید. برنامه هنوز به صورت کامل راه اندازی نشده است. نوشتن دستورات در این پنجره به این سورت است که دستور مورد نظر را جلوی

 

مثلا برای تعریف متغیر a، تنها کافیست بنویسم a=3 و اینتر را فشار دهیم. در این حالت نرم افزار مقدار 3 را به متغیر a نسبت می دهد.

 

حال با نوشتن a+2 و فشار دادن اینتر، به عبارت ans = 5 مواجه می شوید. که جواب مسئله است.(ans مخفف answer است).

 

بدین صورت ساده از MATLAB می توان به عنوان ماشین حساب استفاده کرد. مهم است که بدانید دستورات در MATLAB با حروف کوچک نشان داده می شوند.

 

ایجاد آرایه دو بعدی

برای رفتن به ستون بعدی از space یا , استفاده میشود

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

لینک به دیدگاه
  • 2 هفته بعد...

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

در صورتی که بخواهید در مورد دستور و یا تابع خاصی اطلاعاتی به دست بیارید به صورت زیر عمل کنید

Help نام دستور

مثال:

Help plot

اگر از دستور demo استفاده کنید پنجره جدیدی باز میشود که می توانید مثال های متعددی از دستور را ببینید

مثال:

Demo plot

متغیرها

 

ü اسامی متغیرها باید یک کلمه باشد و بین آنها فضای خالی نباشد

ü متلب به حروف کوچک و بزرگ حساس است

ü اسامی متغیرها می تواند حداکثر 63 کاراکتر باشند

ü اسامی متغیرها با حرف باید شروع شود و بعد از آن می توان از عدد هم استفاده کرد

ü اسامی متغیرها نباید از کلمات رزرو شده باشد ( else , if , end , for , while , break , return , switch , …)

 

 

متغیرهای ویژه نرم افزار متلب

Ans : نام متغیر پیش فرض برای نشان دادن نتایج

Beep : تولید صدای بیپ

Pi : عدد پی

Inf: بی نهایت

Nan: مخفف not a number

I , j: عدد مختلط

Nargin: تعداد آرگومان ورودی تابع

Nargou : تعداد آرگومان خروجی تابع

Realmax : بزرگترین عدد حقیقی مثبت که می توان از آن استفاده کرد

Realmin : کوچکترین عدد حقیقی مثبت که می توان از آن استفاده کرد

Eps: اپسیلون کوچکترین عدد ممکن

 

عملگرها

[] براکت

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

 

[1,2,3,4]

[‘ali’]

علامت: کالن

برای تعیین محدوده به کار میرود

Q=1:9

Q=

1 2 3 4 5 6 7 8 9

 

W=1:2:9

W=

1 3 5 7 9

; سیمیکالن

برای نشان داده نشدن نتیجه دستور به کار میرود

A=3

A=

3

A=3;

 

عملگر + , -

[1 2]+[3 4]

Ans=

3 6

*ضرب ماتریسی

باید حتما درجه دو ماتریس سازگاری داشته باشد تعداد سطرهای ماتریس اول با تعداد ستون های ماتریس دوم برابر باشد

A=[1 2 3];

B=[1;2;3];

A*b

Ans=

14

اگر بخواهیم درایه های دو ماتریس نظیر به نظیر در هم ضرب شوند از عملگر .* استفاده می کنیم

/ تقسیم از چپ به راست

10/2

ANS=

5

\ تقسیم از راست به چپ

10\2

ANS=

0.2

^ توان

2^3

ANS=

8

اگر ماتریس را به توان برسانیم آن را با روش ضرب ماتریسی در خودش ضرب می کند اما اگر بخواهیم درایه های یک ماتریس به صورت درایه به درایه به توان برسد از عملگر .^ استفاده میکنیم

 

‘ ترانهاده ماتریس

ترانهاده یعنی تعویض سطر و ستون هر درایه در ماتریس

 

SQRT ریشه دوم – از هر درایه ماتریس ریشه دوم میگیرد

SQRTm ریشه دوم ماتریس – ریشه دوم را به صورت ماتریسی محاسبه میکند

Nthroot ریشه nام عدد را میگیرد به طور مثال دستور زیر ریشه سوم عدد 8 را محاسبه می کند

Nthroot(8,3)
Ans=
2

Power توان مقدار اول را به توان مقدار دوم می رساند

Power(2,3)
Ans=
8

 

Pow2 توان بر پایه 2 عدد 2 را به توان عدد داده شده میرساند

Pow2(3)
Ans=
8

Exp تابع نمایی

مقدار تابع نمایی یا همان e به توان x را محاسبه می کند

Exp(1)
Ans=
2.7183 که این همان عدد نپر است                                  

Log لگاریتم طبیعی با بر مبنای e

Log2 لگاریتم بر مبنای 2

Log10 لگاریتم بر مبنای 10

Logm لگاریتم ماتریس را میدهد

گرد کردن اعداد

[TABLE=align: right]

[TR]

[TD]عملکرد :

-2.7

[/TD]

[TD]عملکرد : 2.4

[/TD]

[TD]عملکرد تابع

[/TD]

[TD]تابع

[/TD]

[/TR]

[TR]

[TD]-2

[/TD]

[TD]2

[/TD]

[TD] عدد را به سمت صفر گرد می کند

[/TD]

[TD]Fix

[/TD]

[/TR]

[TR]

[TD]-3

[/TD]

[TD]2

[/TD]

[TD]عدد را به سمت منفی بی نهایت گرد می کند

[/TD]

[TD]Floor

[/TD]

[/TR]

[TR]

[TD]-2

[/TD]

[TD]3

[/TD]

[TD]عدد را به سمت مثبت بی نهایت گرد می کند

[/TD]

[TD]Ceil

[/TD]

[/TR]

[TR]

[TD]-3

[/TD]

[TD]2

[/TD]

[TD]عدد را به سمت نردیکترین همسایگی کرد می کند

[/TD]

[TD]Round

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

 

 

 

محاسبه باقی مانده

 

[TABLE=align: right]

[TR]

[TD]باقیمانده تقسیم ار بالا

[/TD]

[TD]Mod(x,y)=floor(x./y)

[/TD]

[TD]Mod

[/TD]

[/TR]

[TR]

[TD]باقیمانده تقسیم از پایین

[/TD]

[TD]Rem(x,y)=fix(x./y)

[/TD]

[TD]Rem

[/TD]

[/TR]

[/TABLE]

 

 

 

 

 

Sign تابع علامت

Sign(10)
Ans=
             1
Sign(0)
Ans=
            0
Sign(-5)
Ans=
            -1


لینک به دیدگاه

توابع ریاضیات گسسته یا توابع عددی

Primes : این تابع اعداد اول از صفر نا عدد وارد شده را ارائه میدهد

Primes(11)

Ans=

2 3 5 7 11

Isprime : اگر عدد اول باشد مقدار 1 و اگر اول نباشد مقدار 0 را برمیگرداند

C=[2 3 0 6 10];

Isprime( c )

Ans=

1 1 0 0 0

Factor : این تابع عدد وارد شده را به اعداد اول تجزیه می کند

Factor(100)

Ans=

2 2 5 5

Factorial : مقدار فاکتوریل عدد وارد شده را می دهد

Factorial(8)

Ans=

720

Gcd: بزرگترین مقسوم علیه مشترک دو عدد را می دهد

Gcd(12,36)

Ans=12

Lcm : کوچکترین مضرب مشترک دو عدد را میدهد

Lcm(6,22)

Ans=

66

Nchoosek: تمام ترکیبات n تایی از k را در یک زمان نشان میدهد

Nchoosek(n,k)

N!/((n-k)!*k!)

Nchoosek(2:2:10,4)

Ans=

2 4 6 8

2 4 6 10

2 4 8 10

2 6 8 10

4 6 8 10

 

کار با توابع مثلثاتی

توابع مثلثاتی به همان صورتی که در ریاضیات شناخته شده اند وجود دارند

Sin(x)

Cos(x)

Tan(x)

Cot(x)

Sec(x)

Csc(x)

معکوس توابع مثلثاتی

Asin(x)

Acos(x)

Atan(x)

Acot(x)

Asec(x)

Acsc(x)

توابع مثلثاتی هیپربولیک

Asinh(x)

Acosh(x)

Atanh(x)

Acoth(x)

Sech(x)

Csch(x)

معکوس توابع مثلثاتی هیپربولیک

Asinh(x)

Acosh(x)

Atanh(x)

Acoth(x)

Asech(x)

Acsch(x)

توجه داشته باشید که ورودی این دستورات رادیان است . برای تبدیل رادیان به درجه باید در دستور (pi/180) ضرب نمود . که pi همان 3.14 است

لینک به دیدگاه
  • 4 هفته بعد...

برخی دستورات در متلب

 

 

: Format compact برای حذف کردن خط اضافه ی بین هر دو خط . یعنی خطوط فشرده تر می شوند.

 

برای تعیین دقت محاسبه از تابع زیر استفاده می کنیم:

Vpa: variable precision arithmetic

همه ی توابع در متلب ورودی میخواهند که این ورودی باید داخل پرانتز نوشته شود.

Vpa(pi,n)

عدد را تا n رقم اعشار نمایش می دهد.

 

برای محاسبه زمان دستورات از دستور tic toc استفاده می کنیم بدین صورت که قبل از دستوراتی که میخواهیم زمانش را بفهمیم، tic و در آخر مجموعه دستورات toc مینویسیم .

 

و همچنین با تایپ دستور clock زمان کامپیوتر را به ما میدهد.

به عنوان مثال:

 
Format rat
Clock
Ans
2011              9              2              4             15           3223/87

 

ضرب داخلی که نتیجه ی آن یک عدد است.Dot(a,b)

 

Cross(a,b) ضرب خارجی که نتیجه ی آن یک بردار است.

 

رسم مستطیل طلایی: golden rectangle

این مستطیل برای معماری کاربرد دارد.در این مستطیل نسبت طول به عرض برابر است با:

1+sqrt(5))/2)

که حاصل آن برابر است با تقریبا 1/6

اگر بنا ها با این نسبت ساخته شوند خیلی زیبا تر به چشم می آیند.

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

طریقه ی ایجاد :

یک مربع میکشیم و وسط یک ضلع را مییابیم به اندازه ی فاصله ی این نقطه ی وسط تا ضلع روبرویش یک کمان میزنیم و سپس ادامه می دهیم

ابتدا یک mfile باز می کنیم:

 
clc
clear all
phi=(1+sqrt(5))/2;
x=[0 phi phi 0 0]
y=[0 0 1 1 0]
plot(x,y)
x1=[1 1]
y1=[0 1]
hold on
plot(x1,y1)
axis off
text(-0.05,0.5,'1')
text(0.5,-0.05,'1')
text(phi/2,1.05,'\phi')
text(1+(phi-1)/2,-0.05,'\phi-1')
text(1.05,0.5,'1')
set(gcf,'color','w')

 

 

مقادیر ویژه ی ماتریس:

Eig(a)
Det(SI-A)=0

 

که در آن I ماتریس یکه است.

در درس مدار 2 در قسمت فضای حالت کاربرد دارد.

اگر

A ماتریس حالت

B ماتریس ورودی

C ماتریس خروجی

D ماتریس انتقال

X متغیر های حالت

U متغیر های ورودی

Y متغیر های خروجی باشند ، مقادیر ویؤه ی ماتریس A فرکانس های طبیعی شبکه هستند.

 
x.=Ax+Bu
y=Cx+Du

لینک به دیدگاه
  • 4 هفته بعد...

توابع رسم:

ایجاد یک سری نقاط با گام های مختلف:

 
T=0:10       0 1 2 3 4 5 6 7 8 9 10 گام پیش فرض
T=0:2:10          0 2 4 6 8 10

ایجاد نقاط با فواصل خطی:

Linspace(a,b)

که a عدد ابتدا و b عدد انتهاست.

پیش فرض این است که 100 نقطه تعریف ند.

Linspace(1,5,5)     1 2 3 4 5       

5 نقطه می دهد، با فواصل یکسان.

 

زمان 0 تا 1 با فرکانس نمونه برداری 100 یعنی در هر ثانیه 100 تا نمونه به ما بدهد.

 
Fs=100
T=0:1/fs:1
Sin()

Sin ورودی را رادیان می بیند.

Sind() ورودی را درجه می بیند.

اگر یک 2*pi ضرب کنیم، از 0 تا 1 را میبرد به 0 تا 180.

Plot(x,fx)

تغییراتی در شکل ظاهری نمودار های رسم شده:

plot(t,y,'.')    شکل را بدون اینکه نقاط را به هم وصل کند رسم می کند.
[img=file:///C:\Users\maryam\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png]

اگر به جای . از o استفاده کنیم به شکل دایره دایره نمایش می دهد.

و اشکال دیگر به صورت زیر می باشند:

Plot(t,y,'x')

Plot(t,y,'+')

و همچنین رنگ plot نیز میتواند تغییر کند:

R قرمز b آبی k مشکی g سبز y زرد m صورتی c لاجوردی

Plot(t,y,'vc)    به رنگ صورتی و شکل مثلثی (v)

اعمالی که میتوان بر روی plot ها انجام داد:

 
Title('onvan')
عنوان مورد نظر به شکل اضافه می شود.
Xlabel('   ')
Ylabel('   ')
برای محور ها برچسب گذاشته میشود.
Axis off    &    axis on محور های مختصات را خاموش و روشن میکند.
Grid on      & grid off        شکل را به صورت شبکه ای نمایش می دهد.
Axis equal زمان محور های مختصات x و y را مساوی میگیرد.
Axis normal به حالت عادی بر میگرداند .
Axis tight مختصات را به روی شکل fit  میکند.
استفاده از دستور legend برای هر نمودار یک برچسب مشخص می کند .
Legend('     ','     ')
اگر بخواهیم داخل plot و در مختصات خاصی ه مورد نظر ما است یک متنی نوشته شود:
Text(x,y,'matn')
که x و y همان مختصات مورد نظرماست.
اگر از دستور gtext('matn') استفاده کنیم ، بر روی figure   که می رویم هر جا کلیک کنیم متن را برایمان مینویسد.

رسم چند plot در یک figure :

Subplot(n,m,x)

که در این جا n تعداد سط ها ، m تعداد ستون ها x شماره ی plot است.

برای title و یا label گذاشتن در اینجا باید بعد از هر plot این کار را انجام بدهیم.

در یک figure 6 قسمتی، در plot پنجم سینوسی و در plot دوم لگاریتمی و در plot سوم tan رسم کنید:

clc
clear all
close all
fs=100;
t=-1:1/fs:1;
y1=sin(2*pi*t);
subplot(2,3,5)
plot(t,y1),xlabel('time')
y2=log(t)
subplot(2,3,2)
plot(t,y2)
y3=tan(t)
subplot(2,3,3)
plot(t,y3)

اگر بخواهیم یکی از subplot ها مثلا به اندازه ی 2 subplot باشد یعنی بزرگتر از subplot های دیگر باشد، از روش زیر استفاده میکنیم.در مثال پایین plot سومی در دو جایگاه سوم و چهارم قرار میگیرد و به اندازه ی دو برابر سایر plot هاست.

clc
clear all
close all
fs=100;
t=0:1/fs:1;
x1=sin(2*pi*t);
x2=exp(-t);
x3=(x1.*x2);
subplot(2,2,1)
plot(t,x1)
subplot(2,2,2)
plot(t,x2)
subplot(2,2,3:4)
plot(t,x3)

نمودار میله ای:
bar(x,f(x))
نمودار گسسته:
Stem(x,f(x))
نمودار پلکانی:
Stairs(x,f(x))
نمودار هیستوگرام:
Hist(f(x),x)

لینک به دیدگاه
  • 2 سال بعد...

سلام ... من میخواستم یه پروزه انجام بدم نیاز به دیتابیس دارم ...این دیتا بیس هارو از کجا باید تهیه کنم !!! یا باید خودم بسازم ...مثلا تو مقاله ای که دارم نوشته دیتابیس drive و دیتا بیس stare ....جایی هست که بشه اینارو تهیه کرد ؟

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...