ﻢﻴـﺣﺭﺍ matlab - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ...

20
ﺗﻜﺮﻳﺖ ﺟﺎﻣﻌﺔ ﺍﳌﻴﻜﺎﻧﻴﻚ ﻗﺴﻢ/ ﺍﳍﻨﺪﺳﺔ ﻛﻠﻴﺔMATLAB ﺳﻴ.. ــ ـ ﺍﺭﺣ ﺒﺎﺡ ـ ﻴﻢ ﺍﻟﺜﺎﻧﻴﺔ ﺍﶈﺎﺿﺮﺓ5 atan ﻅﻞ ﻣﻌﻜﻮﺱ ﺍﻟﺰﺍﻭﻳﺔfix ﺍﻟﺘﺪﻭﻳﺮ ﺑﺎﺗﺠﺎﻩ ﺍﻟﺼﻔﺮfloor ﺍﻟﺘﺪﻭﻳﺮ ﺑﺎﺗﺠﺎﻩ ﺍﻟﻼﻧﻬﺎﻳﺔ ﺍﻟﺴﺎﻟﺒﺔceil ﺍﻟﺘﺪﻭﻳﺮ ﺑﺎﺗﺠﺎﻩ ﺍﻟﻼﻧﻬﺎﻳﺔ ﺍﻟﻤﻮﺟﺒﺔround ﺍﻟﺘﺪﻭﻳﺮ ﺑﺎﺗﺠﺎﻩ ﺃﻗﺮﺏ ﻋﺪﺩ ﺻﺤﻴﺢmod ﺍﻟﺠﺰء ﺍﻟﺼﺤﻴﺢ ﻣﻦ ﺣﺎﺻﻞ ﺍﻟﻘﺴﻤﺔrem ﺑﻘﻴﺔ ﺍﻟﻘﺴﻤﺔSign ﺇﺷﺎﺭﺓ ﺍﻟﻌﺪﺩ ﺇﺫﺍ ﻛﺎﻧﺖ ﻣﻮﺟﺒﺔ، ﺳﺎﻟﺒﺔ، ﺻﻔﺮimag ﺍﻟﻘﺴﻢ ﺍﻟﺘﺨﻴﻠﻲreal ﺍﻟﻘﺴﻢ ﺍﻟﺤﻘﻴﻘﻲfactor ﺍﻟﻌﻮﺍﻣﻞ ﺍﻷﻭﻟﻴﺔIsprime ﻳﻌﻴﺪtrue ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻌﺪﺩ ﺃﻭﻟﻴﺎprimes ﻳﻨﺸﺊ ﻗﺎﺋﻤﺔ ﺑﺎﻷﻋﺪﺍﺩ ﺍﻷﻭﻟﻴﺔgcd ﺍﻟﻘﺎﺳﻢ ﺍﻟﻤﺸﺘﺮﻙ ﺍﻷﻋﻈﻢlcm ﺍﻟﻤﻀﺎﻋﻒ ﺍﻟﻤﺸﺘﺮﻙ ﺍﻷﺻﻐﺮ ﻣﺜﺎﻝ: >> x = 2.6; >> y1 = fix (x); y2 = floor (x); y3 = ceil (x); y4 = round (x); y1 = 2 y2 = 2 y3 = 3 y4 = 3 ﺱ/ ﻣﺎ ﻟﻔﺮﻕ ﺑﻴﻦ ﺍﻟﺪﻭﺍﻝ ﺍﻷﺭﺑﻌﺔ ﺃﻋﻼﻩ؟

Upload: others

Post on 25-Dec-2019

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

5

atan ظل معكوس الزاوية

fix التدوير باتجاه الصفر

floor التدوير باتجاه الالنهاية السالبة

ceil التدوير باتجاه الالنهاية الموجبة

round التدوير باتجاه أقرب عدد صحيح

mod الجزء الصحيح من حاصل القسمة

rem القسمةبقية

Sign إشارة العدد إذا كانت موجبة، سالبة، صفر

imag القسم التخيلي

real القسم الحقيقي

factor العوامل األولية

Isprime يعيدtrue إذا كان العدد أوليا

primes ينشئ قائمة باألعداد األولية

gcd القاسم المشترك األعظم

lcm المضاعف المشترك األصغر

:مثال>> x = 2.6;

>> y1 = fix (x); y2 = floor (x); y3 = ceil (x); y4 = round (x);

y1 = 2

y2 = 2

y3 = 3

y4 = 3

س/ ما لفرق بين الدوال األربعة أعاله؟

Page 2: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

6

:مالحظة

تأخذ االقترانات المكتبية أولوية بعد األقواس عند تنفيذ العمليات الحسابية.

