Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬

‫التربيع األصغري في تخمين البارامترات‬


‫مقدمة‪:‬‬
‫نتعرف في هذه الجلسة على كيفية استخدام مفهوم تخمين بارامترات النظام من خالل تطبيق طريقة‬
‫التربيع األصغري‪ ،‬سنبدأ بمراجعة نظرية لمفهوم تعريف األنظمة وعالقته بتخمين البارامترات باإلضافة لشرح‬
‫مبسط لطريقة التربيع األصغري وخطوات استخدامها في الحل ثم تطبيقات عليها باستخدام برنامج الماتالب‪.‬‬
‫تعريف األنظمة ‪:System Identification‬‬
‫نقصد بتعريف األنظمة طريقة لقياس تابع تحويل النظام أو الوصف الرياضي المكافئ للنظام من خالل قياسات‬
‫دخل وخرج النظام‪ ،‬أي أنها كيف نوجد تابع تحويل النظام أو نموذجه الرياضي انطالقاً من مجموعة أزواج‬
‫لقياسات دخل وخرج النظام‪ ،‬مما يعني أن تعريف األنظمة هو نمذجة رياضية للنظام لنتمكن من تحليل ومحاكاة‬
‫سلوك النظام ثم التحكم به‪.‬‬
‫يلجأ الباحثون إلى تقنيات تعريف األنظمة عندما ال يكون تابع تحويل النظام أو نموذجه الرياضي معروفاً‪،‬‬
‫لذلك البد لنا من معرفة كيفية الحصول على هذه النماذج الرياضية‬
‫أساليب تعريف األنظمة‪:‬‬
‫يتبع الباحثون أحد أسلوبين إليجاد النموذج الرياضي للنظام المراد التحكم به وهما‪:‬‬
‫• األسلوب األول‪ :‬تجزئة النظام إلى أنظمة جزئية معروفة الخصائص وتخضع لقوانين فيزيائية معروفة‪،‬‬
‫حيث تبنى النماذج الجزئية وتجمع معاً لتشكل النظام الكلي‪ ،‬مشكلة هذا األسلوب أنه معقد ويستهلك‬
‫الكثير من الوقت والجهد إلى جانب حاجته للخبرة الكبيرة ويكون النموذج الناتج معقد جداً‪ ،‬هذا األسلوب‬
‫على سبيل المثال متبع في نماذج تحليل حركة مفاصل جسم اإلنسان بهدف التحكم بها‪ ،‬حيث بعد‬
‫تحديد الدخل والخرج (الزاوية والعزم) للنظام نرسم مخطط الجسم الحر ثم نكتب المعادالت الرياضية‬
‫لقوانين الحركة وبعدها نستنتج العالقة بين الزاوية المطلوبة والعزم المطبق على المفصل‪.‬‬
‫األسلوب الثاني‪ :‬تعريف األنظمة ‪ System Identification‬باستخدام طريقة الصندوق األسود ‪Black‬‬ ‫•‬
‫‪ box Identification‬وفيها نحصل على النموذج الرياضي للنظام من خالل تخمين عالقة دخل النظام‬
‫بخرجه‪ ،‬وهذا األسلوب هو الذي سنعتمده في هذه الجلسة‪.‬‬
‫مراحل تعيين النظام بطريقة التخمين‬
‫تنقسم هذه إلى مرحلتين تتألف كل واحدة من مجموعة من الخطوات‪:‬‬

