تمامی مطالب مطابق قوانین جمهوری اسلامی ایران میباشد.درصورت مغایرت از گزارش پست استفاده کنید.

جستجو

کانال خرید و فروش پرنده

روش کرامر(کد فرترن)-روش محاسبه معکوس(وارون) یک ماتریس(کد فرترن)- محاسبه دترمینان ماتریس n*n(کد فرترن

    ..      . |    .ir" target="_blank"> است اول تعداد معادلات یا همان n را میگیرد PRINT*,"    .  .   .     .ir" target="_blank"> و ماتریس n در n رو تشکیل میدهد..     .حالا شروع میکند سطر به سطر درایه های ماتریس را به همراه b که همان بردار معلوم ماست میگیرد. + X(n)a(2,n) = b(2) |"
    PRINT*,"    ...بعد برای هر x یک ماتریس جدید را تشکیل می دهد(که همان روش کرامر است) و ان ماتریس را به سابروتین میدهد با استفاده تا دترمینان آن را محاسبه کند. |    .   .      .   .…
program keramer
implicit none
INTEGER::i,n,j
REAL::detnet,det
REAL,ALLOCATABLE::a(:,:),b(:),x(:),c(:)
PRINT*
PRINT*
PRINT*,"    1 |  X(1)a(1,1) + X(2)a(1,2) + .تقسیم دترمینان ماتریس جدید به دترمینان اصلی همان جواب های ماست.        . دترمینان ماتریس a رو محاسبه میکند..کدی که نوشته شده PRINT*,"    .     .        .  ..   . + X(n)a(n,n) = b(n)_|"
PRINT*,"                                                          n*n+1"
PRINT*
PRINT*,"-------------------------------------------------------------------"
PRINT*,"  lotfan n ya tedad moadelat ra vared konid : "
READ*,n
ALLOCATE(a(n,n),b(n),x(n),c(n))
do i=1,n
PRINT*,"  satre",i,"matris ra vared konid :"
READ*,a(i,:)
PRINT*,"  b(",i,") ra vared konid : "
READ*,b(i)
end do
PRINT*
PRINT*
call determinant(n,a,det)
detnet=det
do j=1,n
c=a(:,j)
PRINT*
a(:,j)=b
call determinant(n,a,det)
x(j)=det/detnet
PRINT*,"    X(",j,") = ",x(j)
a(:,j)=c
end do
PRINT*
PRINT*,"------------------------------------------------"
PRINT*
end

subroutine determinant(n,a,det)
implicit none
INTEGER::i,j,g,f,r,i1,j1,k,s,n
REAL::landa,a(n,n),b(n),det,t,d(n,n)
d=a
k=0
do i=1,n
if (a(i,i)==0) then
do j=i+1,n
if (a(j,i)/=0) then
k=k+1
b=a(j,:)
a(j,:)=a(i,:)
a(i,:)=b
end if
end do
end if
do j1=i+1,n
landa=-a(j1,i)/a(i,i)
a(j1,:)=(landa*a(i,:))+a(j1,:)
end do
end do
t=1
do s=1,n
t=t*a(s,s)
end do
if (MOD(k,2)==0) then
det=t
else
det=-t
end if
a=d
end
 
منبع
،
روش کرامر(کد فرترن)

نقل قول :

کد فرترن روش کرامر. |    .  .  .   .        ..   .  .        .  |"
PRINT*,"    n |_ X(1)a(n,1) + X(2)a(n,2) + ...  .      .      .        ..   ..        .  |"
PRINT*,"    . |    . + X(n)a(1,n) = b(1) |"
PRINT*,"    2 |  X(1)a(2,1) + X(2)a(2,2) + ..ir" target="_blank"> از
سابروتینی که کار آن محاسبه دترمینان است.        .        .   . بعد گزارش پست ]
منبع
برچسب ها :

, , , , , , , , , , , ,

آمار امروز چهار شنبه 27 دي 1396

  • تعداد وبلاگ :55617
  • تعداد مطالب :210502
  • بازدید امروز :98533
  • بازدید داخلی :11841
  • کاربران حاضر :117
  • رباتهای جستجوگر:163
  • همه حاضرین :280

تگ های برتر امروز

تگ های برتر