PDA

View Full Version : گفتگو: دترمینان ماتریس



ahmadsam
سه شنبه 17 آذر 1388, 10:26 صبح
می خواستم بدونم کد بازگشتی این الگوریتم همین می تونه باشه یا راه بهینه تری نیز وجود داره



det(A) = A[i,1] * det(h(A,i,1)) * pwr(-1,0) +
A[i,2] * det(h(A,i,2)) * pwr(-1,1) +
A[i,3] * det(h(A,i,3)) * pwr(-1,2) +
...
A[i,j] * det(h(A,i,j)) * pwr(-1,j-1) +
...
A[i,n] * det(h(A,i,n)) * pwr(-1,n-1);

qwerty11
سه شنبه 17 آذر 1388, 14:22 عصر
می خواستم بدونم کد بازگشتی این الگوریتم همین می تونه باشه یا راه بهینه تری نیز وجود داره
سلاام،
خوب این روش فقط واسه n های خیلی کوچیک کاربرد داره. مثلاً وقتی که n کمتر از 10 باشه. ضمن اینکه پیاده سازیش هم یه کم (البته خیلی کم) دردسر داره.

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

seyedVB
سه شنبه 17 آذر 1388, 22:08 عصر
سلام . برای حساب کردن دترمینان یک ماتریس به نظر من از روش جردن - گاوس استفاده کنید

بهتره . چون آخرش یک جواب بمون میده که با اون جواب همه معادلات می تونن حل شن

و دترمنیان حساب میشه . و اگر طول یک ماتریس n باشد ( تعداد ستون ها ) فقط n-1 بار

سراغ ستون ها میرویم . و خوبی دیگر این است که این روش هیچ کاری با ستون ها ندارد .

فقط با ردیف ها کار می کند . ( مثلا دوتا از ردیف اول کم می کنه ، سه برابر اولی رو به دومی

انتقال می ده و ... )