PDA

View Full Version : سوال.برنامه معکوس ماتریس



yalda_a
چهارشنبه 22 آبان 1387, 09:04 صبح
سلام.من یه تازه کارم.میشه یکی کمکم کنه.یه برنامه میخوام بنویسم که معکوس ماتریس را با اعمال مقدماتی محاسبه کنه.خواهش:گریه:

++Hichkas
چهارشنبه 22 آبان 1387, 10:01 صبح
فکر کنم که باید این برنامه را با استفاده از Stack ها بنویسید

roya67
چهارشنبه 22 آبان 1387, 11:02 صبح
سلام.من یه تازه کارم.میشه یکی کمکم کنه.یه برنامه میخوام بنویسم که معکوس ماتریس را با اعمال مقدماتی محاسبه کنه.خواهش:گریه:
برنامه ي دترمينان ماتريس رو كه شبيه به معكوسه مي نويسم و شما خودت با چند تا تغيير كوچولو موچولو تبديلش كن به معكوس ماتريس(خيلي راحته فقط يك كم فكر كن و راهنمايي رو بخون). ● همه مي دونن كه اگه ماتريس به يك ماتريس بالا يا پايين مثلثي تبديل بشه دترمينان برابر است با حاصل ضرب اعداد روي قطر ماتريس
براي اينكه ماتريس رو تبديل كنيم به بالا يا پايين مثلثي سطر اول را در نظر مي گيريم آنقدر آن با سطرهاي ديگر جمع و تفريق و ضرب مي كنيم كه آن ها را صفر كند(مثلاً سطر اول و ستون اول را در نظر مي گيريم آن را در (عدد پايين آن در ماتريس تقسيم بر خود آن) ضرب مي كنيم البته توجه كنيد كه اين براي يكي از مولفه هاست براي بار دوم بايد سطر اول و ستون دوم را در نظر بگيريم و...). من از روي الگوريتم مي تونم اين رو كاملاً براي شما روشن كنم اما اول خودتون يه نگاهي بهش بياندازيد
Program Determinant;
Var
A: Array[1..100,1..100] of integer;
I,J,N,D,k : integer;
Begin
Write('Please insert number of columns and rows: ');
Readln(n);
For i:=1 to n do
For j:=1 to n do
Readln(a[i,j]);
For k:=1 to n-1
For i:=k+1 to n do
For j:=1 to n do
A[i,j]:=A[i,j]*(a[k,k]/a[i.k])-a[k,j];
D:=1;
For i:=1 to n do
D:=D*A[i,i];
Writeln('Determinant is: ',D)
End.
$اگه مي خواهيد بدونيد اين برنامه پايين مثلثي مي كنه ماتريس رو يا بالا مثلثي بايد بگم پايين به مثلثي تبديل مي كنه.
$پارامتر Var كه در ابتداي برنامه ها مي آيد به منزله ي اين است كه در ابتداي فيلم ها مي نويسند با شركت بازيگران... يا با تشكر از...
● (اين هم راهنمايي براي مسأله ي شما) اين رو هم بعضي ها مي دونن كه اگه ماتريس رو به يك ماتريس واحد يا همان ماتريس هماني تبديل كنيم و همان اعمال را(كه روي ماتريس اصلي انجام داديم تا به هماني برسيم) روي ماتريس هماني انجام دهيم ماتريس معكوس را به دست آورده ايم. پس كافيه كه شما اعمال بالا را با يك كم تغييرات انجام بدبد در ضمن اينكه ماتريس هماني را فرض كرده و اعمال را روي آن انجام دهيد.
من اینو تو یه وبلاگ دیدم خودم ننوشتمش

reza273
پنج شنبه 23 آبان 1387, 15:24 عصر
برنامشو من به دو روش گاوس و اون یکی به روش بدست آوردن کهاد نوشتم اگه میخوای میزارم تو سایت