خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه پژوهشی - آموزشی بنیان دانش توس در اسفند 1390 با همکاری تعدادی از دانشجویان تحصیلات تکمیلی دانشگاه های معتبر تهران و مشهد شروع به کار کرد و توفیقات زیادی کسب نمود که به تدریج در وبلاگ بارگزاری خواهد شد. در همین راستا شاخه آموزشی گروه اقدام به راه اندازی سایت moomsan.blog.ir نمود تا ضمن ارائه آموزش های مجازی، به ارتقای خدمات گروه بپردازد. در این وبلاگ فعلا خدمات کدنویسی فرترن به مرور بارگذاری می شود. امید است مورد استفاده متخصصین بازدید کننده از سایت قرار گیرد.
آدرس: مشهد، بین سلمان فارسی 5 و 7 پلاک 48
راه های تماس با گروه :

Tel: +98 915 125 2688
Phone: +98 51 38477407

زمان پاسخگویی: 9 تا 13:30 و 16 تا 21
Telegram.me/moomsan
moomsan@gmail.com
ID: @moomsan

۸ مطلب با کلمه‌ی کلیدی «برنامه نویسی سیمپل» ثبت شده است

 

fortran-programming.mihanblog.com|کد فرترن روش ماتریس معکوس|حل دستگاه معادلات جبری خطی به روش ماتریس معکوس|روش ماتریس معکوس برای حل معادلات جبری خطی|روش ماتریس معکوس به زبان فرترن|کد فرترن روش ماتریس معکوس برای حل دستگاه معادلات|

fortran-programming.mihanblog.com

---------------------------------------------------------------------------------------------------------------------------------------------

 

کد فرترن روش ماتریس معکوس برای حل دستگاه معادلات جبری خطی...ین کد اول تعداد معادلات یا n رو میگیره و ماتریس ضرایب n در n رو تشکیل میده و همچنین دو ماتریس n در 1 رو تشکیل میده که یکی برای مجهولات و دیگری برای معلومات در طرف راست تساوی هستش.بعد خط به خط ماتریس ضرایب و ماتریس معلوم رو میگیره و شروع به محاسبه ماتریس همسازه ها میکنه.اول دترمینان ماتریس ضرایب رو محاسبه میکنه که اگر 0 باشه یک پیام خطا نمایش میده که ماتریس معکوس پذیر نیست.اگر دترمینان 0 نباشه محاسبه کردن رو ادامه میده.برای ماتریس همسازه ها باید با استفاده از کهاد سطر ها و ستون ها مرتب دترمینان محاسبه بشه که واسه این مورد یک سابروتین نوشتم که این کارو میکنه.سپس ترانهاده ماتریس همسازه ها رو بدست میاره و ضرب در دترمینان ماتریس ضرایب میکنه.ماتریس بدست اومده همون معکوس ماتریس ضرایبه.سپس این ماتریس معکوس شده رو در ماتریس معلوم ضرب میکنه که این کار رو هم یک سابروتین انجام میده.جواب های بدست اومده از ضرب این دو ماتریس همون جواب های مجهولات ما هستن و ا 

fortran-programming.mihanblog.com|کد فرترن روش ماتریس معکوس|حل دستگاه معادلات جبری خطی به روش ماتریس معکوس|روش ماتریس معکوس برای حل معادلات جبری خطی|روش ماتریس معکوس به زبان فرترن|کد فرترن روش ماتریس معکوس برای حل دستگاه معادلات|

fortran-programming.mihanblog.com

---------------------------------------------------------------------------------------------------------------------------------------------

 

