018 矩陣的運算

2021-10-05 13:51:24 字數 3009 閱讀 2671

下面這段程式給出了矩陣的加法,減法,以及乘法的運算,並且使用了運算子過載等方式輸出求解的答案,欲瞭解詳細的過程請認真閱讀**。

#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...