برنامه محاسبه دترمینان determinate

برنامه محاسبه دترمینان determinate

 

برنامه دترمینان و درک آن یکی از راه های موثر برای درک مفهوم بازگشتی و تابع بازگشتی است .پس با ما باشید تا این سوال را حل کنیم و با دترمینان و روش حل آن بیشتر آشنا شویم.

برنامه محاسبه دترمینان determinate

برنامه محاسبه دترمینان determinate

برای نوشتن این برنامه ابتدا باید بدانیم دترمینان یک ماتریس چطور حساب می شود .در شکل زیر محاسبه دترمینان را برای ماتریس ۳*۳ می بینید برای ماتریس های دیگر هم به همین طور است مشاهده می شود که برای محاسبه ماتریس ۳*۳ این گونه عمل کرده ایم درایه سطر اول را ضرب در دترمینان ماتریس جدید حاصل از حذف سطر اول و ستون اول کرده ایم و بعد منهای درایه سطر اول و ستون دوم ضرب در دترمینان ماتریس جدید حاصل از حذف سطر اول و ستون دوم کرده ایم و در مرحله بعد به علاوه درایه سطر اول و ستون سوم ضرب در  دترمینان ماتریس حاصل از حذف سطر اول و ستون سوم کرده ایم  به هر یک از این ماتریس های جدید یک کهاد می گوییم برای سایر ماتریس ها با اندازه های مختلف می توان همین روش را بسط داد.

برنامه محاسبه دترمینان determinate

برنامه محاسبه دترمینان determinate

خوب ما چطور این روش ریاضی را به برنامه کامپیوتری تبدیل کنیم .ما فرض می کنیم یک ماتریس ۴*۴ داریم که می خواهیم دترمینانش را حساب کنیم اگر از روش بالا استفاده کنیم ۴ تا ماتریس جدید به وجود می آید که ۳*۳ اند ما یکی از آن ها را در نظر می گیریم برای محاسبه دترمینان ماتریس ۳*۳ طبق فرمول بالا عمل کرده و در این مرحله هم ۳ ماتریس جدید ۲*۲ به دست می آید و ما هم می دانیم دترمینان ماتریس ۲*۲ برابر می شود با حاصل ضرب درایه های قطر اصلی منهای حاصل ضرب درایه های قطر فرعی .یعنی هر ماتریس چند در چندی دادندآن را مرتب خرد می کنیم و با ماتریس های کوچک تر جایگزین می کنیم تا به ماتریس های ۲*۲ برسیم .به این استدلال روش بازگشتی می گویند .در کد نوشته شده تابع inter (درستش Enter است)درایه های ماتریس را می خواند و ماتریس را ایجاد می کند و تایع show ماتریس را نشان می دهد و تابع build کار ساختن کهاد(ماتریس ها جدید) را انجام می دهد و تابع det دترمینان را محاسبه می کند و دارای ساختار بازگشتی است و شرط محدود کننده n=2 است که می گوید اگر طول ماتریس برابر ۲ بود ضرب درایه های قطر اصلی منهای ضرب درایه های قطر فرعی را برگردان و اگر n>2  از فرمول ریاضی استفاده می شود و تابع دترمینان دوباره فراخوانده می شود.

کد به زبان سی :

 

کد برنامه ی دترمینان زبان سی پلاس پلاس :

 

 

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

۱۹ دیدگاه

نظر خود را بنویسید.

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