‫‪1‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬
‫‪ .1‬مرحلة تحديد البنية أو التركيب ‪ :Structure Identification‬تعتمد هذه المرحلة على خبرة المصمم‬
‫وحدسه ومعرفته بقوانين الفيزياء التي تحكم النظام‪ ،‬وهنا عليه تحديد نوع النموذج األقرب للنظام هل هو‬
‫خطي أم ال خطي ومن أي درجة وهل البيانات المقاسة من النظام مستمرة أم متقطعة أي يحدد المصمم‬
‫الشكل العام لمعادلة النظام دون تحديد قيم الثوابت العددية فيها‪ ،‬وفي حال لم يكن لدى المصمم أي‬
‫معرفة مسبقة عن النظام يكون تحديد البنية باستخدام مبدأ التجربة والخطأ‬
‫‪ .2‬تخمين البارامترات ‪ :Parameter Identification‬يختار في هذه المرحلة المصمم الطريقة المناسبة‬
‫إليجاد قيم الثوابت (بارامترات النظام) من خالل طرائق التربيع األصغري سواء أكانت العامة أو العودية‬
‫ثم تطبيقها وبعدها التحقق من صحة النموذج الناتج ‪.Validation‬‬
‫يجب اإلشارة إلى أن مرحلتي تحديد البنية وتخمين البارامترات ال تجرى لمرة واحدة وإنما تكرر حتى نصل إلى‬
‫نموذج مقبول للنظام‪.‬‬
‫تخمين البارامترات ‪:Parameter Identification‬‬
‫بفرض لدينا نظام ما نريد إيجاد نموذجه الرياضي وليكن النموذج المقترح )‪ f(u,θ‬تابع للدخل ‪ u‬ولمجموعة‬
‫بارامترات ‪ ،θ‬أوال نسجل الخرج الناتج عن النظام ‪ yi‬من أجل مجموعة معروفة من الدخل ‪ u i‬حيث ‪i=1,2,…,m‬‬
‫ثم نطبق نفس قيم الدخل على النموذج ليعطينا الخرج المتوقع 𝑖̂𝑦 ‪ ،‬بعدها نحسب الفرق بين خرج النظام وخرج‬
‫النموذج الذي يستخدم كدخل لطريقة تحديد البارامترات التي تعمل على تغيير قيمة البارامترات ليصغر الفرق‬
‫بين خرج النظام وخرج النموذج وتستمر هذه العملية حتى يصبح هذا الفرق أصغر ما يمكن‪.‬‬

‫مخمن التربيع األصغري ‪:Least Squares Estimator‬‬


‫يعرف بأنه طريقة رياضية تساعد على الوصول ألفضل نموذج رياضي يالئم البيانات التجريبية من خالل‬
‫الوصول ألقل مجموع مربعات الفرق بين القيمة الفعلية والمخمنة للخرج‪.‬‬

‫‪2‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬
‫من أجل تطبيق الطريقة على نظام خطي يتلقى شعاع دخل ‪ u‬ويعطي خرج ‪ y‬حيث تكون المعادلة الرياضية‬
‫المناسبة للتعبير عن النظام عبارة عن تابع رياضي للدخل ولبارامترات النظام وفق المعادلة‪:‬‬

‫من أجل مجموعة قدرها ‪ m‬زوج من قياسات الدخل والخرج فإن النظام يمكن تمثيله باستخدام المصفوفات‬
‫𝜃𝐴 = 𝑌‬
‫حيث‪:‬‬

‫نظرياً يحسب أفضل حل لقيم بارامترات النظام من خالل حساب المعادلة 𝑌 ‪ ، 𝜃 = 𝐴−1‬لكن عملياً خرج‬
‫النظام الفعلي يتأثر بالضجيج وعوامل أخرى تضاف على شكل خطأ لمعادلة خرج النظام الفعلي أي‬
‫𝑒 ‪𝑌 = 𝐴𝜃 +‬‬
‫وعليه فإن أفضل حل لقيم البارامترات هو الذي يجعل مجموع مربعات الخطأ أصغر ما يمكن‪:‬‬
‫) 𝟐) ̂‬
‫𝜽𝑨 ‪min(∑(𝒀 −‬‬
‫فيكون قانون تخمين البارامترات باستخدام التربيع األصغري‪:‬‬

‫حيث يدرس الطالب كيفية استنتاج القانون في القسم النظري‪ ،‬عملياً سنركز على معرفة كيفية كتابة‬
‫المصفوفات الداخلة في القانون وفي معادالت النظام ثم كيفية حلها باستخدام الماتالب‪.‬‬

‫‪3‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬
‫األمثلة‪:‬‬
‫مثال ‪:1‬‬
‫بفرض لدينا نظام خطي بارامتراته ‪ a,b‬ودخله ‪ u‬وخرجه ‪y‬وموصوف بالمعادلة ‪ ،y=a+bu‬وبفرض حصلنا‬
‫على ‪ R‬قياس لكل من الدخل والخرج والمطلوب برهن أنه يمكن تخمين البارامترات بالعالقة‪:‬‬

‫الحل‪:‬‬
‫‪ -1‬نكتب معادلة خرج النظام على شكل 𝜃𝐴 = 𝑌‬

‫نكتب معادلة النظام باستخدام قياسات الدخل والخرج التي عددها ‪R‬‬ ‫‪-2‬‬

‫‪ -3‬نطبق قانون التربيعي األصغري ثم نقوم بتطبيق قانون جداء المصفوفات لتبسيط المعادلة‬

‫‪4‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬

‫مثال ‪:2‬‬
‫بفرض أن العالقة التي تربط بين دخل النظام بخرجه هي‪:‬‬
‫))‪y(t)=sin(u(t))+a((u(t))^2+bcos(u(t))-c(u(t‬‬
‫ولدينا القياسات اآلتية للدخل والخرج المبينة في الجدول‬
‫‪U‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬
‫‪Y‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪9‬‬ ‫‪22‬‬ ‫‪39‬‬ ‫‪54‬‬ ‫‪65‬‬ ‫‪77‬‬
‫والمطلوب‪:‬‬
‫‪ .1‬كتابة العالقات الالزمة لتخمين ‪ a,b,c‬باستخدام ‪LSE‬‬
‫‪ .2‬اكتب برنامج لتخمين قيم ‪ a,b,c‬باستخدام ماتالب وماهي القيم الناتجة‬
‫الحل‪:‬‬
‫‪ -1‬نكتب معادلة خرج النظام على شكل 𝜃𝐴 = 𝑌 بحيث نعزل الحدود التي ال ترتبط بالبارامترات‬
‫ونضعها مع الخرج‬
‫))‪y(t)- sin(u(t)) = a((u(t))^2+bcos(u(t))- c(u(t‬‬
‫𝑎‬
‫‪2‬‬
‫𝑢[ = ])𝑢 (‪[𝑦 − sin‬‬ ‫] 𝑏[ ‪cos(𝑢) − 𝑢].‬‬
‫𝑐‬
‫‪ -2‬نكتب معادلة النظام باستخدام قياسات الدخل والخرج التي عددها ‪:m=10‬‬
‫) ‪𝑦1 − sin ( 𝑢1‬‬ ‫‪𝑢1 2 cos(𝑢1 ) − 𝑢1‬‬
‫‪2‬‬
‫𝑎‬
‫) ‪𝑦2 − sin ( 𝑢2‬‬ ‫𝑢‬‫‪2‬‬ ‫𝑢(‪cos‬‬ ‫‪2‬‬ ‫‪) − 𝑢2‬‬
‫[‬ ‫=]‬ ‫] 𝑏[ ‪.‬‬
‫⋮‬ ‫⋮‬ ‫𝑐‬
‫) ‪𝑦10 − sin ( 𝑢10‬‬ ‫] ‪[𝑢10 2 cos(𝑢10 ) − 𝑢10‬‬

‫‪5‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬

‫‪ -3‬نكتب قانون التربيع األصغري‪𝜃̂ = 𝜃̂𝐿𝑆𝐸 = (𝐴𝑇 𝐴)−1 𝐴𝑇 𝑌 :‬‬


‫‪ -4‬نكتب برنامج الماتالب بحيث يتضمن أوالً إدخال قيم الخرج الحقيقي للنظام ثم حساب قيم مصفوفتي‬
‫الخرج وتوابع الدخل وفقاً لقيم الدخل في الجدول المعطى بعدها نطبق قانون التربيع األصغري‬
‫لنحصل على قيم البارامترات‬
‫نص برنامج الماتالب وخرجه‬
‫;]‪y=[ 4 5 4 3 9 22 39 54 65 77‬‬
‫‪for i=1:10‬‬
‫;)‪yi(i)=y(i)-sin(i‬‬
‫;]‪Ai(i,:)=[ i^2 cos(i) -i‬‬
‫‪end‬‬
‫;'‪o=inv(Ai'*Ai)*Ai'*yi‬‬
‫=‪o‬‬
‫‪1.0185‬‬
‫‪0.5639‬‬
‫‪2.0885‬‬
‫مثال ‪:3‬‬
‫بفرض أن العالقة التي تربط بين دخل النظام ‪ u‬بخرجه ‪ y‬هي‪:‬‬
‫‪y(t)=aexp(-u)-b.cos(-u)+cu -7‬‬
‫ولدينا القياسات اآلتية للدخل والخرج المبين في الجدول‬
‫‪U‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬
‫‪Y‬‬ ‫‪3‬‬ ‫‪12‬‬ ‫‪21‬‬ ‫‪30‬‬ ‫‪38‬‬ ‫‪46‬‬ ‫‪55‬‬ ‫‪65‬‬ ‫‪75‬‬ ‫‪84‬‬
‫والمطلوب‪:‬‬
‫‪ .1‬كتابة العالقات الالزمة لتخمين ‪ a,b,c‬باستخدام ‪LSE‬‬
‫‪ .2‬اكتب برنامج لتخمين قيم ‪a,b,c‬باستخدام ماتالب وماهي القيم الناتجة‬
‫الحل‪:‬‬
‫‪ -1‬نكتب معادلة خرج النظام على شكل 𝜃𝐴 = 𝑌 بحيث نعزل الحدود التي ال ترتبط بالبارامترات‬
‫ونضعها مع الخرج‬
‫‪y(t)+7 =a.exp(-u)-b.cos(-u)+cu‬‬
‫𝑎‬
‫)𝑢‪[𝑦 + 7] = [exp (−𝑢) −cos(−‬‬ ‫] 𝑏[ ‪𝑢].‬‬
‫𝑐‬
‫‪ -2‬نكتب معادلة النظام باستخدام قياسات الدخل والخرج التي عددها ‪:m=10‬‬

‫‪6‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬
‫‪𝑦1 + 7‬‬ ‫) ‪exp (−𝑢1 ) − cos(−𝑢1‬‬ ‫‪𝑢1‬‬
‫𝑎‬
‫‪𝑦 +7‬‬ ‫) ‪exp (−𝑢2 ) − cos(−𝑢2‬‬ ‫‪𝑢2‬‬
‫‪[ 2‬‬ ‫[=]‬ ‫] 𝑏[ ‪] .‬‬
‫⋮‬ ‫⋮‬ ‫𝑐‬
‫‪𝑦10 + 7‬‬ ‫) ‪exp (−𝑢10 ) − cos(−𝑢1‬‬ ‫‪𝑢10‬‬
‫𝑌 𝑇𝐴 ‪𝜃̂ = 𝜃̂𝐿𝑆𝐸 = (𝐴𝑇 𝐴)−1‬‬ ‫‪ -3‬نكتب قانون التربيع األصغري‪:‬‬
‫‪ -4‬نكتب برنامج الماتالب بحيث يتضمن أوالً إدخال قيم الخرج الحقيقي للنظام ثم حساب قيم مصفوفتي‬
‫الخرج وتوابع الدخل وفقاً لقيم الدخل في الجدول المعطى بعدها نطبق قانون التربيع األصغري‬
‫لنحصل على قيم البارامترات‬
‫نص برنامج الماتالب وخرجه‪:‬‬
‫‪clear all‬‬
‫;‪u=1:10‬‬
‫;]‪y=[3 12 21 30 38 46 55 65 75 84‬‬
‫;‪Y=y'+7‬‬
‫;]'‪A=[exp(-u') -cos(-u') u‬‬
‫;‪o=inv)A'*A(*A'*Y‬‬
‫والخرج‪ :‬قيم الثوابت‬
‫‪4.2136‬‬
‫‪1.0684‬‬
‫‪9.0005‬‬
‫يظھر الجدول ‪ 10‬قياسات لمتغيرين حيويين مرتبطين ‪ C1,C2‬تم قياسھم من شخص مريض والمطلوب‪:‬اكتب‬
‫برنامج ماتالب لتخمين بارامترات أفضل خط مستقيم بمفھوم التربيع األصغري بما يتناسب مع القيم المعطاة‬
‫في الجدول‬

‫بفرض ‪ C1‬المتغير المستقل ثم إعادة الحل من أجل ‪ C2‬هو المتغير المستقل سجل قيم ‪ C1,C2‬المتوقعة ثم من‬
‫أجل ‪ C1=75‬أحسب قيمة ‪.C2‬‬

‫;]‪x=[75 80 93 65 87 71 98 68 84 77‬‬
‫;]‪y=[82 78 86 72 91 80 95 72 89 74‬‬
‫;])‪aa1=[x' ones(10,1‬‬
‫;'‪o1=inv(aa1'*aa1)*aa1'*y‬‬

‫‪7‬‬ ‫د‪ .‬رفيدة حسين‬ ‫د‪ .‬سحر العلي‬


‫الجلسة األولى‬ ‫عملي تحكم طبي حيوي‬
aa2=[y' ones(10,1)];
o2=inv(aa2'*aa2)*aa2'*x';
o1
o2
ye=aa1*o1;
xe=aa2*o2;
[y' ye]
[x' xe]
yex=[75 1]*o1
subplot(211)
plot(x',y','k+');hold on
plot(x',ye,'r*')
subplot(212)
plot(y',x','k+');hold on
plot(y',xe,'r*')

8 ‫ رفيدة حسين‬.‫د‬ ‫ سحر العلي‬.‫د‬

You might also like