PDA

View Full Version : ضرب در ماتریس ها



forogh68
جمعه 05 تیر 1394, 18:57 عصر
سلام دوستان.
ضرب در ماتریس ها چگونه هست؟
مثلا اين ماتريس رو مي خوايم ضرب کنيم، بايد a تا f رو بگيره و xوy رو نشون بده؟ فرمول ضرب ماتريس ها چي هست؟
http://s6.picofile.com/file/8195941650/Picture1.png

ehsan_faal
جمعه 05 تیر 1394, 22:19 عصر
دوتا ماتریس که قراره ضرب بشن باید دوتا عدد نزدیک به هم(اونایی که سایز ماتریس رو مشخص میکنن)با هم برابر باشند.
یه ماتریس با m سطر و n ستون میتونه در یه ماتریس دیگه با n سطر و k ستون ضرب بشه.
حاصل هم ماتریسی با تعداد سطر ماتریس اول و ستون ماتریس دومه.
روش کار هم اینه که درایه سطر i ستون j ماتریس حاصل برابر جمع حاصلضرب نظیر به نظیر کل سطر i از ماتریس اول در کل ستون j از ماتریس دومه.
یعنی مثلا اینجا x میشه ae+bf و y میشه ce+df.
تا هر جا که تونستید پیاده سازیش کنید جلو برید هر جا مشکل داشتید مطرح کنید مطمئننا دوستان کمک میکنن.
(بهتره که از وکتورها برای اینکار استفاده بشه)

ehsan_faal
جمعه 05 تیر 1394, 22:21 عصر
این یه نمونه از ضرب ماتریس هاست:

Matrix 1:
10 12 13 11 14
4 3 2 6 5
12 14 13 11 15


Matrix 2:
10 12 13 11 14
4 3 2 6 5
12 14 13 11 15
7 10 8 9 6
12 9 13 11 10


Result:
549 574 593 578 601
178 190 197 193 187
589 613 636 623 649

darknes666
شنبه 06 تیر 1394, 00:44 صبح
سلام دوستان.
ضرب در ماتریس ها چگونه هست؟
مثلا اين ماتريس رو مي خوايم ضرب کنيم، بايد a تا f رو بگيره و xوy رو نشون بده؟ فرمول ضرب ماتريس ها چي هست؟
http://s6.picofile.com/file/8195941650/Picture1.png


x=ae+bfوy=ce+df

اینم یه مثال دیگه:

132622

forogh68
یک شنبه 07 تیر 1394, 00:28 صبح
سپاسگذارم از تمامی دوستان.
حالا یک سوال اگر ماتریس n * n بود (یعنی تعداد دو پرانتز با هم برابر باشد) این ضرب چطور میشه؟ اگر با یک مثال توضیح بدید ممنون میشم.

ehsan_faal
یک شنبه 07 تیر 1394, 00:34 صبح
دقیقا همون قاعده قبلیه. یعنی اگه n برابره 5 باشه ماتریس نهایی هم 5در 5 خواهد بود:

First Matrix:
+0.748812 -7.93514 -0.703036 -5.15902 -7.69851
+5.25397 +8.03308 -1.72006 -5.63296 +1.37359
-4.50932 +1.09998 -1.22006 -3.92884 +8.92762
-9.71079 +4.74331 -4.27752 -2.89316 -2.95183
-7.7974 -8.20867 +2.55086 -3.31946 +3.21499

Second Matrix:
+9.64115 -5.06872 -1.78975 +3.82587 +5.52498
+9.11644 -3.79899 -6.74081 -9.71272 -6.19404
-2.73215 +7.29875 +1.88106 -7.29285 -6.54636
-6.43877 +5.55378 +4.87255 -0.113323 +7.78896
+8.23841 +1.74066 +2.59768 +5.78006 +4.2632

Result Matrix:
-93.4057 -20.8339 +5.69084 +41.1506 -15.1136
+176.172 -98.596 -90.667 -36.8001 -47.488
+68.7326 +3.49279 +2.40839 +33.0093 -16.2816
-44.3842 -21.2251 -44.4051 -68.7612 -90.149
-109.12 +76.4863 +66.2642 +50.2526 -21.0835

forogh68
یک شنبه 07 تیر 1394, 14:08 عصر
دقیقا همون قاعده قبلیه. یعنی اگه n برابره 5 باشه ماتریس نهایی هم 5در 5 خواهد بود:

First Matrix:
+0.748812 -7.93514 -0.703036 -5.15902 -7.69851
+5.25397 +8.03308 -1.72006 -5.63296 +1.37359
-4.50932 +1.09998 -1.22006 -3.92884 +8.92762
-9.71079 +4.74331 -4.27752 -2.89316 -2.95183
-7.7974 -8.20867 +2.55086 -3.31946 +3.21499

Second Matrix:
+9.64115 -5.06872 -1.78975 +3.82587 +5.52498
+9.11644 -3.79899 -6.74081 -9.71272 -6.19404
-2.73215 +7.29875 +1.88106 -7.29285 -6.54636
-6.43877 +5.55378 +4.87255 -0.113323 +7.78896
+8.23841 +1.74066 +2.59768 +5.78006 +4.2632

Result Matrix:
-93.4057 -20.8339 +5.69084 +41.1506 -15.1136
+176.172 -98.596 -90.667 -36.8001 -47.488
+68.7326 +3.49279 +2.40839 +33.0093 -16.2816
-44.3842 -21.2251 -44.4051 -68.7612 -90.149
-109.12 +76.4863 +66.2642 +50.2526 -21.0835

خب طبق گفته شما سطر ماتریس اول رو باید در ستون ماتریس دوم ضرب کنیم!
حالا فرض کنید به این شکل باشه میشه

a*1
d*4
g*7

a*2
d*5
g*8

a*3
d*6
g*9

و به همین صورت الی آخر؟
http://s6.picofile.com/file/8196333326/FFDBE5.PNG