下面這段程式給出了矩陣的加法,減法,以及乘法的運算,並且使用了運算子過載等方式輸出求解的答案,欲瞭解詳細的過程請認真閱讀**。
#include
using
namespace std;
template
<
typename t>
class
matrix
introws()
const
//返回矩陣行數
intcolumns()
const
//返回矩陣列數
t&operator()
(int i,
int j)
const
;//過載下標操作符()
matrix
&operator=(
const matrix
& m)
;//過載賦值運算子
matrix
operator+(
)const
;//過載一元加法運算子
matrix
operator+(
const matrix
& m)
const
;//過載二元加法運算子
matrix
operator-(
)const
;//過載一元減法運算子
matrix
operator-(
const matrix
& m)
const
;//過載二元減法運算子
matrix
operator*(
const matrix
& m)
const
;//過載二元乘法運算子
void
print()
const
} cout << endl;}}
;template
<
typename t>
matrix
::matrix
(int r,
int c)
if(r ==
1&& c ==1)
//規定1*1的矩陣不合法
rows = r;
cols = c;
element =
new t[r * c]
;//為矩陣申請空間};
template
<
typename t>
matrix
::matrix
(const matrix
& m)
}//過載下標運算子
template
<
typename t>
t& matrix
::operator()
(int i,
int j)
const
return element[
(i -1)
* cols + j -1]
;}template
<
typename t>
matrix
& matrix
::operator=(
const matrix
& m)
return
*this;}
;//過載二元減法運算子
template
<
typename t>
matrix matrix
::operator-(
const matrix
& m)
const
//建立乙個臨時矩陣,存放二維陣列相減的結果
matrix
w(rows, cols)
;for
(int i =
0; i < rows * cols; i++
)return w;};
//過載乘法運算子
template
<
typename t>
matrix matrix
::operator*(
const matrix
& m)
const
matrix
w(rows, m.cols)
;//根據乘法的規則,建立乙個適應大小是的臨時矩陣
int ct =
0, cm =
0, cw =0;
for(
int i =
1; i <= rows; i++
) w.element[cw]
= sum;
cw++
; ct -
= cols -1;
cm = j;
} ct +
= cols;
cm =0;
}return w;};
//過載二元加法運算子
template
<
typename t>
matrix matrix
::operator+(
const matrix
& m)
const
//建立乙個臨時矩陣,存放二維陣列相減的結果
matrix
w(rows, cols)
;for
(int i =
0; i < rows * cols; i++
)return w;};
//過載一元加法運算子
template
<
typename t>
matrix matrix
::operator+(
)const
}//過載一元減法運算子
template
<
typename t>
matrix matrix
::operator-(
)const
}int
main()
矩陣的運算
目錄 1.矩陣與數相乘 每一項都要乘 2.矩陣的加減運算 每一項都要乘 3.矩陣相乘 4.矩陣對應元素相乘 同型矩陣 5.矩陣的轉置 t 6.矩陣的共軛轉置 h 7.矩陣的逆 i 8.矩陣的試圖 a import numpy as np m1 np.mat 1,2,3 2,3,4 print m m...
矩陣的運算
矩陣的常用運算包括 加法 減法 點乘 點除和乘法等。矩陣的加法就是2個矩陣對應位置的數值相加。in 1 import numpy as np in 2 m1 np.array 1,2,3 4,5,6 np.uint8 in 3 m2 np.array 4,5,6 7,8,9 np.uint8 in ...
矩陣的運算
1 include2 using namespace std 3int main 1920 21 cout 請輸入矩陣b的行數和列數 22 cin x k 23 cout 請輸入矩陣b 24for int i 0 i x i 253031 32 cout 矩陣a為 33for int i 0 i n...