محاسبات نمادین
آموزش متلب

آموزش نرم افزار متلب برای رشته برق – محاسبات نمادین (بخش اول)

آموزش نرم افزار متلب برای رشته برق – محاسبات نمادین (بخش اول)

در این بخش در مورد محاسبات نمادین، ایجاد فرامین نمادین و توابع تعریف شده به صورت نمادین صحبت می شود.

محاسبات نمادین

در اینجا از متلب سایت سیم پاور  به عنوان یک محاسبه کننده پیشرفته استفاده شده است.  برای مثال اگر ماتریس 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 در خط فرمان اطلاعات بیشتری در این زمینه کسب کرد.

ادامه این بحث را در محاسبات نمادین (بخش دوم) مطالعه نمایید.

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

محاسبات نمادین (بخش اول)

 

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *