menusearch
javapro.ir

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

جستجو
شنبه ۴ تیر ۱۴۰۱ | ۳:۴۴:۵۷
۱۴۰۰/۹/۹ سه شنبه
(2)
(0)
جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب
جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

فهرست جلسات مینی دوره متلب

جلسه اول | آموزش تصویری نصب برنامه متلب در کامپیوتر

جلسه دوم | آموزش کار با برنامه متلب

جلسه سوم | آموزش کار با توابع ریاضی ساده در متلب

جلسه چهارم | آموزش متغیرها در برنامه نویسی متلب

جلسه پنجم | معرفی انواع داده ها در متلب

جلسه ششم | آرایه ها در برنامه نویسی متلب

جلسه هفتم | ماتریس ها در برنامه نویسی متلب

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جلسه نهم | رشته ها در برنامه نویسی متلب

جلسه دهم | آرایه سلول ها در برنامه نویسی متلب

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جلسه دوازدهم | آرایه‌‌‌‌‌های چندبعدی در متلب

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

جلسه چهاردهم | ساختارها(structures) در متلب

جلسه پانزدهم | توابع در متلب

جلسه شانزدهم | رسم نمودار دوبعدی در متلب

جلسه هفدهم | ادامه رسم نمودار دوبعدی در متلب

جلسه هجدهم | رسم نمودار سه بعدی در متلب

جلسه نوزدهم | محاسبات نمادین در متلب

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

مینی دوره آموزش رایگان برنامه نویسی متلب

 

 

آموزش برنامه نویسی متلب
موضوع:ادامه محاسبات نمادین در متلب
جلسه:بیستم(آخر)
مدرس : پدرام مشهدی زاده
متلب را ساده،آسان و شیرین بنوشید!!!

 

 

جلسه نوزدهم به مباحث ابتدایی محاسبات نمادین پرداختیم. هم چنین راه‌‌‌‌های تعریف یک تابع نمادین و نحوه محاسبه این توابع به ازای مقادیر مختلف را یادگرفتیم. این جلسه به ادامه مباحث جلسه گذشته و علمیات‌‌‌‌های ریاضی روی توابع از جمله حد و مشتق و انتگرال می‌پردازیم.
برای درک بهتر اینکه محاسبات نمادین متلب به مبحث تبدیل مقادیر عددی به نمادین می-پردازیم. فرض کنیم یک بردار a مانند زیر تعریف کرده باشیم. با دستور sym() این بردار را می-توان به یک بردار نمادین تبدیل کرد:

 

>>a = 1:10
>>sym(a)
ans =
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


  تک تک عناصر بردار a به صورت نمادین درمی آیند. اما اگر این مقادیر به صورت اعشاری باشند متلب برای تبدیل‌ آنها به متغیر نمادین نزدیک ترین مقدار به آن را تخمین می‌زند. به مثال زیر توجه کنید:

 

>> a = pi
a =
  3.1416
>> sym(a)
ans =
pi
>> a = 2/3
a =
  0.6667
>> sym(a)
ans =
2/3


sym(a,’e’) مقدار خطای حاصل، یعنی اختلاف بین مقدار تخمین زده شده و مقدار واقعی را برمیگرداند:

 

>> sym(a,'e')
ans =
2/3 - eps/6


- ماتریس نمادین:
با دستور sym می‌توان به شکل زیر ماتریسی از نمادها را ایجاد کرد:

 

>> A = sym('m',[2 3])
A =
[ m1_1, m1_2, m1_3]
[ m2_1, m2_2, m2_3]


A نام ماتریس بوده و ‘m’ نام درایه ها و [2 3] ابعاد ماتریس مدنظر است. با این دستور نام هر درایه به طور خودکار تعیین می‌شود. مانند دستورات ماتریس عددی می‌توان با درایه-‌‌‌‌های این ماتریس عمل نمود:

 

>> A(1)
ans =
M1_1
>> A(:)
ans =
m1_1
m2_1
m1_2
m2_2
m1_3
m2_3


بنابراین می‌توان به راحتی به این درایه ها مقادیر موردنظر را تخصیص داد.


- diff(expr) :
از عبارت expr به طور نمادین مشتق می‌گیرد.

 

>> syms x y
>> diff(3*x^2)
ans =
6*x
>> diff(sin(x))
ans =
cos(x)


- diff(expr,var) :
اگر expr برحسب بیش از یک متغیر باشد می‌توان مشتق جزئی آن را برحسب متغیر موردنظر v گرفت:

 

>> diff(x^2+2*x*y+y^2,y)
ans =
2*x + 2*y


- diff(…,n) :
اگر با آرگومان‌‌‌‌های بالا به کار رود، مشتق مرتبه nام را برمی گرداند:

 

>> diff(sin(x),2)
ans =
-sin(x)
>> diff(x^2+2*x*y+y^2,y,2)
ans =
2


- int(expr,v) :
انتگرال نامعین عبارت expr را نسبت به متغیر v اخذ می‌کند.

 

>> int(cos(x))
ans =
sin(x)
>> int(3*x^2)
ans =
x^3


- int(expr,v,a,b) :
انتگرال را مشابه قبل از a تا b اخذ می‌کند. a و b می‌توانند
یک عدد یا عبارت نمادین که شامل inf و –inf نیز هست، باشند.

 

>> int(exp(-x),0,inf)
ans =
1
>>int(sin(y),y,x,1)
ans =
cos(x) - cos(1)


- symsum(expr) :
اگر expr بیانگر جملات یک سری باشد، مجموع جملات آن را از 0 تا n-1 محاسبه می‌کند:

 

>> syms n
>> symsum(n+1)
ans =
n^2/2 + n/2


برای این که مجموع جملات حسابی از 1 تا n را حساب کنیم، به جای expr، n+1 گذاشتیم، که حاصل همان مقدار مورد انتظار n (n+1)/2 گردید.


- symsum(expr,a,b) :
مقادیر a و b محدوده محاسبه سری expr را بیان می‌کنند:

 

>> symsum(1/n^2,1,inf)
ans =
pi^2/6


- symsum(expr,v) :
مجموع سری expr که برحسب بیش از یک متغیر بیان شده است را به ازای v از 0 تا v-1 حساب می‌کند.

 

>>syms n k
>>symsum(n^k/sym('k!'),k,0,inf)
ans =
exp(n)


- نکته: برای محاسبه فاکتوریل می‌توان از sym(‘k!’) استفاده کرد.


- solve(eqn) :
معادله eqn را که یک معادله جبری است، حل می‌کند. مثال:

 

>> solve( x == sin(x))
ans =
0


این دستور به شکل زیر نیز می‌تواند به کار رود:

 

>>solve(x-sin(x))


هرگاه عبارت سمت راست نداشته باشد، به طور پیش فرض معادله را برای حالت مساوی با 0 حل می‌کند.
- مثال: به دست آوردن ریشه‌‌‌‌های چندجمله ای معادله زیر:

 

(x-2)(x+1)=0
>> solve( (x-2)*(x+1) )
ans =
2
-1


- solve(eqn,var) :
متغیری که قرار است برحسب آن معادله حل شود، توسط آرگومان var تعیین شده در غیر این مانند حالات قبل یک مقدار پیش فرض را انتخاب می‌کند.
-مثال: حل معادله زیر:

 

(ax^2+bx+c=0)
>> syms a b c x
>> solve(a*x^2+b*x+c)
ans =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
>> pretty(ans)

+-                      -+
|        2        1/2 |
|  b + (b - 4 a c)    |
| -------------------- |
|          2 a        |
|                        |
|        2        1/2 |
|  b - (b - 4 a c)    |
| -------------------- |
|          2 a        |
+-                      -+


- assume() :


در حل معادلات می‌توان فرض هایی را برای متغیر دلخواه خود درنظر بگیریم. برای مثال اگر بخواهیم معادله ای را به ازای تنها مقادیر مثبت x حل کنیم، باید فرض مثبت بودن x را برای متلب تعریف کنیم. برای این منظور به طریق زیر عمل می‌کنیم:
معادله زیر را درنظر بگیرید:
     

(x-2)(x+1)=0,x>0
>>syms f(x)
>>f(x) = (x-1)*(x+2);
>>assume(x>0)
>>solve(f,x)
ans =
1


شرط فرضی برای متغیر‌‌‌‌های نمادین، هنگام تعریف‌ آنها از طریق دستور sym() یا syms نیز امکان پذیر است:

 

>> syms x 'positive'
>> sym('x','real')
- assumeAlso(var,’’) :


شرط‌‌‌‌های ثانویه به بعد را می‌تواند به یک متغیر اضافه کند:

 

>> syms f(x)
>> f(x) = (x-1)*(x+2);
>> assume(x>0)
>> solve(f,x)
ans =
1
>> f(x) = (x-1)*(x+2)*(x-.5);
>> solve(f,x)
ans =
  1
1/2
>> assume(x,'integer')
>> solve(f,x)
ans =
1
-2
>> assumeAlso(x>0)
>> solve(f,x)
ans =
1
- assumptions :



فرضیات تعریف شده را برمی گرداند:

 

>> assumptions
ans =
[ 0 < x, x in Z_]


پیروز و موفق باشید

 

 


ادامه حیات سایت جاواپرو به حمایت مالی (دونیت) از طرف شما کاربر عزیز بستگی دارد....


 

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 

 

لینک دانلود آموزش رایگان اندروید

لینک دانلود

 

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
زودتر از دیگران از جدیدترین مطالب آموزشی برنامه نویسی جاواپرو اطلاع پیدا کن
 شاید برای شما کم اهمیت باشد; اما حمایت مالی به جاواپرو جان می‌دهد
سوالات متداول برنامه نویسی