ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck...

57
Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6 th Edition Dr. Amos Gilat The Ohio State University اﯾﺠﺎد آراﯾﻪ ﻫﺎ

Transcript of ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck...

Page 1: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

1

Slide deck byDr. Greg Reese

Miami University

MATLAB An Introduction With Applications, 6th EditionDr. Amos GilatThe Ohio State University

ایجاد آرایه ها

Page 2: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

2

2.0

ساختارهاي اصلی داده ها در آرایه ها MATLABهستند

.می توانند هر تعداد بعد داشته باشند•:رایج ترین آنها عبارتند از

یک ستون یا یک ردیف(یک بعدي –بردار( دو بعدي یا بیشتر–ماتریس

آرایه ها می توانند شامل اعداد یا حروف باشند•

Page 3: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

3

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

از اعداد داده شده، نام براي ایجاد یک بردار سطريمتغیر، سپس عالمت مساوي، و سپس در داخل

یا کاما از هم جدا /کروشه اعداد که با فاصله و. شده اند را تایپ کنید

variable_name = [ n1, n2, n3 ]

>> yr = [1984 1986 1988 1990 1992 1994 1996]yr =

1984 1986 1988 1990 1992 1994 1996

بردار سطري را به صورت افقی نمایش میدهدMATLABدقت کنید که

کاما اختیاري است

Page 4: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

4

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

براي ایجاد یک بردار ستونی از اعداد داده :شده

مانند بردار سطري، ولی بین اعداد –1روش •نقطه ویرگول بگذارید

variable_name = [ n1; n2; n3 ]

>> yr = [1984; 1986; 1988 ]yr =

1984 1986 1988

بردار ستونی را به صورت عمودي نمایش میدهدMATLABدقت کنید که

Page 5: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

5

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

مانند بردار سطري، ولی پس از بستن –2روش •بگذارید) '(آپوستروف کروشه

بعداً . آپوستروف جاي سطر و ستون را عوض میکندخواهیم خواند

variable_name = [ n1 n2 n3 ]'>> yr = [1984 1986 1988 ]'

yr =

1984

1986

1988

Page 6: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

6

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

رایه هابراي ایجاد یک بردار با اختالف ثابت بین دvariable_name = m:q:n

• m عدد اول است• n عدد آخر است• q تفاضل دو عدد متوالی است

v = m:q:n یعنیv = [ m m+q m+2q m+3q ... n ]

Page 7: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

7

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

را حذف کنیم، اختالف یک خواهد بودqاگر v = m:n

یعنیv = [ m m+1 m+2 m+3 ... n ]

>> x = 1:2:13

x = 1 3 5 7 9 11 13

>> y = 1.5:0.1:2.1

y = 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 2.1000

تفاضل غیر صحیح

Page 8: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

8

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

>> z = -3:7

z = -3 -2 -1 0 1 2 3 4 5 6 7

>> xa = 21:-3:6

xa = 21 18 15 12 9 6

اختالف منفی

Page 9: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

9

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

براي ایجاد یک بردار با تعداد مشخصی درایه v = linspace( xi, xf, n )

• xi عدد اول است• xf عدد آخر است• n اگر نوشته نشود100(=تعداد درایه ها است(

Page 10: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

10

2.1 CREATING A ONE-DIMENSIONAL ARRAY (VECTOR)

>> va = linspace( 0, 8, 6 )

va = 0 1.6000 3.2000 4.8000 6.4000 8.0000

>> va = linspace( 30, 10, 11 )

va=30 28 26 24 22 20 18 16 14 12 10

m:q:nامکان تعیین اختالف را می دهد .Linspace() امکان تعیین تعداد درایه ها را

.می دهد

شش درایه

درایه هاي نزولی

T I P

Page 11: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

11

2.2 CREATING A TWO-DIMENSIONAL ARRAY (MATRIX)

یک ماتریس دو بعدي را اینگونه ایجاد کنیدm = [ 1اعداد ردیف 2اعداد ردیف ; [اعداد ردیف آخر; ... ;

هر ردیف با نقطه ویرگول جدا می شود دارند) درایه(همه ردیف ها تعداد یکسانی ستون

>> a=[ 5 35 43; 4 76 81; 21 32 40]

a =

5 35 43

4 76 81

21 32 40

Page 12: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

12

2.2 CREATING A TWO-DIMENSIONAL ARRAY (MATRIX)

>> cd=6; e=3; h=4;

>> Mat=[e, cd*h, cos(pi/3);... h^2 sqrt(h*h/cd) 14]

Mat =3.0000 24.0000 0.5000

16.0000 1.6330 14.0000

کاما اختیاري

Page 13: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

13

2.2 CREATING A TWO-DIMENSIONAL ARRAY (MATRIX)

براي ()linspaceیا m:q:nمیتوانید از ایجاد ردیفها استفاده کنید

) درایه(مطمئن شوید هر ردیف تعداد یکسانی ستون •دارد

>> A=[1:2:11; 0:5:25;... linspace(10,60,6); 67 2 43 68 4 13]

A =

1 3 5 7 9 11

0 5 10 15 20 25

10 20 30 40 50 60

67 2 43 68 4 13

Page 14: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

14

2.2 CREATING A TWO-DIMENSIONAL ARRAY (MATRIX)

ه متفاوت باشد چ) درایه ها(اگر تعداد ستون ها می شود؟

>> B= [ 1:4; linspace(1,4,5) ]

??? Error using ==> vertcat

CAT arguments dimensions are not consistent.

چهار ستون پنج ستون

Page 15: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

15

2.2.1 The zeros, ones and, eye Commands

zeros(m,n)- ماتریسی باm ردیف وn ستونمی سازد که همه درایه هایش صفر هستند

ones(m,n)- ماتریسی باm ردیف وn ستونیک هستندمی سازد که همه درایه هایش

eye(n)- ماتریسی مربعی باn سطر و ستون میدرایه هاي روي قطر اصلی همه یک و بقیه . سازد

) ماتریس واحد(درایه ها صفر هستند

Page 16: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

16

2.2.1 The zeros, ones and, eye Commands

>> zr=zeros(3,4)zr = 0 0 0 0

0 0 0 00 0 0 0

>> ne=ones(4,3)ne = 1 1 1

1 1 11 1 11 1 1

>> idn=eye(5)

idn = 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

Page 17: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

17

2.2.1 The zeros, ones and, eye Commands

ی براي ایجاد یک ماتریس که با عدد مشخصرا در آن عدد ones(m,n)پر شده باشد،

ضرب کنید>> z=100*ones(3,4)

z =

100 100 100 100

100 100 100 100

100 100 100 100

T I P

Page 18: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

18

2.3 NOTES ABOUT VARIABLES IN MATLAB

همه متغیرها آرایه هستند• آرایه اي با یک درایه–اسکالر آرایه اي با یک سطر یا ستون–بردار آرایه اي با چند سطر و ستون–ماتریس

مقدار دهی یک متغیر ابعاد آن را مشخص میکند•ه بر خالف بسیاري از زبانهاي برنامه نویسی، نیازي ب

تعیین اندازه متغیر پیش از مقدار دهی آن نیستمقدار دهی مجدد یک متغیر، ابعاد آن را به ابعاد •

آنچه به آن تخصیص دهید تغییر می دهد

Page 19: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

19

2.4 THE TRANSPOSE OPERATOR

ترانهاده یک متغیر را با قرار دادن آپوستروف'xمثالً . پس از آن به دست آورید

در ریاضیات ترانهاده معموالً با قرار دادنT در بااليxTمثالً . متغیر مشخص میشود

بدیل یک بردار ستونی را به بردار سطري و بر عکس ت•می کند

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

تون ماتریس اولیه به سدوم ، سطر ماتریس ترانهاده.تبدیل می شود... ترانهاده و ماتریس دوم

Page 20: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

20

2.4 THE TRANSPOSE OPERATOR

>> aa=[3 8 1]

aa = 3 8 1

>> bb=aa'

bb = 3

8

1

Page 21: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

21

2.4 THE TRANSPOSE OPERATOR

>> C=[2 55 14 8; 21 5 32 11; 41 64 9 1]

C = 2 55 14 8

21 5 32 11

41 64 9 1

>> D=C'

D = 2 21 41

55 5 64

14 32 9

8 11 1

Page 22: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

22

2.5 ARRAY ADDRESSING

بردار یا (می توان به درایه هاي یک آرایه رسی به صورت تکی یا چند تایی دست) ماتریس)آنها را خواند یا نوشت(داشت

براي تغییر زیر مجموعه اي از درایه ها مناسب است•براي ایجاد یک متغیر جدید از زیر مجموعه اي از •

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

Page 23: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

23

2.5.1 Vector

یک درایه موقعیت آن در بردار استنشانی نامیده می شوداندیسنشانی معموالً •)0نه (شروع میشوند 1نشانی ها همیشه از •

یک بردار سطري درایه سمت چپ است1نشانی باالیی استدرایه ستونی یک بردار 1نشانی

براي دسترسی به درایه خاصی از یک بردار که در یک •ر متغیر ذخیره شده است، پس از نام متغیر نشانی را د

را vدرایه دوم بردار v(2)=20مثالً . پرانتز بنویسید. تعیین می کند20

Page 24: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

24

2.5.1 Vector

>> VCT=[35 46 78 23 5 14 81 3 55]VCT = 35 46 78 23 5 14 81 3 5>> VCT(4)ans = 23>> VCT(6)=273VCT = 35 46 78 23 5 273 81 3 5>> VCT(2)+VCT(8)ans = 49>> VCT(5)^VCT(8)+sqrt(VCT(7))ans = 134

Page 25: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

25

2.5.2 Matrix

ف نشانی یک درایه در یک ماتریس با شماره ردیالً نشانی معمو. و شماره ستون مشخص میشود

.نامیده میشوداندیس)0نه (شروع میشوند 1نشانی ها همیشه از •

باالترین ردیف است1ردیف ستون سمت چپ است1ستون

ma(k,p)یک ماتریس باشد، maاگر متغیر •ام استpو ستون امkدرایه سطر

همیشه عدد نشانی سمت چپ به MATLABدر رد ردیف و عدد نشانی سمت راست به ستون اشاره دا

T I P

Page 26: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

26

2.5.2 Matrix

>> MAT=[3 11 6 5; 4 7 10 2; 13 9 0 8]

MAT = 3 11 6 54 7 10 213 9 0 8

>> MAT(3,1)ans = 13>> MAT(3,1)=20MAT = 3 11 6 5

4 7 10 220 9 0 8

>> MAT(2,4)-MAT(1,2)ans = -9

درایه ستون یکم و ردیف سوم

1و ستون 3تخصیص مقداري جدید به درایه ردیف

فقط این درایه تغییر می کند

1ستون

3ردیف

Page 27: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

27

2.6 USING A COLON : IN ADDRESSING ARRAYS

براي آدرس دهی گروهی از درایه ها به کار میرود(:) دو نقطه • )سطري یا ستونی(بردار va(:) – همه درایه ها va(m:n) – n تا m درایه هاي

• ماتریس A(:,n) – n همه ردیف هاي ستون A(m,:) – m همه ستون هاي ردیف A(:,m:n) - n تا m همه ردیف هاي ستون هاي A(m:n,:) - n تا m همه ستون هاي ردیف هاي A(m:n,p:q) - n تا m ردیف هاي q تا p ستون هاي

Page 28: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

28

2.6 USING A COLON : IN ADDRESSING ARRAYS

>> A=[1:2:11; 2:2:12; 3:3:18; 4:4:24; 5:5:30]

A = 1 3 5 7 9 11

2 4 6 8 10 12

3 6 9 12 15 18

4 8 12 16 20 24

5 10 15 20 25 30

>> B=A(:,3)

B = 5

6

9

12

15

3همه ردیف هاي ستون

Page 29: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

29

2.6 USING A COLON : IN ADDRESSING ARRAYS

>> C=A(2,:)

C = 2 4 6 8 10 12

>> E=A(2:4,:)

E = 2 4 6 8 10 12

3 6 9 12 15 18

4 8 12 16 20 24

>> F=A(1:3,2:4)

F = 3 5 7

4 6 8

6 9 12

2همه ستون هاي ردیف

4تا 2همه ستون هاي ردیف هاي

3تا 1ردیف هاي 4تا 2ستون هاي

Page 30: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

30

2.6 USING A COLON : IN ADDRESSING ARRAYS

می توان اندیس هاي بردارها یا ماتریس ها را با بردار جایگزین کرد تا درایه هاي مشخصی را جدا

mو ماتریس vمثالً براي بردار . نمود•v([a b c:d]) به درایه هايa وb وc تاd

اشاره دارد•m([a b],[c:d e]) به ستون هايc تاd و

اشاره داردbو aردیف هاي eستون

Page 31: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

31

2.6 USING A COLON : IN ADDRESSING ARRAYS

>> v=4:3:34

v = 4 7 10 13 16 19 22 25 28 31 34

>> u=v([3, 5, 7:10])

u = 10 16 22 25 28 31

Page 32: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

32

2.6 USING A COLON : IN ADDRESSING ARRAYS

>> A=[10:-1:4; ones(1,7); 2:2:14; zeros(1,7)]

A = 10 9 8 7 6 5 4

1 1 1 1 1 1 1

2 4 6 8 10 12 14

0 0 0 0 0 0 0

>> B=A([1 3],[1 3 5:7])

B = 10 8 6 5 4

2 6 10 12 14

Page 33: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

33

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

دو راه براي اضافه کردن درایه به متغیرهاي موجودمقدار دادن به اندیس هایی که وجود ندارند1.

MATLAB آرایه را گسترش می دهد تا اندیس ها را شاملشود، مقادیر مشخص شده را در درایه هاي مورد نظر قرار

میدهد، درایه هاي جدیدي که مقداري براي آن ها در نظر گرفته نشده را با صفر پر می کند

اضافه کردن مقادیر به انتهاي متغیرها2. نامیدهالحاق کردن اضافه کردن مقادیر به انتهاي متغیرها

میشود»تونی ي بردار، سمت راست بردار سطري یا پایین بردار س»انتها

است»تي ماتریس، ستون سمت راست یا ردیف انتهایی اس»انتها

Page 34: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

34

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

مقدار دادن به اندیس هاي تعریف نشده بردارها>> DF=1:4

DF = 1 2 3 4

>> DF(5:10)=10:5:35

DF = 1 2 3 4 10 15 20 25 30 35

>> AD=[5 7 2]

AD = 5 7 2

>> AD(8)=4

AD = 5 7 2 0 0 0 0 4

>> AR(5)=24

AR = 0 0 0 0 24درایه هاي مشخص نشده صفر در نظر گرفته می شوند

Page 35: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

35

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

الحاق به بردارهانی تنها می توان بردارهاي سطري را به سطري و ستو•

را به ستونی الحاق کرد اگرr1 وr2 ،دو بردار سطري دلخواه باشند

r3 = [r1 r2] یک بردار سطري خواهد بود کهو قسمت سمت راستش r1قسمت سمت چپ آن

r2است اگرc1 وc2 دلخواه باشندستونی دو بردار ،

c3 = [c1; c2] خواهد بود که ستونی بردار یکاستc2پایینش و قسمت c1باالي آن قسمت

Page 36: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

36

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

>> RE=[3 8 1 24];>> GT=4:3:16;>> KNH=[RE GT]KNH = 3 8 1 24 4 7 10 13 16>> KNV=[RE'; GT']KNV = 3

812447101316

Page 37: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

37

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

مقدار دادن به اندیس هاي تعریف نشده ماتریس ها>> AW=[3 6 9; 8 5 11]

AW = 3 6 9

8 5 11

>> AW(4,5)=17

AW = 3 6 9 0 0

8 5 11 0 0

0 0 0 0 0

0 0 0 0 17

>> BG(3,4)=15

BG = 0 0 0 0

0 0 0 0

0 0 0 15

AWردیف چهارم یا ستون پنجم ندارد

!حاال دارد

مقادیر مشخص نشده صفر در نظر گرفته میشوند

Page 38: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

38

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

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

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

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

باشند

Page 39: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

39

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

>> A2=[1 2 3; 4 5 6]

A2 = 1 2 3

4 5 6

>> B2=[7 8; 9 10]

B2 = 7 8

9 10

>> C2=eye(3)

C2 = 1 0 0

0 1 0

0 0 1

Page 40: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

40

2.7 ADDING ELEMENTS TO EXISTING VARIABLES

>> Z=[A2 B2]

Z = 1 2 3 7 8

4 5 6 9 10

>> Z=[A2; C2]

Z = 1 2 3

4 5 6

1 0 0

0 1 0

0 0 1

>> Z=[A2; B2]

??? Error using ==> vertcat

CAT arguments dimensions are not consistent.

Page 41: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

41

2.8 DELETING ELEMENTS

براي حذف درایه هاي یک بردار یا ماتریس، یک دکروشه خالی به محدوده مورد نظر تخصیص دهی

>> kt=[2 8 40 65 3 55 23 15 75 80]

kt = 2 8 40 65 3 55 23 15 75 80

>> kt(6)=[]

kt = 2 8 40 65 3 23 15 75 80

>> kt(3:6)=[]

kt = 2 8 15 75 80

)55(حذف درایه ششم

حذف شد55

تغییر یافته، نه اولیهktحذف درایه هاي سوم تا ششم

Page 42: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

42

2.8 DELETING ELEMENTS

براي حذف درایه هاي یک بردار یا ماتریس، یک دکروشه خالی به محدوده مورد نظر تخصیص دهی

>> mtr=[5 78 4 24 9; 4 0 36 60 12; 56 13 5 89 3]

mtr = 5 78 4 24 9

4 0 36 60 12

56 13 5 89 3

>> mtr(:,2:4)=[]

mtr = 5 9

4 12

56 3

Page 43: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

43

2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS

MATLABاردتوابع داخلی بسیاري براي کار با آرایه ها د .:بعضی از پرکاربردترین آن ها

• length(v) – تعداد درایه هاي یک بردار• size(A) – تعداد ردیف ها و ستون هاي یک ماتریس یا

بردار• reshape(A,m,n) – تعداد ردیف ها و ستون هاي یک ماتریس یا بردار را، با ثابت نگه داشتن تعداد درایه ها تغییر

8*2را به یک ماتریس 4*4مثالً، یک ماتریس . می دهدتبدیل می کند

Page 44: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

44

2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS

• diag(v) – یک ماتریس مربعی می سازد که بردار مورد نظر قطر اصلی آن باشد و سایر درایه ها صفر باشند

• diag(A) – برداري می سازد که معادل قطر اصلی ماتریس مورد نظر باشد

را کلیک کنید، Helpبراي توابع بیشتر، آیکن را کلیک کنید، MATLABسپس در پنجره راهنما

را ”By Category“، سپس ”functions“سپس انتخاب کنید، بعد از آن پایین بیایید تا به

“Matrices and Arrays” برسید

Page 45: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

45

2.10 STRINGS AND STRINGS AS VARIABLES

آرایه اي از کاراکترها است)string(رشته دارندMATLABرشته ها کاربردهاي بسیاري در

نمایش خروجی متنی•تعیین مشخصات ظاهري ترسیم ها•ورودي بعضی توابع هستند•ورود متن توسط کاربر یا از فایل هاي داده•

Page 46: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

46

2.10 STRINGS AND STRINGS AS VARIABLES

وسترف یک رشته با تایپ کاراکترها در بین دو آپ•ایجاد می شود ) ‘) (یا نقل قول تکی(رشته بسیاري از زبانهاي برنامه نویسی از گیومه براي

این طور نیستMATLAB. ها استفاده می کننددر زمان تایپ رشته•

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

ه آپوستروف بدومین رنگ نوشته ها پس از تایپتغییر می کندبنفش

Page 47: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

47

2.10 STRINGS AND STRINGS AS VARIABLES

ه رشته می تواند شامل حروف، اعداد، عالئم و فاصل•باشدبراي تایپ آپوستروف در یک رشته، از دو آپوستروف

Greg’s carمثالً براي ایجاد رشته . متوالی استفاده کنیدGreg''s'تایپ کنید car'

مثال: 'ad ef', '3%fr2', 'edcba:21!', 'MATLAB'

Page 48: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

48

2.10 STRINGS AND STRINGS AS VARIABLES

می توان یک رشته را به یک متغیر تخصیصداد، درست مثل اعداد

>> name = 'Sting'

name =

Sting

>> police = 'New York''sfinest'

police =

New York's finest

Page 49: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

49

2.10 STRINGS AND STRINGS AS VARIABLES

در متغیرهاي رشته اياعداد به عنوان آرایه ذخیره می شوند•یک رشته تک خطی، یک بردار سطري است•

تعداد درایه هاي بردار برابر تعداد کاراکترهاي رشته است

>> name = 'Howard the Duck';

>> size( name )

ans =

1 15

Page 50: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

50

2.10 STRINGS AND STRINGS AS VARIABLES

اندیس گذاري رشته ها مشابه بردارها و ماتریس ها است

می شود بر اساس اندیس خواند•نوشتمی شود بر اساس اندیس •حذف کردمی شود بر اساس اندیس •

Page 51: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

51

2.10 STRINGS AND STRINGS AS VARIABLES

مثال>> word = 'dale';

>> word(1)

ans = d

>> word(1) = 'v'

word = vale

>> word(end) = []

word = val

>> word(end+1:end+3) = 'ley'

word = valley

Page 52: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

52

2.10 STRINGS AND STRINGS AS VARIABLES

MATLAB رشته هاي چند خطی را به عنوانبه این معنی که هر سطر . آرایه ذخیره می کند

ه باشدداشت) کاراکتر(باید تعداد یکسانی ستون >> names = [ 'Greg'; 'John' ]

names =

Greg

John

>> size( names )

ans =

2 4

Page 53: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

53

2.10 STRINGS AND STRINGS AS VARIABLES

سؤال>> names = [ 'Greg'; 'Jon' ]??? Error using ==> vertcat

CAT arguments dimensions are not consistent.

اضافه )معموالً فاصله(باید کاراکترهاي بیشتري ه کرد تا هر سطر تعداد یکسانی کاراکتر داشت

باشد>> names = [ 'Greg'; 'Jon ' ]

Greg

Jon

کاراکتر4کاراکتر3

فاصله اضافه

Page 54: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

54

2.10 STRINGS AND STRINGS AS VARIABLES

ی اطمینان از این که هر سطر متن تعداد یکساناین مشکل با . کاراکتر دارد مشکل است

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

راست هر سطر اضافه می کند، تا سطرها داراي .تعداد کاراکتر برابر باشند

char('string 1', 'string 2', 'string 3')

Page 55: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

55

2.10 STRINGS AND STRINGS AS VARIABLES

مثال>> question=char('Romeo, Romeo,',...

'Wherefore art thou', 'Romeo?' )

question =

Romeo, Romeo,

Wherefore art thou

Romeo?

>> size( question )

ans =

3 18

Page 56: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

56

2.10 STRINGS AND STRINGS AS VARIABLES

ذخیره شده اند3*18سه سطر متن در یک آرایه MATLAB هر سطر را به طول بلندترین سطر

میرساندردیف هاي اول و سوم در آرایه باال داراي تعداد فاصله •

ه کافی در انتهاي سمت راست خود هستند تا هر سطر بکاراکتر برسد18طول

R o m e o , R o m e o ,

W h e r e f o r e a r t t h o u

R o m e o ?

Page 57: ﺎﻫ ﻪﯾارآ دﺎﺠﯾاresearch.iaun.ac.ir/pd/karimianerfan/pdfs/UploadFile...1 Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 6th

57

شماره تمرین هاي منتخب•40•43•44

•11•12•15•19•26•29•30•32•37