|کد فرترن ضرب ماتریس|کد فرترن ضرب دو ماتریس|ضرب دو ماتریس در فرترن|ضرب ماتریس به زبان فرترن|ضرب کردن دو ماتریس در فرترن
-------------------------------------------------------------------------------------------------------------------------------------------
این کد اول m1 و n1 یا همون تعداد سطر و ستون ماتریس اول رو میگیره و سپس m2 و n2 مربوط به ماتریس دوم رو میگیره.بعد بررسی میکنه که n1 و m2 برابر هستند یانه.برای ضرب ماتریس ها این دو عبارت باید برابر باشند.سپس یک ماتریس m1 در n2 تشکیل میده که همون ماتریس جواب ماست و شروع به محاسبه میکنه و در آخر هم ماتریس بدست اومده رو نشون میده
---------------------------------------------------------------------------------------------------------------------------------------
PROGRAM matrix
1. IMPLICIT NONE
2. INTEGER::m1,n1,m2,n2,t,k1,k2,i,k,j
3. REAL,ALLOCATABLE::a(:,:),b(:,:),c(:,:),c1(:),c2(:)
4. REAL::s
5. PRINT*
6. PRINT*," _ _ _ _ _ _ "
7. PRINT*," | a11 a12 ..a1n1 | | b11 b12 ..b1n2 | | c11 c12 ..c1n2 | "
8. PRINT*," | | | | | | "
9. PRINT*," | a21 a22 ..a2n1 | X | b21 b22 ..b2n2 | = | c21 c22 ..c2n2 | "
10. PRINT*," | . | | . . . | | . . . | "
11. PRINT*," | . | | . . . | | . . . | "
12. PRINT*," |_am11 am12..am1n1_| |_bm21 bm22..bm2n2_| |_cm11 cm12..cm1n2_| "
13. PRINT*," m1xn1 m2xn2 m1xn2 "
14. PRINT*
15. PRINT*,"------------------------------------------------------------------------"
16. PRINT*
17. PRINT*,"input m1 and n1 : "
18. READ*,m1,n1
19. PRINT*,"input m1 and n2 : "
20. READ*,m2,nIF (n1/=m2) THEN
21. PRINT*," n1 must be equal m2"
22. PRINT*
23. STOP
24. END IF
25. ALLOCATE(a(m1,n1),b(m2,n2),c(m1,n2),c1(n1),c2(m2))
26. PRINT*
27. DO k1=1,m1
28. PRINT*,"input line",k1,"of matrix a :"
29. READ*,a(k1,:)
30. END DO
31. DO k2=1,m2
32. PRINT*,"input line",k2,"of matrix b :"
33. READ*,b(k2,:)
34. END DO
35. DO i=1,m1
36. DO j=1,n2
37. c1=a(i,:)
38. c2=b(:,j)
39. s=0.
40. DO k=1,m2
41. s=s+(c1(k)*c2(k))
42. END DO
43. PRINT*
44. c(i,j)=s
45. END DO
46. END DO
47. PRINT*," C(",m1,",",n2,") :"
48. PRINT*
49. DO t=1,m1
50. PRINT*," ",c(t,:)
51. END DO
52. PRINT*
53. END PROGRAM
54.
55.