Mathworks Matlab Student course
PART 1
ما هو Matlab؟ الاسم مشتق من Matrix Laboratory برنامج ولغة لتطبيق العمليات الرياضية للحسابات العلمية والهندسية مصمم لعمليات المصفوفات صمم في بداية السبيعنات مبني على مكتباتLINPACK و EISPACK FORTRAN أيضاً مشهور بقدراته الخاصة بالرسومات والأدوات المختلفة التطبيقات
استخدام Matlab بكتابة الأوامر عن طريق نافذة الأوامر (>>) بكتابة الأوامر عن طريق نافذة الأوامر (>>) بتنفيذ M-files باستخدام Simulink
نافذة الأوامر Command Window نافذةMatlab ذاكرة Matlab Workspace Variables/Current Directory (الجديدة Matlab اصدارات) نافذة الأوامر Command Window (all Matlab versions) اكتب الأوامر هنا الأوامر المدخلة سابقاً Command History (الجديدة Matlab اصدارات)
أجزاء Matlab Operators العمليات Matrices المصفوفات Plotting الرسومات M-files Flow control Simulink Misc commands العمليات المصفوفات الرسومات الملفات التحكم بالتنفيذ Simulink أوامر أخرى
العمليات الحسابية البسيطة الجمع + a+b الطرح - a-b الضرب * a*b القسمة (من اليسار) / a/b القسمة (من اليمين) \ a\b (ba) الأس ^ a^b العمليات Operators
أولوية العمليات الأقواس ( ) الأس ^ LR الضرب/القسمة * / LR الأقواس ( ) الأس ^ LR الضرب/القسمة * / LR الجمع/الطرح + - LR مثال >> 5/2*3+4 ans= 11.5 العمليات Operators
نتائج العمليات >> 6*5 ans = 30 >> 17/5 3.4000 >> ans إذا لم يسند ناتج العملية الحسابية إلى متغير، يقومMatlab باسنادها الى المتغير ans لمعرفة ناتج ans، اكتب >>ans العمليات Operators
أسماء المتغيرات يمكن استخدام الحروف، والأرقام، و _ لتسمية المتغيرات: >>case_34=6.45; >>case34=6.45; لا بد من بدء اسم المتغير بحرف، ولا يمكن وضع مسافات أو علامات أخرى ضمن اسم المتغير : 34case, ge204!, Name Here case34, ge204, Name_Here العمليات Operators
متغيرات Matlab تخزن جميع متغيرات كأرقام حقيقية وبحجم 8 بايت لكل قيمة لا فرق بين الأرقام الصحيحة والحقيقية: >> p = 3; >> p = 3.0; يمكن تخزين أرقام أو حروف كقيم: >>number_123=7; >>text04='This is GE204'; يوجد فرق بين الحروف الكبيرة والصغيرة: >> a = 4; >> A = 10; يمكن مسح المتغير من الذاكرة: >> clear a نفس الأمر! العمليات Operators Aa
بعض دوال Matlab exp(x) ex pi p sin(x) sin x i,j imaginary unit asin(x) sin-1x log(x) ln x log10(x) log x sqrt(x) abs(x) |x| sum(x) pi p i,j imaginary unit NaN Not-a-Number Inf العمليات Operators
عمليات Matlab مثال: يمكن حساب الجذر التربيعي لرقم بعدة طرق: >>y=x^0.5; >>y=x^(1/2); >>y=sqrt(x); العمليات Operators
اكتب >>help لمعرفة المزيد عن أوامر ودوال Matlab Matlab Help اكتب >>help لمعرفة المزيد عن أوامر ودوال Matlab العمليات Operators
Matlab Help >> help sqrt square root function help العمليات Operators square root function help
يمكن أيضا استخدام أيقونة help لمعرفة المزيد عن أوامر Matlab Matlab Help يمكن أيضا استخدام أيقونة help لمعرفة المزيد عن أوامر Matlab العمليات Operators نافذة مستقلة
PART 2
عمليات المصفوفات الضرب * ضرب العناصر .* القسمة / قسمة العناصر ./ الضرب * ضرب العناصر .* القسمة / قسمة العناصر ./ الأس ^ الأس للعناصر .^ التبديل '(or transpose()) المعكوس ^-1 (or inv()) طول المصفوفة length() أبعاد المصفوفة size() المصفوفات Arrays
أمثلة لعمليات المصفوفات لجمع وطرح المصفوفات ، يجب أن تكون المصفوفات من نفس الحجم لضرب المصفوفات لا بد من تساوي الأبعاد الداخلية صحيحة >>D=A+B; >>D=A-B; >>D=A*C; >>D=C*A; >>D=A.*B; ضرب المصفوفات غير ابدالي المصفوفات Arrays خطأ >>D=A+C; >>D=A*B; >>D=B*A; >>D=A.*C;
عمليات المصفوفات (تابع) أمر Matlab >> C=A\B; >> C=B/A; العملية الرياضية المصفوفات Arrays
تبديل المصفوفة أمر Matlab >>C=A’; العملية الرياضية C=AT المصفوفات Arrays >>B=A’;
تضمين المصفوفات >> D=[A B]; المصفوفات Arrays A B
أمر plot >> n=0:11; >> y=sin((pi/6)*n); plot(x1,y1[,x2,y2,x3,y3.....]) لا بد من تساوي أبعاد !… , y1, x1 >> plot(n,y,'--') رسم باستخدام خط متقطع >> plot(n,y) رسم بدون أية خيارات الرسومات Plotting
أمرsubplot subplot(m,n,p) عدد الأعمدة عدد الصفوف رقم الرسمة الرسومات Plotting
دوال الرسومات title xlabel ylabel grid axis legend figure plot3 لكتابة اسم الرسمة لكتابة اسم محور س لكتابة اسم محور ص لعرض شبكة بالرسم لتحديد القيم الصغرى والكبرى للمحاور لتوضيح أسماء الخطوط المرسومة للانتقال الى رسمة أخرى رسمة ثلاثية الأبعاد الرسومات Plotting
PART 3
ملفات Matlab كتابة أوامر Matlab كثيرة عدة مرات غير عملية يكفي كتابة إسم الملف لتنفيذ جميع الأوامر المضمنة يوجد نوعان من الملفات: Script files (ملفات تحتوي على مجموعة أوامر) Function files (ملفات بشكل دوال) جميع الملفات تحتوي على الامتداد .m الملفات M-Files
انشاء الملفات M (M-files) بكتابة >>edit filename في نافذة الأوامر باختيار New > M-file بالنقر على لتنفيذ الملفات، فقط اكتب اسم الملف، وستنفذ جميع الأوامر المتضمنة بالملف الملفات M-Files
الكتابة بنافذة الأوامر يمكنها التعامل مع المتغيرات بذاكرة Matlab! Script Files ملف script: تخزين الأوامر بملف (على سبيل المثال باسم test) ثم كتابة الاسم بنافذة الأوامر: >> test y = 9.0 الكتابة بنافذة الأوامر >> x=3.0; >> y=x^2; >> y y = 9.0 >> الملفات M-Files يمكنها التعامل مع المتغيرات بذاكرة Matlab!
لا تتعامل مع المتغيرات بذاكرة Matlab (متغيرات مستقلة)! ملفات الدوال تعريف الدالة شبيهة بملفات script، مع الفروقات التالية: function [list of outputs] = ge204(list of inputs) % function help . program return قائمة المخرجات اسم الدالة قائمة المدخلات توضيح الدالة للمستخدم الملفات M-Files للرجوع لا تتعامل مع المتغيرات بذاكرة Matlab (متغيرات مستقلة)!
التحكم بالتنفيذ Flow control أوامر شرطية (تنفذ مرة واحدة) عادة، يكون تنفيذ الأوامر بالتسلسل باستخدام أوامر التحكم بالتنفيذ، يمكن تغيير هذا التسلسل الأوامر المهمة: إذا if إذا-غير ذلك if-else طالما while لــ... for a=2; b=3; c=a+b; d=sqrt(b); التحكم بالتنفيذ Flow control أوامر شرطية (تنفذ مرة واحدة) أوامر تكرار
التحكم بالتنفيذ Flow control أوامر if و while while expression statements end if expression statements end if expression statements1 else statements2 end التحكم بالتنفيذ Flow control يقوم Matlab بتنفيذ الأوامر (statements) فقط إذا تحقق الشرط (expression) عند التحقق من الشرط (expression)، يخرج Matlab إما بنتيجة صحيح (true) أو غير صحيح (false) الأوامر (statements) هي أي أوامر بالـ Matlab
التحكم بالتنفيذ Flow control حساب الشرط أية معادلة حسابية المعاملات الشرطية == يساوي < أقل من > أكبر من <= أقل من أو يساوي >= أكبر من أو يساوي ~= لا يساوي a=4; b=5; c=5; if a+b if b-c “true” 0 لأن الناتج ≠ “false” 0 لأن الناتج = التحكم بالتنفيذ Flow control انتبه من أخطاء التقريب! المعاملات المنطقية & and و | or أو if sin(0) if sin(pi) sin(pi) = 1.22e-16 “false” “true” while(3<=a)&(a<=5)
التحكم بالتنفيذ Flow control أمثلة (if/if-else) >> a=6; >> if a<10 b=a/2; end >> b b = 3 >> a=50; >> if a<10 b=a/2; end >> b ??? Undefined function or variable 'b'. التحكم بالتنفيذ Flow control >> a=6; >> if a<10 b=a/2; else b=a/5; end >> b b = 3 >> a=50; >> if a<10 b=a/2; else b=a/5; end >> b b = 10
التحكم بالتنفيذ Flow control أمثلة (while) >> a=1; >> while a<5 a=a+1 end a = 2 a = 3 a = 4 a = 5 >> a=1; >> while a<5 b=a+1 end b = 2 b = 3 b = 4 b = 5 b = 6 b = 7 . أمر تكرار! التحكم بالتنفيذ Flow control >> a=10; >> while a<5 a=a+1 end >> a a = 10 loop!
التحكم بالتنفيذ Flow control أمر for for index = start : [increment :] end statements end أمر تكرار! قيمة الزيادة (increment) اختيارية، وستفرض قيمتها 1 إذا لم توضع يمكن لقيم البداية والزيادة والنهاية أن تكون كسور يمكن للزيادة أن تكون موجبة أو سالبة ينتهي التكرار إذا كان المتغير > النهاية (أو المتغير < النهاية ) التحكم بالتنفيذ Flow control
التحكم بالتنفيذ Flow control أمثلة >> for a=1:5 a end a = 1 a = 2 a = 3 a = 4 a = 5 >> for a=10:5 a end >> a [] >> size(a) ans= 0 0 ? التحكم بالتنفيذ Flow control >> for a=1:5 f(a)=a; end >> f 1 2 3 4 5 >>size(f) ans = 1 5
Simulink برنامج تابع لـ لتمثيل النظم بشكل رسومات Simulink
Simulink (تابع) تحتوي على العديد من الدوال والمكتبات Simulink
Simulink (تابع) Simulinkزر
Simulink (تابع) ...ثم اختيار انشاء ملف جديد Simulink
Simulink (تابع) فتظهر شاشة Simulink
أوامر أخرى Misc. commands المعادلات الرمزية sym/syms diff int solve expand poly2sym pretty لتعريف متغيرات رمزية (sym يحتوي على خيارات اكثر) تفاضل تكامل حل معادلة لكتابة المعادلة بشكل كامل تحويل المعاملات الى معادلة لطباعة المعادلة بشكل رياضي أوامر أخرى Misc. commands
أوامر أخرى Misc. commands أوامر إضافية clc clf format save/load pwd cd <drive:\folder> fprintf diary مسح الشاشة مسح الرسومات التحكم بعرض الأرقام تخزين/تحميل للـWorkspace المجلد الحالي لتغيير المجلد الحالي للطباعة على الشاشة لتخزين النواتج أوامر أخرى Misc. commands
END