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 بار
سراغ ستون ها میرویم . و خوبی دیگر این است که این روش هیچ کاری با ستون ها ندارد .
فقط با ردیف ها کار می کند . ( مثلا دوتا از ردیف اول کم می کنه ، سه برابر اولی رو به دومی
انتقال می ده و ... )
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.