ပြုပြင်နည်း- တန်ဖိုးအမှား- operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။


Python ကိုအသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-

 ValueError : operands could not be broadcast together with shapes (2,2) (2,3) 

numpy.dot() လုပ်ဆောင်ချက်အစား Python တွင် အမြှောက်သင်္ကေတ ( * ) ကို အသုံးပြု၍ matrix ပေါင်းခြင်းကို လုပ်ဆောင်ရန် ကြိုးပမ်းသောအခါတွင် ဤအမှားသည် ဖြစ်ပေါ်လာပါသည်။

အောက်ပါနမူနာများသည် အခြေအနေတစ်ခုစီတွင် ဤအမှားကို မည်သို့ပြင်ရမည်ကို ပြသထားသည်။

အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။

ကျွန်ုပ်တို့တွင် အတန်း 2 ခုနှင့် ကော်လံ 2 ခုပါသော 2×2 matrix C ရှိသည်ဆိုပါစို့။

အတန်း 2 နှင့် ကော်လံ 3 ခုပါသော 2×3 matrix D လည်းရှိသည်ဆိုပါစို့။

ဤတွင် matrix C ကို matrix D ဖြင့် မြှောက်နည်း။

၎င်းသည် အောက်ပါ matrix ကို ဖြစ်ပေါ်စေသည်-

အောက်ပါအတိုင်း အမြှောက်သင်္ကေတ (*) ကို အသုံးပြု၍ ဤ matrix မြှောက်ခြင်းကို Python တွင် လုပ်ဆောင်ရန် ကြိုးစားသည်ဆိုပါစို့။

 import numpy as np

#define matrices
C = np. array ([7, 5, 6, 3]). reshape (2, 2)
D = np. array ([2, 1, 4, 5, 1, 2]). reshape (2, 3)

#print dies
print (C)

[[7 5]
 [6 3]]

print (D)

[[2 1 4]
 [5 1 2]]

#attempt to multiply two matrices together
CD

ValueError: operands could not be broadcast together with shapes (2,2) (2,3)  

ကျွန်ုပ်တို့သည် ValueError ကိုလက်ခံရရှိပါသည်။ ဤအမှားအယွင်းကို ဘာကြောင့်ရရှိခဲ့သည်ကို နားလည်ရန် NumPy စာရွက်စာတမ်း ကို ကိုးကားနိုင်သည်-

array နှစ်ခုတွင် လုပ်ဆောင်သောအခါ NumPy သည် ၎င်းတို့၏ ပုံသဏ္ဍာန်ဒြပ်စင်အား ဒြပ်စင်အလိုက် နှိုင်းယှဉ်ပါသည်။ ၎င်းသည် အဆုံးအတိုင်းအတာ (ဆိုလိုသည်မှာ ညာဘက်ဆုံး) ဖြင့် စတင်ပြီး ဘယ်ဘက်သို့ ၎င်း၏နည်းလမ်းဖြင့် လုပ်ဆောင်သည်။ အတိုင်းအတာနှစ်ခု လိုက်ဖက်လိုက်တာ

  • ၎င်းတို့သည် တန်းတူဖြစ်သည်။
  • အဲဒီထဲက တစ်ယောက်က ၁

ဤအခြေအနေများနှင့် မကိုက်ညီပါက ValueError- Operands များကို အတူတကွ ထုတ်လွှင့်၍မရသော ခြွင်းချက်အား ဖယ်ချလိုက်ပြီး arrays များတွင် ကိုက်ညီမှုမရှိသော ပုံသဏ္ဍာန်များရှိကြောင်း ညွှန်ပြပါသည်။

ကျွန်ုပ်တို့၏ matrices နှစ်ခုသည် ၎င်းတို့၏ နောက်ဆုံးအတိုင်းအတာများအတွက် တူညီသောတန်ဖိုးမရှိသောကြောင့် ( matrix C တွင် နောက်ဆုံးအတိုင်းအတာ 2 ရှိပြီး matrix D တွင် နောက်ဆုံးအတိုင်းအတာ 3 ရှိသည်) ဖြစ်သောကြောင့် ကျွန်ုပ်တို့သည် အမှားတစ်ခုရရှိမည်ဖြစ်သည်။

အမှားကိုဘယ်လိုပြင်မလဲ။

ဤအမှားကိုပြင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ matrix မြှောက်ခြင်းကိုလုပ်ဆောင်ရန် numpy.dot() လုပ်ဆောင်ချက်ကို အသုံးပြုရန်ဖြစ်သည်-

 import numpy as np

#define matrices
C = np. array ([7, 5, 6, 3]). reshape (2, 2)
D = np. array ([2, 1, 4, 5, 1, 2]). reshape (2, 3)

#perform matrix multiplication
C. dowry (D)

array([[39, 12, 38],
       [27, 9, 30]])

ကျွန်ုပ်တို့သည် ValueError ကို ရှောင်ရှားပြီး matrices နှစ်ခုလုံးကို အောင်မြင်စွာမြှောက်ရန် စီမံထားကြောင်း သတိပြုပါ။

ရလဒ်များသည် အစောပိုင်းတွင် ကျွန်ုပ်တို့ကိုယ်တိုင်တွက်ချက်ထားသော ရလဒ်များနှင့် ကိုက်ညီကြောင်းကိုလည်း သတိပြုပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-

ပြုပြင်နည်း- ကော်လံများ ထပ်နေသော်လည်း နောက်ဆက်တွဲကို သတ်မှတ်မထားပါ။
ပြုပြင်နည်း- Object ‘numpy.ndarray’ တွင် ‘append’ attribute မရှိပါ။
ပြင်ဆင်နည်း- scalar တန်ဖိုးများအားလုံးကို အသုံးပြုပါက၊ အညွှန်းတစ်ခုကို ကျော်သွားရန်လိုအပ်သည်။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int အဖြစ်သို့ ပြောင်းလဲ၍မရပါ။

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်