آموزش نرم افزار متلب برای رشته برق – محاسبات نمادین (بخش اول)
در این بخش در مورد محاسبات نمادین، ایجاد فرامین نمادین و توابع تعریف شده به صورت نمادین صحبت می شود.
محاسبات نمادین
در اینجا از متلب سایت سیم پاور به عنوان یک محاسبه کننده پیشرفته استفاده شده است. برای مثال اگر ماتریس A به صورت عددی وارد شود، دترمینان Aرا نیز به صورت یک عدد می توان به دست آورد. همچنین همانگونه که در سایت سیم پاور توضیح دادم می توان توابع عددی را ساخت.
نرم افزار متلب سایت سیم پاور همچنین همانگونه که در سایت سیم پاور توضیح دادم قابلیت به کار بردن فرامین نمادین را دارا می باشد. علاوه بر این دارای …. هایی برای انجام عملیات جبری، دیفرانسیل گیری، انتگرال گیری توابع، حل سیستم معادلات و حل معادلات دیفرانسیل معمولی است. این ابزارها از نرم افزار Mapleکه در دانشگاه Waterlooکانادا تهیه شده است، گرفته شده است.
ایجاد فرامین نمادین
متغیرهای x، y، z، a، b، c و … می توانند توسط فرمان زیر به متغیرهای نمادین تبدیل شوند:
syms x y z a b c <<
این فرمان میان بری از فرمان syms( ́x ́, ́y ́, ́z ́, ́a ́, ́b ́, ́c ́) یا فرامین x=sym( ́x ́)، y=sym( ́y ́) و … است .
بدین ترتیب می توان با استفاده از این متغیرها، عبارت هایی را به صورت نمادین تعریف کرد. برای مثال ماتریس A را می-توان به صورت زیر تعریف کرد:
A= [a b 1; 0 1 c; x 0 0] <<
=A
[a, b, 1]
[0, 1, c]
[x, 0, 0]
چون Aیک ماتریس نمادین است، می توان دترمینان آن را بر حسب متغیرهای a، b، c و x بصورت زیر محاسبه کرد:
d=det(A)<<
d = b*c*x-x
توابع تعریف شده به صورت نمادین
در صورتی که متغیرهای a ، b، c و x به صورت نمادین تعریف شده باشند، از طریق فرمان زیر می توان یک تابع مانند f(x)را برحسب متغیرهای نمادین تعریف کرد:
;f=a*x^2+b*x+c+2*cos(x)<<
باید توجه داشت که در عبارت های نمادین از عملگرهای آرایه ای مانند *. ، ^. و /. استفاده نمیشود. به این دلیل که عبارتهای نمادین مستقیماً به ماتریس ها و بردارها اعمال نمی-شوند.
میتوان از عبارت نمادین فوق به صورت زیر دیفرانسیل گرفت:
diff(f) <<
ans = b-2*sin(x) + 2*a*x
نرم افزار متلب سایت سیم پاور در یک عبارت نمادین ، به صورت پیش فرﺽ نسبت به نزدیک ترین حرف الفبای انگلیسی به xدیفرانسل می گیرد. اگر بخواهید که دیفرانسل گیری fنسبت به aباشد، باید در خط فرمان آن را به صورت diff(f, a)مشخص کنید که حاصل آن به صورت زیر است:
diff(f,a) <<
ans = x^2
در صورتی که نیاز به انجام عملیات دیگری بر روی عبارت مشتق گرفته شده باشد، می توان به آن اسمی داد که این اسم برای عبارت نمادین جدید خواهد بود :
fprime=diff(f) <<
fprime = b-2*sin(x) + 2*a*x
مشتق دوم می تواند با دیفرانسیل گیری از عبارت fprimeیا با استفاده از تغییری در عملگر diffمحاسبه شود:
diff(f,2) <<
ans = 2*a-2*cos(x)
مشتق های بالاتر نیز با استفاده از diff(f, 3) ، diff(f, 4) وغیره محاسبه می شوند.
همچنین همانگونه که در سایت سیم پاور توضیح دادم می توان تابع اولیه توابع تعریف شده به صورت نمادین را نیز با استفاده از فرمان intپیدا کرد. برای مثال:
int(f) <<
ans= 2*sin(x)+c*x+(a*x^3)/3+(b*x^2)/2
محاسبه انتگرال
همانطور که مشاهده می شود، عملگر intانتگرال نامعین می گیرد. برای محاسبه انتگرال معین در بازه [0,3] می توان از فرمان زیر استفاده کرد:
int(f,0,3) <<
ans= 9*a + (9*b)/2 +3*c +2*sin(3)
در اینجا فرﺽ شده است انتگرال گیری نسبت به متغیر xصورت می گیرد. می توان aرا به عنوان متغیر انتگرال گیری با فرمان زیر مشخص کرد:
int(f,a) <<
ans=a*(c + 2*cos(x) + b*x) + (a^2*x^2)/2
صورت های مختلف دیگری نیز وجود دارد که می توان با وارد کردن help sym/int.m در خط فرمان اطلاعات بیشتری در این زمینه کسب کرد.
ادامه این بحث را در محاسبات نمادین (بخش دوم) مطالعه نمایید.
برای دانلود این آموزش به صورت پی دی اف بر روی لینک زیر کلیک کنید.