sin (a + b) – m / sqrt (d)

يكون تنفيذ العمليات الحسابية كما يلي:

.bمع aإيجاد قيمة جمع :العملية األولى

).1إيجاد قيمة جيب الزاوية لناتج العملية ( :العملية الثانية

.dإيجاد قيمة الجذر التربيعي لــ :العملية الثالثة

).3على ناتج العملية ( mإيجاد ناتج قيمة ناتج قسمة :العملية الرابعة

ة بح النتيجة النهائية كمية واحدة (عددا 2) من ناتج العملية (4طرح ناتج العملية ( :العملية الخامس ) وتص

واحدا).

:الماتالب تمثل الجمل التالية إقترانات مكتبية في الجبر وإزائها قيمتها في مثال:

التعبري الرياضي بصيغة ماتالب التعبري الرياضي

102abb = sqrt ( a ^ 2 + 10 )

z = ln (cx + ny)z = log (c * x + n * y)

(x + nk) 3 y = siny = (sin (x + n * k)) ^ 3

(y / x) 1-s = tans = atan (y / x)

52 xerr = 2 * sqrt (exp (x – 5 )

t = abs (x – sqrt (y)) / (a + m)

g = p ^ (3 / 2) + (a * b / c) ^ (1 / 5)

5544

31 2

523

cabpg

)( mayx

t

Page 3: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

7

ادالت:ــــحــل املع ) وكما في األمثلة التالية:solveحل المعادالت بداللة أي من المتغيرات نستخدم االمر (لالمعادالت: حل -1

) للمعادلة التالية:x): جد قيمة (1مثال(>> x=solve('x*y+y^2-5*x+7','x') x = -(y^2 + 7)/(y - 5)

أعاله:) للمعادلة yجد قيمة ( ):2مثال(y=solve('x*y+y^2-5*x+7','y') y = (x^2 + 20*x - 28)^(1/2)/2 - x/2 - x/2 - (x^2 + 20*x - 28)^(1/2)/2

:) للمعادلة التاليةz): جد قيمة (3مثال(

>> z=solve('x*y*z+x/(y+z)-3*z-7','z') z = (3*y - x*y^2 + (x^2*y^4 - 4*x^2*y - 6*x*y^3 + 14*x*y^2 + 12*x + 9*y^2 - 42*y + 49)^(1/2) + 7)/(2*(x*y - 3)) (3*y - x*y^2 - (x^2*y^4 - 4*x^2*y - 6*x*y^3 + 14*x*y^2 + 12*x + 9*y^2 - 42*y + 49)^(1/2) + 7)/(2*(x*y - 3))

:ة) للمعادلة التاليx): جد قيمة (4مثال(>> x=solve('exp(x)-2*x-1','x') x = 0

:للمعادالت التالية) x,y,z): جد قيمة (5مثال(x-2y+z2=6 3x+y3-z=8 x+y+z=6 >> syms x y z >> [x y z]=solve('x-2*y+z^2-6',3*x+y^3-z-8','x+y+z-6','x','y','z') x = 1 3.2262570967773973575106995479287 7.7556188665858072600137922169525 - 3.4284062013453905430303142363837*i 7.7556188665858072600137922169525 + 3.4284062013453905430303142363837*i 6.6312525850254940612308580090831 - 0.75731974487580129690931473941034*i 6.6312525850254940612308580090831 + 0.75731974487580129690931473941034*i y = 2 0.7206741667432209966189313884551 - 2.6087652914695491846207156492095 + 0.65333714421963751344454307696471*i - 2.6087652914695491846207156492095 - 0.65333714421963751344454307696471*i 1.248428208097938686311249954982 + 2.0486740931732598389002031905997*i 1.248428208097938686311249954982 - 2.0486740931732598389002031905997*i

Page 4: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

8

z = 3 2.0530687364793816458703690636162 0.853146424883741924606923432257 + 2.775069057125753029585771159419*i 0.853146424883741924606923432257 - 2.775069057125753029585771159419*i - 1.8796807931234327475421079640651 - 1.2913543482974585419908884511894*i - 1.8796807931234327475421079640651 + 1.2913543482974585419908884511894*i

التالية: المثال) وكما في rootsإليجاد جذور المعادالت نستخدم االمر (: المعادالتجذور -20213x-3+5x42x=7+ ): جد جذور المعادلة التالية:1مثال (

>> roots([2 5 -13 -6 7]) ans = -3.9081 1.6843 -0.8802 0.6041

) وكما في األمثلة التالية:limitنستخدم االمر( الغاياتإليجاد الغايات: -3 التالية: الغاية): جد ناتج 1مثال (

>> syms x >> L=limit((x-1)/sin(x-1),x,1) L = 1

التالية: الغاية): جد ناتج 2مثال (

>> syms x >> L=limit((x-1)/sin(x^2+5),x,inf) L = NaN

):diffتفاضل الدوال: إليجاد تفاضل الدوال نستخدم االمر ( -4 ): جد تفاضل الرتبة األولى للدالة التالية: 1مثال (

f(x)=x2sin(x)+tan(x) >> syms x >> f=x^2*sin(x)+tan(x); >> d=diff(f,x) d = x^2*cos(x) + tan(x)^2 + 2*x*sin(x) + 1

): جد تفاضل الرتبة الثانية للدالة اعاله:2مثال (>> syms x >> f=x^2*sin(x)+tan(x); >> d=diff(f,x,2) d = 2*sin(x) - x^2*sin(x) + 4*x*cos(x) + 2*tan(x)*(tan(x)^2 + 1)

Page 5: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

9

): جد تفاضل الرتبة الثالثة للدالة اعاله:3مثال (>> syms x >> f=x^2*sin(x)+tan(x); >> d=diff(f,x,3) d = 6*cos(x) + 2*(tan(x)^2 + 1)^2 - x^2*cos(x) + 4*tan(x)^2*(tan(x)^2 + 1) - 6*x*sin(x)

الثالثة:وللرتبة للدالة أعاله x=0.23مثل )subsنستخدم االمر( ): إليجاد التفاضل عند نقطة معينة4مثال (>> syms x >> f=x^2*sin(x)+tan(x); >> d=diff(f,x,3) d = 6*cos(x) + 2*(tan(x)^2 + 1)^2 - x^2*cos(x) + 4*tan(x)^2*(tan(x)^2 + 1) - 6*x*sin(x) >> subs(d,x,0.23) ans = 7.9325

4z3y2f(x,y,z)=x إذا كانت إليجاد تفاضل دوال متعددة المتغيرات مثل ): 5مثال (

>> syms x y z >> f=x^2*y^3*z^4; >> d=diff(f,x,2) d = 2*y^3*z^4

للدالة أعاله: إليجاد تفاضل دوال متعددة المتغيرات مثل ): 6مثال (

>> syms x y z >> f=x^2*y^3*z^4; >> L=diff(f,y,2) L = 6*x^2*y*z^4

للدالة أعاله: إليجاد تفاضل دوال متعددة المتغيرات مثل ): 7مثال (

>> syms x y z >> f=x^2*y^3*z^4; >> K=diff(f,z,2) K = 12*x^2*y^3*z^2

للدالة أعاله: إليجاد تفاضل دوال متعددة المتغيرات مثل ): 8مثال (

>> syms x y z >> f=x^2*y^3*z^4; >> C=diff(diff(f,y),x) C = 6*x*y^2*z^4

Page 6: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

10

):dsolveلحل المعادالت التفاضلية نستخدم االمر ( التفاضلية:المعادالت -5 ): حل المعادلة التفاضلية التالية:1مثال (

>> syms x y >> y=dsolve('Dy-2*x=0','y(0)=1','x') y = x^2 + 1

): حل المعادلة التفاضلية التالية:2مثال (

>> syms x y >> y=dsolve('D2y+Dy-2*x-2=0','y(0)=0','x') y = C6 + x^2 - C6*exp(-x)

التالية:): حل المعادلة التفاضلية 3مثال (

>> syms x y >> y=dsolve('D2y+Dy-2*x-2=0','y(0)=0','Dy(0)=0','x') y = x^2

2xy''+y'=x ): حل المعادلة التفاضلية التالية:4مثال (

>> syms x y >> y=dsolve('x*D2y+Dy=x^2','x') y = C16 - C15*log(x) + x^3/9

التفاضلية التالية: تالمعادالمنظومة ): حل 5مثال (

> syms y1 y2 >> [y1 y2]=dsolve('Dy1=y2/x^2','Dy2=2*y1-2') y1 = (2^(1/2)*exp(-(2^(1/2)*t)/x)*(exp((2*2^(1/2)*t)/x)*(C17+(2^(1/2)*x*exp(-(2^(1/2)*t)/x))/2) - C18 + (2^(1/2)*x*exp((2^(1/2)*t)/x))/2))/(2*x) y2 = exp(-(2^(1/2)*t)/x)*(C18 + exp((2*2^(1/2)*t)/x)*(C17 + (2^(1/2)*x*exp(-(2^(1/2)*t)/x))/2) - (2^(1/2)*x*exp((2^(1/2)*t)/x))/2)

): intتكامل الدوال: إليجاد تكامل الدوال نستخدم االمر ( -6 ): جد تكامل الدالة التالية:1مثال (

>> syms x >> D=int(x^2+1,x,1,2) D = 10/3

Page 7: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

احملاضرة الثانية

11

): جد تكامل الدالة التالية:2مثال (>> syms x >> D=int(exp(-x^2),x,0,+inf) D = pi^(1/2)/2

): جد تكامل الدالة التالية:3مثال (>> syms x y >> D=int(int(x*y,y,0,1),x,1,2) D = 3/4

):symsumنستخدم االمر (المتتاليات والمتسلسالت : إليجاد والمتسلسالتلمتتاليات ا -7 : ): جد قيمة المتسلسلة التالية1مثال (

>> syms x >> A=symsum(1/x,x,1,20) A = 55835135/15519504

: ): جد قيمة المتسلسلة التالية2مثال (>> syms x >> N=symsum(1/factorial(x),x,0,20) N = 6613313319248080001/2432902008176640000

Page 8: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

1

املصفوفات والعمليات على املصفوفاتميها أعداد نس ابات التي أجريتها حتى اآلن مؤلفة من أعداد وحيدة البعد س لقد كانت جميع الحسيات. وبنفس الوقت، يات علم الرياض اس مفردة. وتعتبر العمليات المجراة على األعداد المفردة هي أس

يحتاج إلى أكثر إعادة خص إجراء نفس العملية على عدد مفرد أو أكثر، فس لية إجراء العم وعندما يريد الشكلة، عمد برنامج هذه المش هدر في الوقت والجهد. ولحل ماتالب عدة مرات، مما يعني إلى إجراء ال

العمليات الرياضية على مصفوفة من البيانات.

: املصفوفة البسيطة: كتابة أوال .هي المصفوفة التي تتكون من صف واحد وعدة أعمدة (االفقية) المصفوفة البسيطة مالحظة مهمة:

الطريقة األولى لكتابة المصفوفة البسيطة: -1فوفاالماتالب يتعامل برنامج لة، إذ مع المص لس ر وبطريقة س كل مباش فوفاتإت بش اء المص ن إنش

يطة هلة جدا. البس فوفة في لغة يتم بطريقة س اء مص ر كل ما عليك إلنش بدأ بقوس تعلى أن ماتالب يقتصاري فوفة بقوس يميني بفراغ أو (فارزة)ثم تدخل القيم المطلوبة مربع يس مربع أي ثم أغلق المص ا كما .ض

في المثال االتي: :مثال

x = [1, 3, 7, 9, 20] x =

1 3 7 9 20 الطريقة الثانية لكتابة المصفوفة البسيطة: -2

فوفة ابقا بإدخال قيم مص فوفة، وهنا األمر مقبول الن xلقد قمنا س من المص ر ض عبر كتابة كل العناص عنصرا؟ 111فقط، ماذا لو احتوت خمسة عناصرتحوي xالمصفوفة

فوفة عدة طرقهناك ر المص تخدام النقطتين ، وذلك xإلدخال عناص ، كما في األمثلة المتعامدتينباس االتية:

:)1مثال ( >> x = (0: 0.1: 1) * pix =0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133

3.14162.8274 :)2( مثال

>> a = [1: 7] a = 1 2 3 4 5 6 7

Page 9: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

2

مثال (3):>> a = (1: 7) a = 1 2 3 4 5 6 7

مثال (4):>>a = 1 : 5 , b = 1: 2: 9 a = 1 2 3 4 5 b = 1 3 5 7 9

مالحظة:طر واحد إذا من س تطيع دمج التعبيرين ض فوفتين، ولكن تذكر بأنك تس اء مص ل لم ت هنا تم إنش فص

بفواصل:>> c = [b a]c = 1 3 5 7 9 1 2 3 4 5

.aمتبوعة بعناصر bمؤلفة من عناصر cوبذلك تم إنشاء مصفوفة مثال (5):

>> x = linspace (0, pi, 11)

x = 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416

مثال (6):>> b = linspace (1, 7, 5) b = 1 2.5 4 5.5 7

:(للوصول اىل أي عنصر داخل املصفوفة) أو الفهرسة البسيطة عنونة املصفوفةثانيا: :مثال

x0y = sin (x) x = [0 0.1 * pi .2 * pi .3 * pi .4 * pi .5 * pi .6 * pi .7 * pi .8 * pi .9 * pi pi] y = sin (x)

القيمة االبتدائيةالقيمة ا عدد القيم القيمة النهائية

Page 10: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

3

اب الجيب لكل قيم الماتالب فأن برنامج sin (x)كتابة عند ع xيعلم بأنك تريد حس ويقوم بوض مختلفة عن لغات البرمجة األخرى.للبرنامج وتجعل هذه اإلمكانية yالنتائج في مصفوفة أخرى هي

عنصر، يمكن الوصول إلى أي عنصر منها باستخدام الفهرسة له. 11المصفوفة أعاله تتكون من ):1مثال (

x >> x (3) في المصفوفةللوصول الى العنصر الثالث ans =

0.6283 y >> y (5) للوصول الى العنصر الخامس في المصفوفة

ans = 0.9511

ة: امج مالحظ أن برن ت ف ر بنفس الوق اص ة من العن اتالب ولتعريف مجموع دم النقطتين يالم تخ س المتعامدتين (:).

فوفة ة األولى من المص ر الخمس هذه هي العناصxالرقم 1:5، ويجبرك الرمز دأ ب أن تب د 1ب وتع

.5حتى الرقم

>> x (1:5)ans =0 0.3142 0.6283 0.9425 1.2566

ابع وحتى نهاية ر الس وهنا تكمل من العنصإلى آخر عنصر endالمصفوفة، إذ تشير الكلمة

من عناصر المصفوفة.

>> x (7: end) ans = 1.885 2.1991 2.5133 2.8274 3.1416

ر الثالث ثم الثاني ثم األول بترتيب هنا العنصتبدأ بالرقم بأن 1 :1- :3عكسي، ويخبرك الرمز

.1وتقف عند الرقم 1وتعد نزوال بقيمة 3

>> y (3: -1: 1) ans = 0.5878 0.3090 0

ادس من اني والرابع والس ر الث ا العنص هنفوفة بأن تبدأ 7 :2 :2، ويخبرك الرمز xالمص

ـ 2بالرقم وتقف عندما 2وتعد نحو األعلى بـ .7تصل إلى الرقم

>> x (2: 2: 7) ans = 0.3142 0.9425 1.5708

لوضع [1 9 2 8] استخدمنا هنا مصفوفة أخرىفوفة ر المص ترتيب الذي نرغب فيه، بال yعناص

حيث وضع العنصر الثامن أوال والعنصر الثاني سع ثالثا والعنصر ثانيا ، بينما وضع العنصر التا

. األول رابعاعناوين [1 9 2 8] في الواقع تدل المصفوفة

.yالعناصر المرغوبة من المصفوفة

>> y ([8 2 9 1]) ans = 0.8090 0.3090 0.5878 0

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1 0 x

0 0.310.590.810.951 0.950.810.590.310 y

Page 11: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

4

y. >> y ([1 1 3 4 2 2])إعادة ترتيب لقيم المصفوفة ans = 0 0 0.5878 0.8090 0.3090 0.3090

تالية بأن برنامج ح األمثلة ال الالماتالب توضيقبل الدليل كرقم غير صحيح حيث يعطي رسالة

خطأ.

>> y (3.2) Error >> y (3.7) Error >> y (11.6) Error

فوفة جديدة وهي فوفة Mتم اخراج مص من مصبقا. وهذا ينطبق على جميع األمثلة معروفة مسأخوذة من اد القيم الم ن تطيع اس أعاله إذ نس

المصفوفة الرئيسية وجعلها مصفوفة جديدة.

>> M=x (2: 2: 7) M = 0.3142 0.9425 1.5708

: االعتيادية كتابة املصفوفةثالثا: ر عند مالحظة مهمة جدا: ل العناص لفص ر في أعمدة مختلفة، بفراغات أو بفواص عادية يحدد عناص

مختلفة. صفوفيجعل العناصر واقعة في الفاصلة المنقوطةفي حين أن استخدام

افقية (بسيطة) (كل عنصر في عمود) تفصل االعداد بفارزة أو فراغ: عند كتابة مصفوفة :)1( مثال

>> c = [1 2 3 4 5] or c = [1,2,3,4,5]c =

1 2 3 4 5 :تفصل االعداد بفارزة منقوطة عند كتابة مصفوفة عمودية (كل عنصر في صف) :)2( مثال

>> c = [1; 2; 3; 4; 5]c = 1 2 3 4 5

Page 12: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

5

عند كتابة مصفوفة اعتيادية تتكون من عدة صفوف وعدة أعمدة: :)3( مثال>> g = [1 2 3 4 ; 5 6 7 8] or g = [1,2,3,4;5,6,7,8] g = وأربعة أعمدة صفينمصفوفة متكونة من 4 3 2 1 5 6 7 8

فوف وعدة أعمدة:طريقة أخرى لكتابة :)4( مثال فوفة اعتيادية تتكون من عدة ص غط (عند مص ض .)جديد أثناء إدخال قيم المصفوفة صفبأن ينتقل إلى الماتالب برنامج نخبر Enterمفتاح

>> g = [1 2 3 4 5 6 7 8

9 10 11 12] مصفوفة اعتيادية تتكون من عدة صفوف وعدة أعمدة:طريقة أخرى لكتابة :)9( مثال

>> c = [1: 5; 2: 2: 10; 7: -1: 3]c = 1 2 3 4 5 2 4 6 8 10

7 6 5 4 3 Errorعندما يكون عدد االعمدة غير متساوي سوف يكون الناتج :)5( مثال

>> h = [1 2 3 ; 4 5 6 7] Error عدد األعمدة غير متساوية

لتحويل صفوف المصفوفة الى ) 'تستخدم إشارة المنقول (المدور) ( مالحظة مهمة جدا: :)6( مثال أعمدة وبالعكس كما في المثال االتي.

>> a = 1: 5 a = 1 2 3 4 5 >> b = a' b = 1 2 3 4 5 >> c=b'c =

1 2 3 4 5

آخر صفتنزيل

Page 13: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

6

اوا: عندما مالحظة ارة المس تخدم إش فوفة قديمة نس ر مص فوفة جديدة بنفس عناص اء مص ةنريد انش كما في المثال االتي:

:)7( مثال>> k = b; k = 1 2 3 4 5

:(للوصول اىل أي عنصر أو مصفوفة) أو الفهرسة االعتيادية عنونة املصفوفة: رابعا

):1مثال (>> c = [1: 5; 2: 2: 10; 7: -1: 3]c = 1 2 3 4 5 2 4 6 8 10

7 6 5 4 3 ر داخل :الطريقة االولى ول الى أي عنص للوص

فوفة اعتيادية نفتح قوس دائري ونكتب رقم مصف ومن ثم فارزة وبعدها رقم العمود ونغلق الص

القوس الدائري كما في المثال االتي:

>> c (1, 2) ans =

2

طريقة أخرىالماتالب تقدم لغة الطريقة الثانية:تخدام فوفة باس ر المص ارة إلى عناص رقملإلش

بأن جب التخيل قة ي هذه الطري حد فقط، ولفهم واجميع عناصر المصفوفة مرتبة بشكل عمود واحد مكون من أعمدة المصفوفة من األعلى إلى األسفل لث ثا ثاني ثم ال ر العمود األول ثم ال (أي عناص

وهكذا).

>> c (12) ans = 4

فوفة تبدأ من الطريقة الثالثة: ول الى مص للوصلصف األول الى الصف الثاني ومن العمود األول ا

.cالى العمود الثالث من المصفوفة

>> c(1:2,1:3) ans = 1 2 3 2 4 6

فوفة تبدأ من :الرابعةالطريقة ول الى مص للوصالصف األول الى الصف الثاني ولكل االعمدة من

فوفة تخدمنا النقطتين المتعامدتين .cالمص إذ اس لإلشارة الى كل االعمدة.

>> c(1:2,:) ans = 1 2 3 4 5 2 4 6 8 10

Page 14: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

7

ةالطريقة م :الخامس فوفة تض ول الى مص للوصفوف ولكن لألعمدة من األول الى الرابع كل الص

ة فوف ا النقطتين .cمن المص دمن تخ إذ اس المتعامدتين لإلشارة الى كل الصفوف.

>> c(:,1:4) ans = 1 2 3 4 2 4 6 8 7 6 5 4

ة: ادس م الطريقة الس فوفة تض ول الى مص للوصكل الصفوف ولكن للعمودين األول والخامس فقط

.cمن المصفوفة

>> c(:,[1 5]) ans = 1 5 2 10 7 3

ابعة: مالطريقة الس فوفة تض ول الى مص للوصدة ل االعم ث فقط ولك ال فين األول والث من الص

.cالمصفوفة

>> c([1 3],:) ans = 1 2 3 4 5 7 6 5 4 3

فوفة تبدأ من الطريقة الثامنة: ول الى مص للوصالصف األول الى الثاني وللعمودين األول والثالث

.cفقط من المصفوفة

>> c(1:2,[1 3]) ans = 1 3 2 6

:املصفوفات القياسية: خامسا فوفات الماتالب يمكنك برنامج اء مص ية،من إنش فوفات بخواص قياس وذلك لتمتع تلك المص

وفات ومصف للواحد،وتتضمن أيضا المصفوفات التي جميع عناصرها صفرية أو مساوية خاصة،وميزات األعداد العشوائية والمصفوفات القطرية والمصفوفات التي عناصرها أعداد ثابتة.

:)onceنستخدم االمر ( (جميع عناصرها تساوي واحد) ): إلنشاء مصفوفة واحدية1مثال (>> x = ones (3) 3 = عدد الصفوف = عدد االعمدة x = 1 1 1 1 1 1 1 1 1 >> y = ones (3,2) y = 1 1 1 1 1 1

= الصفوف عدد األعمدة عدد

Page 15: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

8

:)zerosنستخدم االمر ( ): إلنشاء مصفوفة صفرية2مثال (>> s = zeros (2) 2 = عدد الصفوف = عدد االعمدة s = 0 0 0 0 >> s = zeros (2, 5) s = 0 0 0 0 0 0 0 0

):eyeإلنشاء مصفوفة الوحدة نستخدم االمر ( ):3مثال (>> eye (4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 >> eye (4,3) ans = 1 0 0 0 1 0 0 0 1 0 0 0

):sizeإلنشاء مصفوفة بحجم مصفوفة معلومة مسبقا نستخدم االمر ( ):4مثال (>> g=[3,5,7,8;1,3,4,5;7,8,4,1] g = 3 5 7 8 1 3 4 5 7 8 4 1 >> size (g) (تحديد أبعاد مصفوفة) ans =

3 4 >>w = ones (size (g)) w =

عدد الصفوفاألعمدة عدد

عدد الصفوفاألعمدة عدد

Page 16: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

9

1 1 1 1 1 1 1 1 1 1 1 1

ية برقم مفرد مثل مالحظة: فوفة القياس م المص فأن برنامج zeros (n)أو ones (n)عندما يتبع اس تحتوي على أصفارا أو واحديه على الترتيب. nnمصفوفات مربعة ينشئالماتالب

):randإلنشاء مصفوفة عشوائية القيم نستخدم االمر ( ):5مثال (>> rand (3) ans = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 >> rand (1, 5) ans = 0.4447 0.6154 0.7919 0.9218 0.7382

):Magicإلنشاء مصفوفة عشوائية القيم نستخدم االمر ( ):6مثال (>> magic(3) ans = 8 1 6 3 5 7 4 9 2

):repmatإلنشاء مصفوفة لتكرار قيمة معينة نستخدم االمر ( ):7مثال (>> repmat (3,2,3) (2 (تكرار القيمة 3 باألبعاد 3 ans = 3 3 3 3 3 3 >> d = pi; >> repmat (d, 3, 4) (3 (تكرار القيمة d باألبعاد 4ans = 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416

عدد الصفوفاألعمدة عدد

= عدد الصفوفاألعمدة عدد

Page 17: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

10

:)8(مصفوفة فتكون حينئذ تكرار مصفوفات وليس قيم كما في المثال dيمكن أن تكون مالحظة: ):8مثال (

>> d = [4,2,1;5,9,7] d = 4 2 1 5 9 7 >> repmat (d,2,3) (2 (تكرار المصفوفة d باألبعاد 3ans = 4 2 1 4 2 1 4 2 1 5 9 7 5 9 7 5 9 7 4 2 1 4 2 1 4 2 1 5 9 7 5 9 7 5 9 7

:القياسية بعض العمليات على المصفوفات :)9( مثال>> d = pi; >> d * ones (3, 4) ans = 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 >> d + zeros (3, 4) ans = 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416

سادسا : التعامل مع املصفوفات:

فوفات،العديد من الطرق للتعامل مع الماتالب لقد امتلك برنامج مالحظة مهمة: وكانت هذه المصية هي أهم مميزات بأقوى طرق البرنامج،الخاص فوفة حتى يزودك البرنامج فما إن تحدد المص

تعمال تعابير أو تعليمات محددة اإلدخال، فوفة عبر اس عة أو إعادة ترتيب بعض أجزاء المص التوستعمال الفعال لبرنامج وممتعة، رح التع الماتالبوتعتبر معرفة هذه التعليمات مفتاح االس امل معولش

المصفوفات نأخذ األمثلة التالية:

):1مثال (>> A = [1 2 3; 4 5 6; 7 8 9]A = 1 2 3

Page 18: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

11

4 5 67 8 9

>> A (3, 3) = 0 A = 1 2 3 4 5 6 7 8 0

ف مالحظة: ر الموجود في الص لجعل العنص الثالث وفي العمود الثالث يساوي صفر

>> A (2, 6) = 1 A = 1 2 3 0 0 0 4 5 6 0 0 1 7 8 0 0 0 0

1تكون (6 ,2)جعل العنصر في الموقع مالحظة:فوفة تة Aوبما ان المص لذلك أعمدة،ال تمتلك س

سيقوم البرنامج بتوسيعها حسب الضرورة ويضع صفرا وتكون مستطيلة.تساوي قي العناصر اب

>> A (:, 4) = 4 A = 1 2 3 4 0 0 4 5 6 4 0 1 7 8 0 4 0 0

ر في العمود الرابع مالحظة: لجعل جميع العناصتساوي اربعة نستخدم النقطتين المتعامدتين بالنسبة

للصفوف.

>> A (:, 4) = [4; 4; 4] A = 1 2 3 4 0 0 4 5 6 4 0 1 7 8 0 4 0 0

ر العمود الرابع تكون مالحظة: جعل جميع عناص4

>> A (:, 4) = [4 4 4] Error

بسبب عدم وجود فارزة منقوطةمالحظة:

):2مثال (>> A = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9

>> B = [7 8 9; 4 5 6; 1 2 3]B = 7 8 9 4 5 6

1 2 3

>> C = [A B(:, [1 3])] C = 1 2 3 7 9 4 5 6 4 6 7 8 9 1 3

عبر توسيع Cللحصول على المصفوفة مالحظة: فوفة افة Aالمص العمودين األول والثالث من بإض Bالمصفوفة

Page 19: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

12

>> B = A (1: 2, 2: 3) B = 2 3 5 6

ف مالحظة: فوفة تبدأ من الص ول على مص للحصثاني الى ثاني ومن العمود ال ف ال األول الى الص

Aالعمود الثالث للمصفوفة

>> D = A (:) D = 1 4 7 2 5 8 3 6 9

فوفة مالحظة: ول على المص بجعل Dللحصكمصفوفة عمود وأخذ أعمدتها عمود Aالمصفوفة بعد عمود

>> C=A' C = 1 4 7 2 5 8 3 6 9 >> L=C' L = 1 2 3 4 5 6 7 8 9

فوفة الى أعمدةمالحظة: فوف المص لتحويل ص .) وبالعكس'نستخدم إشارة المنقول المدور (

):3مثال (>> B = [1 2 3; 4 5 6; 7 8 9]B = 1 2 3 4 5 6

7 8 9 >> C = reshape (B, 1, 9) C = 1 4 7 2 5 8 3 6 9 >> C = reshape (B, [1 9]); C =

فوفة بأبعاد مالحظة مهمة: إلعادة ترتيب المصدم االمر تخ دة نس دي ل إذ reshapeج تم تحوي

الى عمود واحد وتسعة صفوف. Bالمصفوفة

Page 20: ﻢﻴـﺣﺭﺍ MATLAB - جامعة تكريتceng.tu.edu.iq/med/images/2.pdfﺖﻳﺮﻜﺗ ﺔﻌﻣﺎﺟ ﻚﻴﻧﺎﻜﻴﳌﺍ ﻢﺴﻗ / ﺔﺳﺪﻨﳍﺍ ﺔﻴﻠﻛ

جامعة تكريت كلية اهلندسة / قسم امليكانيك

MATLAB يمـباح ارحـف صــم.م. سي

املصفوفاتاحملاضرة الثالثة /

13

1 4 7 2 5 8 3 6 9 >> C = B' C = 1 4 7 2 5 8 3 6 9

فوفة وإعادة إليجاد مالحظة: منقول (مدور) المص .reshapeباألمر تشكيلها

>> B (:, 2) = [ ] B = 1 3 4 6 7 9 >> B (3,:) = [ ] B = 1 2 3 4 5 6

ة: ة مهم ارة مالحظ دم اإلش تخ لغرض []تسفوفة ، الحذف ياغة المص عبر Bتمت إعادة ص

فوفحذف كل فوفة ص العمود الثاني من المصB اويا ر مس ع أي عنص لية، وعندما تض األص

فوفة الفارغة تريد حذفها أنك، فهذا يعني []للمصر ها لتحافظ على العناص فوفة وتقليص من المص

ياغة ومن ثم المتبقية بعد الحذف. تمت إعادة صفوفة ف اعمدةعبر حذف كل Bالمص الثالث الص

.يةاألصل Bمن المصفوفة C=[2,9,10] C = 2 9 10 >> B(2,:)=C B = 1 2 3 2 9 10 7 8 9

اني ة:مالحظ ف الث ر الص اص دال عن تب الس Cبالمصفوفة Bللمصفوفة

>> diag(B) ans = 1 5 9

تخدم مالحظة مهمة جدا: إليجاد diagااليعاز يس عناصر القطر الرئيسي للمصفوفة.

>> flipud(B) ans = 7 8 9 4 5 6 1 2 3

تخدم االيعاز مالحظة مهمة جدا: لقلب flipudيس Down –Upالمصفوفة

>> fliplr(B) ans = 3 2 1

تخدم االيعاز مهمة جدا: مالحظة لقلب fliplrيس right – leftالمصفوفة