صفحه 1:
صفحه 2:
yaa م اعباس صمي | یه 7 | |B of هط
20 eee
87854321) doutle ع ب
FRA ]23456769[ double 5
| مم bs ote ©
3
avasion 6:23 Pn ير
صفحه 3:
MATHEMATICA:
صفحه 4:
صفحه 5:
صفحه 6:
صفحه 7:
صفحه 8:
-
MATLAB
SIMULINK
صفحه 9:
Taam, ee
IMPORTANT HoTICE
THE UCENSE AGREEMENT TOGETHER WWTH AN APPLICABLE ADDENDUM REPRESENTS
‘THE ENTIRE AOREENENT BETWEEN YOU (THE LICENSEE) AND THE NATHADAKS,
‘The Matis, Ine. Sora License Aeement
‘bo youaccert the terms othe Neense agreement?
صفحه 10:
MATLAB
SIMULINK
Insta ll our leansed products using defeut setngs
‘stom
‘Specyvetes oa instalation opts
1
صفحه 11:
MATLAB. *
SIMULINK’
صفحه 12:
for netliaon: مها هه اس
MATLAB
5۳
[
صفحه 13:
MATLAB
STIMULI
صفحه 14:
یس بر
ee
ار تسس
۵ 6
0
او سم ص۳۱ ص۱۱۳
صفحه 15:
صفحه 16:
Current Directory
Workspace Command
صفحه 17:
م
صفحه 18:
صفحه 19:
صفحه 20:
صفحه 21:
صفحه 22:
صفحه 23:
صفحه 24:
صفحه 25:
صفحه 26:
صفحه 27:
صفحه 28:
صفحه 29:
صفحه 30:
صفحه 31:
صفحه 32:
صفحه 33:
صفحه 34:
صفحه 35:
صفحه 36:
صفحه 37:
صفحه 38:
صفحه 39:
صفحه 40:
صفحه 41:
صفحه 42:
صفحه 43:
صفحه 44:
صفحه 45:
صفحه 46:
صفحه 47:
صفحه 48:
صفحه 49:
صفحه 50:
صفحه 51:
صفحه 52:
صفحه 53:
صفحه 54:
صفحه 55:
صفحه 56:
صفحه 57:
صفحه 58:
صفحه 59:
صفحه 60:
صفحه 61:
صفحه 62:
صفحه 63:
صفحه 64:
صفحه 65:
صفحه 66:
صفحه 67:
صفحه 68:
صفحه 69:
صفحه 70:
صفحه 71:
صفحه 72:
صفحه 73:
صفحه 74:
صفحه 75:
صفحه 76:
صفحه 77:
صفحه 78:
صفحه 79:
صفحه 80:
صفحه 81:
صفحه 82:
صفحه 83:
صفحه 84:
صفحه 85:
صفحه 86:
صفحه 87:
صفحه 88:
صفحه 89:
صفحه 90:
صفحه 91:
صفحه 92:
صفحه 93:
صفحه 94:
صفحه 95:
صفحه 96:
subplot(2,3,1); subplot(2,3,2);
aa on na
a6 مه 9
aa a4 94
subplot(2,3,5).
a2 a2 وود
6 3 a
صفحه 97:
صفحه 98:
0
sintcos
صفحه 99:
صفحه 100:
Sin Function
صفحه 101:
صفحه 102:
صفحه 103:
صفحه 104:
صفحه 105:
صفحه 106:
صفحه 107:
صفحه 108:
صفحه 109:
صفحه 110:
صفحه 111:
صفحه 112:
صفحه 113:
صفحه 114:
صفحه 115:
صفحه 116:
صفحه 117:
صفحه 118:
صفحه 119:
صفحه 120:
صفحه 121:
صفحه 122:
صفحه 123:
نرم افزار های ریاضی و آمار
•
1
صفحه اصلی نرم افزار Matlab
2
صفحه اصلی نرم افزار Mathematica
3
صفحه اصلی نرم افزار
Microsoft Office Excel
4
سر فصل مطالب
5
محیط کار Matlab
آرایه ها و ماتریس ها ( دو بعدی ،سه بعدی ،سلولی)
عملگرها ( ریاضی ،رابطه ای ،منطقی )
توابع كتاب خانه اي
بردار ( اندازه ،ضرب بردارها ،تفریق ،زاویه بردارها )
برنامه نویسی ( حلقه ها و شرط ها )
Mف77ای7ه7ا
رسم توابع (دو بعدی 2Dو سه بعدی)3D
حل معادالت
اعداد و متغيرهاي مختلط
عمليات رياضي (حد ،مشتق ،انتگرال ،چند جمله ای ها )
Function
منابع
6
MATLAB Help -1
نوشته :علی فکور یکتا انتشارات :جهاد دانشگاهی مشهد
MATLAB 7 -2
-3راهنمای کاربردی Matlab 7.3نوشته :نیما جمشیدی انتشارات :عابد
-4آموزش سریع Matlab 7.2نوشته :داریوش فرسایی انتشارات :آینده دیگر
-5جزوه
http://www.mathworks.com -6
Internet -7
ارزیابی:
12
پایان ترم
6
میان ترم
2نمره
تمرین کالسی
حضور در کالس و 2 Quizنمره
پروژه(اختیاری)
4
نمره
نمره
نمره
mj_mahboob@yahoo.com
7
مراحل نصب نرم افزار Matlab
8
مراحل نصب نرم افزار Matlab
9
مراحل نصب نرم افزار Matlab
10
مراحل نصب نرم افزار Matlab
11
مراحل نصب نرم افزار Matlab
12
مراحل نصب نرم افزار Matlab
13
مراحل نصب نرم افزار Matlab
14
كليات و اصول1 فصل
MATLAB
MATrix LABoratory
15
پنجره ي واسط كاربر
Current Directory
Workspace
Command
Command History
16
ا,ن,تخابگ,,زينه Default
17
آرایه ها
آرایه ها دو بعدی
]>>A=[23,2,4,5,6
Or
]>>A=[23 2 4 5 6
یک آرایه 1*5
1سطر و 5ستون
18
آرایه ها
آرایه ها دو بعدی
]>>A=[1,2,3;4,5,6;7,8,9;10,11,12
Or
]>>A=[1 2 3;4 5 6;7 8 9;10 11 12
یک آرایه 4*3
4سطر و 3ستون
19
چند نکته :
20
ماتریس ها نیاز به تعریف ابعاد و نوع ( )Typeندارند .
ابعاد ماتریس در حین برنامه می تواند تغییر کند .
هنگامی که یک ماتریس ایجاد می شود روی حافظه باقی می ماند و قابل
دسترسی است( .مگر اینکه از MATLABخارج شویم یا خودمان آنرا
پاک کنیم ).
هر دستور با فشار دادن کلید Enterخاتمه می یابد و نتیجه روی
صفحه نمایش داده می شود .
در صورتی که بخواهیم فقط نتیجه نهایی نمایش داده شود ،بایستی پس
از دستور از عالمت ; استفاده نمائیم .
دسترسی به عناصر آرایه :
برای دسترسی به عناصر آرایه بعد از نوشتن نام آرایه سطر و ستون مورد
نظر را بین دو پرانتز قرار می دهیم و بین آنها از عالمت colonاستفاده
می کنیم .مانند مثال زیر:
)>>A(4,3
=ans
12
)>>T=A(4,3
=T
12
21
دسترسی به عناصر آرایه :
دسترسی به چند عنصر از آرایه با استفاده از عالمت :دو نقطه
انجام می گیرد مانند .مثال زیر:
)>>T=A(1:3,2:3
T= 2 3
5 6
8 9
22
دسترسی به عناصر آرایه :
اگر بخواهیم کل سطر و یا ستون مورد نظر در متغیر جدید قرار
گیرد تنها از عالمت :استفاده می کنیم مانند مثال زیر:
)>>T=A(:,2:3
T= 2 3
6
9
5
8
11 12
23
تولید ماتریس با استفاده از توابع داخلی
تابع ones
این تابع کلیه عناصر آرایه اش را 1قرار می دهد.
)>>A=ones(4,3
=A
1 1 1
1 1 1
1 1 1
1 1 1
24
تولید ماتریس با استفاده از توابع داخلی
تابع zeros
این تابع کلیه عناصر آرایه اش را 0قرار می دهد.
)>>A=zeros(2,3
=A
0 0 0
0 0 0
25
تولید ماتریس با استفاده از توابع داخلی
تابع eye
این تابع یک آرایه با کلیه عناصر 0می سازد به غیر از خانه هایی که
سطرها و ستونهای برابر دارد که در این خانه ها که قطر اصلی
ماتریس می باشد ،عدد 1قرار می دهد .
)>>A=eye(2
=A
1 0
0 1
26
:نکته
اعالم آمادگی یا پرامت ، Matlabعالمت << است اگر روی
صفحه نمایش نام متغیری تایپ شود و کلید Enterرا فشار
دهیم محتویات آن متغیر نمایش داده می شود .
27
تولید ماتریس با استفاده از توابع داخلی
فرض کنید که می خواهیم یک سطر به ماتریس مقابل اضافه
کنیم
]A=[ 1 2 3 ;4 5 6; 7 8 9
] ]A=[A ; [10 11 12
2
3
5 6
8 9
11 12
28
1
4
A
7
10
تولید ماتریس با استفاده از توابع داخلی
تابع rand
این تابع آرایه ای با اعداد اعشاری تصادفی ( )randomمی
سازد که محدوده اعداد بین 0تا 1می باشد.
)>>A=rand(2,3
=A
0.6557 0.8491 0.6787
0.0357 0.9340 0.7577
29
تولید ماتریس با استفاده از توابع داخلی
تابع randint
این تابع آرایه ای با اعداد صحیح تص7ادفی ()randomمی سازد که
محدوده اعداد بین 0تا 1می باشد.
برای تعیین محدوده اعداد می توان مطابق زیر انجام داد.
)]>> R3=randint(2,5,[2,11
=R3
7 11
7
4
5
10
8
6
3
4
با این دستور یک آرایه 2*5با اعداد تصادفی بین 2و 11می سازد.
30
توابع ,پاک کردن
clear
برای پاک کردن متغیرها استفاده می شود.
clc
برای پاک کردن پنجره Command Windowبه کار می رود.
home
فرستادن مکان نما به گوشه باال سمت چپ درپنجره
. command window
31
عملگرهای مقایسه ای و منطقی
<
>
<=
>=
==
~=
&
|
32
كوچكتر
بزرگتر
كوچكتر مساوي
بزرگتر مساوي
مساوي (برابر)
نامساوی
و
يا
مثال
>> A=34;
>> A>=23
ans =
1
>> B=[23,42,12,3];
>>B>=14
ans=
1 1 0 0
33
مثال
>>A=[1,3,5,8,9];
>>B=[2,3,1,4,6];
>>A>4 & B<5
ans=
0 0 1 1 0
34
عملگرها و توابع ریاضی
3.141592…
pi
i
eps
Inf
NaN
exp(x)
sqrt(x)
^
.^
1
0/0
بهم7م
x
e
x
*
2.2204e-016
ت7ینهای77ب
/
.*
\
./
ی7مای77ع ن7اب77ت
+
.\
-
35
مثال
3
2
1
T (2 1)
>>T=(2^(-3/2)+1)^(-1)
T=
0.7388
36
مثال
2
E
3
2
( 2 1)
>> E=(2*pi)/(sqrt(2)-1)^2+3
E=
39.6211
37
مثال
(x 3)(x2 4) 3
y
x
x 6 13x
x 2.1
>> x=2.1;
>> y=(x+3)*(x^2-4)^(-3)/(sqrt(x+6)+13*x)+x
y=
4.5546
38
آرایه ها
آرایه های 3بعدی 3D
برای ساخت یک آرایه 3بعدی هر کدام از صفحات آرایه را
جداگانه ایجاد می کنیم.
مثال :
;]>>D(:,:,1)=[1,3,4 ;2,4,1
;]>>D(:,:,2)=[34,2,4;1,5,9
;]>>D(:,:,3)=[67,4,7;8,7,2
;]>>D(:,:,4)=[3 5 3 ; 24 43 5
39
آرایه ها
نکته :
در ساخت آرایه های 3بعدی می بایست تعداد سطر و ستون
کلیه صفحات با هم برابر باشد.
N*M
N*M
)(:,:,4
)(:,:,3
)(:,:,2
)(:,:,1
40
N*M
N*M
:دسترسی به عناصر آرایه
برای دسترسی عناصر آرایه های 3بعدی ابتدا محدوده سطر ،
سپس محدوده ستون و در آخر محدوده صفحه را مشخص می
کنیم.
)>> R=D(1,:,3
=R
7
4
67
سطر اول از صفحه سوم را در متغییر Rقرار می دهد.
41
سوال
یک ماتریس 3بعدی بسازید که صفحه اول آن یک آرایه 4*3با
مقادیر 1و صفحه دوم یک آرایه 4*3با عناصر اتفاقی بین 2تا
20باشد .
جواب:
;)>> F1(:,:,1)=ones(4,3
;)]>> F2(:,:,2)=randint(4,3,[2,20
42
سوال
سطر دوم و چهارم آرایه Aرا در متغیر Bقرار دهید.
جواب :
3
5
1
2
6
2
4
2
3
5
12
23
A 3
5
4
;]A= [12 2 3; 23 4 5; 3 2 1; 5 3 2; 4 5 6
;)B(1,:)=A(2,:
;)B(2,:)=A(4,:
43
input
وارد کردن ورودیها
اين دستور در موقع اجرا مقداري را از كاربر در خواســت مي كند و در
زمان اجرا مادامي كه عددي وارد نشود سيستم منــــــتظر مي ماند.
مثال :
)‘ = >>S2=input(‘ Enter your age
= Enter your age
44
input
استفاده می کنیمs برای وارد کردن رشته (حرف) از سوییچ
: مثال
>>Name=input ('Please enter your name ','s')
Please enter your name Ali
Name=
Ali
45
input
. استفاده می کنیمn\ برای رفتن به خط بعد از
: مثال
>>A=input(‘ hello \n how are you? \n please
enter your number' )
hello
how are you?
please enter your number 85700762
46
دترمینان ،معکوس وترانسپوز ماتریس
) ن99ام 9ماتریس( det
) ن99ام 9ماتریس( inv
‘ نام ماتریس
47
دترمینان
دترمینان ماتریس مقابل
3
5
1
12 2
A 23 4
3 2
;]>>A= [12 2 3; 23 4 5; 3 2 1
)>> D1=det(A
=D1
14
48
معکوس
معکوس ماتریس زیر
>> A= [12 2 3; 23 4 5; 3 2 1];
12 2
>> i1=inv(A)
A 23 4
3 2
i1 =
3
5
1
-0.4286 0.2857 -0.1429
-0.5714 0.2143 0.6429
2.4286 -1.2857 0.1429
49
ترانسپوز
ترانسپوز ماتریس مقابل
3
5
1
2
6
2
4
2
3
5
12
23
A 3
5
4
;]>> A= [12 2 3; 23 4 5; 3 2 1; 5 3 2; 4 5 6
'>> T=A
=T
12 23
3
5
4
2
4
2
3
5
3
5
1
2
6
50
توابع داخلی
تابع magic
این تابع یک 2ماتریس جادویی n*nمی سازد که عناصر این ماتریس از
اعداد 1تا nتشکیل می شود ،بطوری که مجموع سطر و ستونهای آن
با هم مساویند.
)>> M1=magic(4
= M1
13
8
12
1
51
3
10
6
15
16
2
5 11
9
7
4 14
توابع توانی و لگاریتمی
x
e exp(x)
ln(x) log(x)
log10(x) log10(x)
log2 (x) log2(x)
52
توابع توانی و لگاریتمی
مثال :مقدار Aرا حساب کنید.
) (104
10
4
A ln(e ) log
جواب :
)>> A=log(exp(4))-log10(10^4
=A
0
53
توابع توانی و لگاریتمی
مثال :مقدار xرا حساب کنید.
جواب :
54
ln(5x ) ln(15625
)
xln(5) ln(15625
)
ln(15625
)
x
)ln(5
x
5 15625
)>> x=log(15625)/log(5
=x
6.0000
حل معادالت خطی
2x 3y 12
4x 3y 6
2x 3y 12
4x 3y 6
2 3
A
,
4
3
x
2x 3y [2 3]
y
x
4x 3y [4 3]
y
x
X ,
y
12
b
6
2 3 x 12
4 3 y 6
AX=b
X=A\b
55
حل معادالت خطی
2x 3y 12
4x 3y 6
Matlab حل معادله در
>>A=[2 3;4 -3];
>>b=[12;6];
>>X=A\b
X=
3
2
56
سوال
3x 5x 3y 6z 120
2x 5z 15
5y z 10
2x 3y 6z 12
2x 5z 15
5y z 1
. دستگاه معادله روبرو را حل کنید
: جواب
A=[2 -3 6 ;2 0 -5;0 5 1];
b=[12;15;1];
X=A\b
57
توابع مثلثاتی
بر حسب درجهx
sind(x)
cosd(x)
tand(x)
cotd(x)
بر حسب رادیانx
asin(x)
acos(x)
atan(x)
acot(x)
sin(x)
cos(x)
tan(x)
cot(x)
Degrees=Radians*180/pi
Radians = Degrees*pi/180
58
سوال
با جاگذاری
صحیح است.
5
x
2در
هر طرف معادله نشان دهید که اتحاد زیر
2
2
)cos(2x) cos (x) sin (x
جواب :
;>> x=5/2*pi
;>>A=cos(x)^2-sin(x)^2
;)>>B=cos(2*x
59
توابع داخلی
60
Sort
این تابع درایه های موجود بر روی سطر یا ستون را
مرتب میکند .
) sort(x,1هر س77تون xرا ب77ه ص77ور7تص77عود7یم7رت7بم7یک77ند.
) sort(x,2هر س77طر xرا ب77ه ص77ور7تص77عود7یم7رت7بم7یک77ند.
مثال
x=magic(4)
x= 16 2 3
13
5 11 10 8
9 7 6 12
4 14 15 1
sort(x,1)
ans= 4 2
5
7
3
6
1
8
9 11 10 12
16 14 15 13
sort(x,2)
2
ans=
3 13 16
5 8 10 11
6 7 9 12
1 4 14 15
61
توابع داخلی
min
کوچکترین درایه ماتریس را می دهد.
max
بزرگترین درایه در یک ماتریس را می دهد.
62
مثال
>> T=[12 23 1 3 1; 43 346 7 8 9;4 3 6 8 56];
>>max(T)
ans =
43 346
7
8
56
43 346
7
8
56
>> [M,I]=max(T)
M=
I=
2
2
2
2
3
63
disp
نمایش متن و یا ماتریس
چاپ77ام م7اتری7سن77مای7شم7ید7هد .
disp(x) ی77کم7اتری7سرا ب77دو7ن ن
اگر xشامل یک دنباله متن باشد ،آن متن نمایش داده خواهد شد.
)>> disp(x
3 13
16 2
5 11 10 8
9 7 6 12
4 14 15 1
)'?>> disp ('Hello how are you
?Hello how are you
64
توابع داخلی
sum
مجموع عناصر
برای بردارها ) sum(xمجموع عناصر بردار xرا مشخص می کند و برای ماتریسها،
) sum(xبرداری سطری شامل مجموع عناصر هر ستون می باشد.
مثال :مجموع هر ستون را حساب کرده در ماتریس sقرار دهید.
12 5 7
x 8 4 8
3 6 9
65
]>> x=[12 5 7 ; 8 4 8 ; 3 6 -9
)>> S=sum(x
=S
23 15
6
گزاره های شرطی
if expression
statements
end
گزاره ها در صورتی اجرا می شوند که همه عناصر
expressionصحیح باشند.
66
گزاره های شرطی
if expression
statements
elseif expression
statements
else
statements
end
67
سوال
اگر مجموع عناصر ماتریس aاز مجموع عناصر ماتریس bبزرگتر یا مساوی بود،
سپس ماتریس Dرا معکوس نمایید.
12 1
3 4
12 4
a
b
D
3
8
11
5
45
89
جواب :
;] >>a=[12 1 ;3 8]; b=[3 4 ; 11 5]; D=[12 4 ; 45 89
))if sum(sum(a)) >= sum(sum(b
)Di=inv(D
end
68
حلقه ها
for
.تکرار گزاره ها به تعداد معین
for variable=expression
statements
end
69
سوال
با استفاده از حلقه forجدول ضرب 1تا 10را تولید کنید.
جواب:
2 3 4 5 6 7 8 9 10
4 6 8 10 12 14 16 18 20
6 9 12 15 18 21 24 27 30
8 12 16 20 24 28 32 36 40
10 15 20 25 30 35 40 45 50
12 18 24 30 36 42 48 54 60
14 21 28 35 42 49 56 63 70
16 24 32 40 48 56 64 72 80
18 27 36 45 54 63 72 81 90
20 30 40 50 60 70 80 90 100
70
1
2
3
4
5
6
7
8
9
10
>>for i=1:10
for j=1:10
;D(i,j)=i*j
end
end
)>>disp(D
حلقه ها
while
تکرار گزاره ها به تعداد نا معین تا صادق بودن شرط به کار می رود
گزاره ها تا زمانی که همه عناصر expressionبرقرار باشد
اجرا می شود .
while expression
statements
end
71
سوال
برنامه ای با استفاده از حلقه whileبنویسید که یک عدد را از ورودی
دریافت کرده و تا زمانی که به عدد یک نرسیده است از آن یکی کم کند.
اگر عدد ورودی منفی بود به آن یکی اضافه کند.
جواب:
;)'a=input('Enter a number
while a~=1
if a>1 ,
;a=a-1
end
;if a<1 , a=a+1
end
)disp(a
end
72
سوال
برنامه ای بنویسید که اعداد اول 1تا 10را بدست آورد.
جواب :
2
3
5
7
73
;C=0
for i=1:10
for j=1:i
if rem(i,j)==0
;C=C+1
end
end
if C==2
)disp(i
end
;C=0
end
سوال
برنامه ای بنویسید که عددی را از ورودی گرفته و مشخص کند
.که زوج است یا فرد
: جواب
N=input('Enter a number:');
if rem(N,2)==0
disp('The number is even')
else
disp('The number is odd')
end
74
توابع داخلی
primes ا7عداد او7ل
این تابع اعداد اول از صفر تا عدد داده شده را بدست می آورد.
مثال :اعداد اول 0تا 23را بدست آورید.
23
75
19
17
13
11
)>> primes(23
= ans
2
3
5
7
توابع داخلی
factorial
مقدار فاکتوریل عدد وارد شده را می دهد .
مثال !9:را بدست آورید.
)>>farctorial(9
=Ans
3628800
76
توابع داخلی
factor
این تابع عدد وارد شده را به اعداد اول تجزیه میکند.
مثال :عدد 70را به اعداد اول 7تجزیه کنید.
)>> factor(70
=Ans
257
77
M files
78
M files
گفتيم هر دستوري را مي تواندر command windowاجـــرا كرد و هر
برنامه اي ،اجراي پشت سر هم دستورات مي باشـد .پس مي توان برنامهاي را
بگونه اي که خط به خط دسـتورات آن را در commandوارد كرد ،نوشت.
ولي براي استفاده بار دوم چكار بايد كرد؟
در Matlabپنجره اي بنام m-file editorوجود دارد كه فضايي شبيه به
word padو يا note padدارد كه بر اساس كاربرد ابـــزارهايي بيشتر
ويا كمتر دارد.
براي اجراي m-file editorبر روي كليد سمت چپــي روي نوار ابزار
(شكلي مانند صفحه سفید )كليك تا اين پنجره باز شود و يا از منوي file
گزينه newو بعد m-fileرا انتخاب كنيد .
79
M files
پس از اتمــــــام نوشتن براي اجرای برنامه از منوی debugكليد runرا
فشار بدهيد ويا كليد f5در صفحه كليد را فشار بدهید (البته اگر بر نامه ذخيره
نشده باشد ويا تغييري درآن ايجاد شده باشد به جاي runكليد& save
runرا مشاهده خواهيد كرد كه البــته وقتي برنامه تغيير داده شده باشد يك
عالمت ستاره در نــــوار عنوان در كنار اسم برنامه ديده ميشود ودر صورتي كه
بــــراي اولین بار كليد را فشار دهيم ،سيستم نام ومسير ذخيره کردن فايل را
خواهد خواست).
در m-fileهر حـرف یا جمله ای كه پس از %نوشته شــــود تاثير ندارد
يعني مي توان گفت در موقع اجـراي برنامه خـوانده نمي شود و هميشه اين
نوشته ها به رنگ سبز نمـــــايش داده مي شود.
80
گرد كردن توابع
بعضي اوقات الزم است كه مقادير را بر اسـاس مقادير خاصي
گرد كنيم.
در متلب جعبه ابزار تقزيباً كاملي براي اين كار تهيه شده است.
fix
.ع7دد را ب77ه س77متص77فر گ77رد م7یک77ند
floor
.ع7دد را ب77ه س77متم7نفیب77ین77های7تگ77رد م7یک77ند
ceil
.ع7دد را ب77ه س77متم7ثبتب77ین77ه7ای7تگ77رد م7یک77ند
س77مت77زد7ی7کتری7نه7مسای7گیگ77رد م7یک77ند round
ن
.ع7دد را ب77ه
81
ترسیم دوبعدی
Plot رسم دوبعدی
یکی از ابزارهای رسم نمودار توابع دوبعدی این دستور می باشد که نحوه
ترسی آن دقیقاً مانند ترسیم دستی نمودار که خـــودمان انجام می دهیم
بدینگونه که در بازه خاصی xرا معرفی می کـــنیم و yمتناظر هر کدام
را بدست آورده و در پایان براساس اعـــــــــــداد محاسبه شده نقاط
مربوطه پیدا شده و نــــقاط به هم وصـــــــــل می شود .طبیعتاً هر
چقدر فاصله نقاط کمتر باشد دقت ترسیم بهتر می شود.
82
مثال
x=-pi:pi/10:pi;
y=sin(x);
plot(x,y)
در بازهsin(x) رسم
)pi , pi-(
pi/10 با گام حرکت
83
مثال
x=0:pi/10:4*pi;
y=cos(x);
plot(x,y,'r')
در بازهcos(x) رسم
)4pi , 0(
pi/10 با گام حرکت
84
مثال
x2
y sin( )
10
3 x 3
10
x=-3*pi:pi/10:3*pi;
y=sin(x.^2/10);
plot(x,y)
85
xlabel
xlabel
این دستور محور xرا نامگذاری می کند.
)'Xlabel('string
در دستور باال به جای stringکلـــــمه و حروفات مربوطـــه
گــذارده می شود.
86
ylabel
ylabel
این دستور محور yرا نامگذاری می کند.
)'ylabel('string
در دستور باال به جای stringکلمه و حروفات مربوطـــــه
گـــــذارده می شود.
87
title
title
این دستور ترسیم را نامگذاری می کند.
)'title('string
به جای stringنام مربوطه قرار می گیرد.هر نامی که می نویسیم
در باالی ترسیم نشان داده می شود
88
legend
Legend
م7علوم ک77رد7نر7س7م ها
اگر چندین نمودار رسم کرده باشیم ممکن است نتوانیم تشخـــیص
دهیم که کدام ترسیم مربوط به کدام نمودار است ...بوســـــیله
دستور legendمی توانیم برحسب رنگ و نوع ترسیم
نمــــودارها را از هم تمیز دهیم.
)'legend ('string 1','string 2
89
مثال
x=-pi:pi/10:pi;
y=sin(x);
z=cos(x);
plot(x,y,'r>-',x,z,'bd')
xlabel('x')
ylabel('sin & cos')
title('sin & cos functions')
legend('sin','cos')
90
حروف رنگ و ترسیم درplot
b آ7ب7ی
g س77بز
r ق77رمز
c ف77یروز7ه 7ا7ی
m ب77نفش
y زرد
k م7شکی
91
خ7ط ص77اف:ن77قطه چ7ین
-.خ7ط ن77قطه
--خ7ط چ7ین
حروف نمایش نقطه
92
.
o
x
+
*
s
d
^
<
>
p
h
نقطه
دا7یره7
ض77ربدر
عالمت جمع
ستاره
م7رب7ع
ل77وز7ی
مثلث رو به باال
مثلث رو به چپ
مثلث رو به راست
س77تار7ه 7پ77نج را7س
س77تار7ه 7ش77شرا7س
مثال
;x=-pi:pi/10:pi
;)y=sin(x
;)z=cos(x
)'plot(x,y,'b:d',x,z,'rp-.
رسم ) sin(xبه رنگ آبی و نوع ترسیم آن نقطـــه چین و نشان نقطه لوزی باشد و ترسیم دوم
) cos(xو ت77نظیماتآ7نب77ا ر7ن7گق77رمز و ن77وع خ7ط ،خ7ط ن77قـــــطه و ن77قطه س77تار7ه 7پ77نج را7س7یم7ی
ب77اشد.
93
hold
,تن,,رس,یم
hold ن,,گه دا,ش ت
با استفاده از این دستور مانع پاک شدن صفحه نمایش می شویم تا
نمودارهای بعدی بر روی نمودار اولی بیافتد.
این دستور به صورت روشن و خاموش استفاده می شود.
hold on
hold off
* تا زمانی که holdدر حالت روشن است هیچ نموداری پــاک
نخواهد شد و همه بر روی هم خواهد افتاد.
94
subplot
subplot ر,س,مچ,ندی,نر,س,مدر ی,کص,فحه
بوسیله این دستور می توانیم صفحه ترسیم را به چندین قســـمت تقسیم
کنیم .این دستور را بدین گونه استفاده می کنیم.
)subplot(m,n,p
با این دستور صفحه به mسطر و nستون تقسیم میشود و قسمت pام را
آدرس دهی می کند .که شماره قسمت از ردیف اول از باال شروع می شود.
95
subplot
subplot(2,3,1);
subplot(2,3,2);
subplot(2,3,5);
96
مثال
x=-pi:pi/10:pi;
y=sin(x);z=cos(x);t=sin(x).*cos(x);
subplot
subplot
subplot
subplot
(2,2,1);plot(x,y,'r');title('sin');
(2,2,2);plot(x,y,'y');title('cos');
(2,2,3);plot(x,t');title('sin*cos');
(2,2,4);plot(x,y+z);title('sin+cos');
97
جواب مثال صفحه قبل
98
مثال
x=0:pi/100:2*pi;
y1=sin(x);
y2=sin(x-0.25);
y3=sin(x-0.5);
plot(x,y1,x,y2,x,y3,'Linewidth',2)
xlabel('x=0:2\pi','FontSize',13)
ylabel('Sin of X','FontSize',13)
title('Sin Function','FontSize',13)
legend('sin(x)','sin(x-.25)','sin(x-.5)')
99
جواب مثال صفحه قبل
100
سوال
برنامه ای بنویسید که عناصر قطر اصلی یک ماتریس 5*5جادویی
()magicرا برگرداند و در متغییر Dقرار دهد.
راه حل اول:
)A=magic(5
for i=1:5
;)D(i)=A(i,i
end
)disp(D
101
سوال
برنامه ای بنویسید که عناصر قطر اصلی یک ماتریس 5*5جادویی
()magicرا برگرداند و در متغییر Dقرار دهد.
راه حل دوم:
)A=magic(5
;]L=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1
;)L=logical (L
’)D=A(L
102
سوال
برنامه ای بنویسید که عناصر قطر اصلی یک ماتریس 5*5جادویی
()magicرا برگرداند و در متغییر Dقرار دهد.
راه حل سوم:
)A=magic(5
’)D=diag(A
Or
’))D=diag(magic(5
103
diag
این دستور قطر اصلی ماتریس مربع را به صورت یک ماتریـس ستونی می
دهد و البته ماتریس مربع متناظر با ماتریس ستونی و یا سطری معرفی شده
را نیز می دهد.
]A=[1,2,3;4,5,6;7,8,9
مثال :
3
6
9
104
=A
1
2
4
5
7
8
)diag(A
= ans
1
5
9
سوال
عناصر باالی قطر اصلی ماتریس روبرو را در متغییر D1قرار دهید.
3
56
34
5
4
7
82
65
4
56
0
2
12
4
A
6
9
;]A=[12,4,4,3;4,56,7,56;6,0,82,34;9,2,65,5
;)D1=diag(A,1
= D1
4
7
34
105
سوال
مجموع عناصر قطر اصلی ماتریس Aرا حساب کنید و در متغییر Sقرار
دهید.
12 4 4 3
4 56 7 56
A
6 0 82 34
9
2
65
5
;]A=[12,4,4,3;4,56,7,56;6,0,82,34;9,2,65,5
;)D1=diag(A
)S=sum(D1
Or
;)S=trace(A
106
trace
مجموع درایه های واقع در قطر اصلی را محاسبه می کند .
مثال :
;]a=[4 2 3;4 6 6;7 8 10
)trace(a
=ans
20
107
چند جمله ای ها
در ابتدا چند جمله ای را به فرم استاندارد تبدیل می کنیم به فرم زیر :
pnxn pn 1xn 1 pn 2xn 2 .... p2x2 p1x1 p0 0
سپس بردار Pرا از روی ضرایب چند جمله ای تشکیل می دهیم.
] P [ pn, pn 1, pn 2,....,p2, p1, p0
در آخر از دستور ) roots(Pبرای بدست آوردن ریشه ها استفاده می کنیم.
)R=roots(P
108
چند جمله ای ها
R=roots(p)
بدست آوردن ریشه های چند جمله ای
p ب77ردار ض 7را7ی7بچ7ند ج7مله ا7ی
4 2
x 3x x 9x 7 0
5
3
4
مثال :ریشه های چند جمله ای باال را بدست آورید.
;]P=[1,3,-4/5,9,-7
’)R=roots(P
=R
0.1117-1.6104i 0.1117+1.6104i 0.6869
109
-3.9103
چند جمله ای ها
poly(R)
بدست آوردن ضرایب چند جمله ای از روی ریشه ها.
مثال :ضرایب چند جمله ای با ریشه های زیر را بدست آورید.
{ }4 3 2ریشه های چند جمله ای.
;]R=[2,3,4
)P=poly(R
=P
1 -9 26 -24
110
چند جمله ای ها
polyval(P) م7قدار7گذار7یدر7چ7ندج7مله ا7ی
2
مثال :مقدار yرا به ازای x=3محاسبه کنیدy 3x 4x 1 .
;]p=[3,4,1
)Y=polyval(p,3
=Y
40
111
چند جمله ای ها
polyfit ب77راز7شم7نحنی
نقاط وارد شده را با بهترین حــــــالت بر روی منحنی(با درجه معلوم)
برازش می دهد.
)polyfit(x,y,n
در این دستور x,yمختصات نقاط وارد شده و nدرجه چند جمله ای برازش
داده شده است.
112
چند جمله ای ها
مثال :یک چند جمله ای درجه 3برای دو بردار زیر برازش کنید.
]x=[1 3 5 7 8 8 9
] y=[2 -3 4 94 2 -5 -1
)polyfit(x,y,3
= ans
-1.2489 16.7624 -56.4414 43.5085
2
3
y 1.2x 16.76x 56.44x 43.5
113
چند جمله ای ها
polyder(P) م,شتقچ,ند ج,ملها,ی
این دستور مشتق چندجمله ای وارد شده را محاسبه می کند.
2
f (x) 4x x 8
مثال :مشتق چند جمله ای روبرو را حساب کنید.
0
2
4
0
;]P=[-4 0 1 0 -8
)polyder(P
= ans
-16
f '(x) 16x3 2x
114
چند جمله ای ها
polyint (P) انتگرال چندجمله ای
f (x) 3x5 5x3 2
مثال :انتگرال چند جمله ای روبرو را حساب کنید.
0
115
;]P=[3 0 5 0 0 2
;)polyint(P
= ans
0.5000 0 1.2500 0
0 2.0000
4
?f (x)dx
6
f (x)dx0.5x 1.25x 2x
چند جمله ای ها
conv(A,B)
3
A x 2
ض77ربچ7ند ج7مله ا7ی
مثال :دو چند جمله ای مقابل را در هم ضرب کنید.
0
116
0
2
2
5
0
B x2
;]A=[1,0,0,2
;]B=[1,0,0
)C=conv(A,B
=C
1
0
c AB x 2x
چند جمله ای ها
deconv(A,B) ت77قسیم دو چ7ند ج7مله ا7ی
A x4 3x3
B x 2
مثال :دو چند جمله ای روبرو را به هم تقسیم کنید.
;]A=[1,-3,0,0,0
;]B=[1,2
)deconv(A,B
= ans
1 -5 10 -20
117
بزرگترین مقسوم علیه مشترک
gcd(A,B)
بزرگترین مقسوم علیه مشترک دو عدد وارد شده را ارائه می دهد .
مثال :
)>>gcd(12,36
=Ans
12
)>>gcd(12,20
=Ans
4
118
کوچکترین مضرب مشترک
lcm(A,B)
کوچکترین مضرب مشترک دو عدد و ارد شده را محاسبه میکند .
مثال :
)>>lcm(6,22
=Ans
66
)>>lcm(2,5
=Ans
10
119
سوال
بزرگترین مقسوم علیه مشترک اعداد هم نظیر در بردار Aو Bرا بدست
آورید.
]A= [12 28 43 45
]B= [16 21 47 50
جواب :
]A= [12 28 43 45
]B= [14 21 47 50
for i=1:4
;))D(i)=gcd(A(i),B(i
end
جواب Matlab
5
120
1
7
2
=D
121
122
123