کد فرترن روش ماتریس معکوس برای حل دستگاه معادلات جبری خطی...ین کد اول تعداد معادلات یا n رو میگیره و ماتریس ضرایب n در n رو تشکیل میده و همچنین دو ماتریس n در 1 رو تشکیل میده که یکی برای مجهولات و دیگری برای معلومات در طرف راست تساوی هستش.بعد خط به خط ماتریس ضرایب و ماتریس معلوم رو میگیره و شروع به محاسبه ماتریس همسازه ها میکنه.اول دترمینان ماتریس ضرایب رو محاسبه میکنه که اگر 0 باشه یک پیام خطا نمایش میده که ماتریس معکوس پذیر نیست.اگر دترمینان 0 نباشه محاسبه کردن رو ادامه میده.برای ماتریس همسازه ها باید با استفاده از کهاد سطر ها و ستون ها مرتب دترمینان محاسبه بشه که واسه این مورد یک سابروتین نوشتم که این کارو میکنه.سپس ترانهاده ماتریس همسازه ها رو بدست میاره و ضرب در دترمینان ماتریس ضرایب میکنه.ماتریس بدست اومده همون معکوس ماتریس ضرایبه.سپس این ماتریس معکوس شده رو در ماتریس معلوم ضرب میکنه که این کار رو هم یک سابروتین انجام میده.جواب های بدست اومده از ضرب این دو ماتریس همون جواب های مجهولات ما هستن و اونا رو نمایش میده.

 

---------------------------------------------------------------------------------------------------------------------------------------

 

program matrix_inverse_method

implicit none

INTEGER::i2,i,j,k,p,i1,j1,n,j2,i3

REAL::s,detr,deta

REAL,ALLOCATABLE::a(:,:),b(:,:),c(:,:),f(:),x(:,:),t(:,:),g(:,:)

PRINT*

PRINT*,"   _                _     _  _     _  _     "

PRINT*,"  | a11  a12 ..a1n1  |   | x1 |   | b1 |    "

PRINT*,"  |                  |   |    |   |    |    "

PRINT*,"  | a21  a22 ..a2n1  | X | x2 | = | b2 |    "

PRINT*,"  | .                |   | .  |   | .  |    "

PRINT*,"  | .                |   | .  |   | .  |    "

PRINT*,"  |_am11 am12..am1n1_|   |_xn_|   |_bn_|    "

PRINT*,"                    nxn       nx1       nx1 "

PRINT*

PRINT*,"------------------------------------------------------------------------"

PRINT*

PRINT*,"tedad moadelat ya n ra vared konid : "

READ*,n

ALLOCATE(a(n,n),b(n-1,n-1),c(n,n),f(n-1),x(n,1),t(n,1),g(n,n))

do i2=1,n

PRINT*,"khate",i2,"matris a ra vared konid : "

READ*,a(i2,:)

PRINT*,"b(",i2,") ra vared konid :"

READ*,x(i2,1)

end do

call det(n,a,deta)

if (deta==0) then

PRINT*,"matris makoos pazir nist! "

stop

end if

do i1=1,n

do j1=1,n

p=0

do i=1,n

if (i/=i1) then

k=0

do j=1,n

if (j/=j1) then

k=k+1

f(k)=a(i,j)

end if

end do

p=p+1

b(p,:)=f

end if

end do

call det(n-1,b,detr)

s=((-1)**(i1+j1))*detr

c(i1,j1)=s

end do

end do

do j2=1,n

g(:,j2)=c(j2,:)

end do

g=g/deta

call mat(n,g,x,t)

do i3=1,n

PRINT*,"   X(",i3,") = ",t(i3,1)

end do

PRINT*

end

subroutine det(n,a,t1)

implicit none

INTEGER::i,j,g,f,r,j1,k,s,n

REAL::landa,t,a(n,n),b(n),c(n,n),t1

c=a

k=0

do i=1,n

if (c(i,i)==0) then

do j=i+1,n

if (c(j,i)/=0) then

k=k+1

b=c(j,:)

c(j,:)=c(i,:)

c(i,:)=b

end if

end do

end if

do j1=i+1,n

landa=-c(j1,i)/c(i,i)

c(j1,:)=(landa*c(i,:))+c(j1,:)

end do

end do

t=1

do s=1,n

t=t*c(s,s)

end do

if (MOD(k,2)==0) then

t1=t

else

t1=-t

end if

end

subroutine mat(n,a,b,c)

implicit none

INTEGER::m1,n1,m2,n2,t,k1,k2,i,k,j,n

REAL::a(n,n),b(n,1),c(n,1),c1(n),c2(n),s

do i=1,3

do j=1,1

c1=a(i,:)

c2=b(:,j)

s=0.

do k=1,3

s=s+(c1(k)*c2(k))

end do

PRINT*

c(i,j)=s

end do

end do

end


ref: Reymoh.blogfa