stl 的數值運算:
複數是由實部和虛部組成的數值。
虛部的特點是: 其平方值為負數,即複數虛部的帶著i,i是-1的平方根
類complex定義與中,
類定義:
template< class
t >
class
complex;
stl還提供了,float,double,long double的特殊版本。
1.建構函式
複數有兩個建構函式
函式宣告:
complex( const t& re = t(), const t& im = t() );
complex( const
complex& rhs );
說明:
1. 第一種形式利用引數re,和im確定複數物件
2. 第二種形式利用原有的複數物件
例子:
complexc1(1.5,2.5);//第一種形式
complex c2(c1); //第二種形式
//real
t real() const; (1)
void
real( t value ); (2)
第一種: 返回實部
第二種:設定實部
//img
t imag() const; (1)
void imag( t value ); (2)
第一種: 返回虛部
第二種:設定虛部
成員函式:
非成員函式:
複數可以進行其他簡單運算,如
- 絕對值函式: abs()
- 絕對值的平方: norm()
- 複數的相位 : arg
- 輸入與輸出:
- 共軛函式: conj
- 極座標函式 : polar
1.絕對值函式(abs)
函式原型:
template
< class t >
t abs( const
complex
& z );
複數的絕對值計算公式:
(實部的平方 + 虛部的平方)的平方根
2.絕對值的平方(norm)
函式原型
template
< class t >
t norm( const
complex
& z );
複數的絕對值的平方計算公式:
(實部的平方 + 虛部的平方)
3.複數的相位(arg)
函式原型為:
template
< class t >
t arg( const
complex
& z );
(1). 返回值:若無錯誤發生,則返回 z 在區間 (−π; π) 內的輻角。返回的單位是弧度。是複數的極座標形式的相位角。
4.輸出和輸入
operator
<<
operator>> : 複數的序列化和反序列化
5.共軛函式(conj)
函式原型:
template
< class t >
complex
conj( const
complex
& z );
產生並返回乙個複數。共軛複數是指實部相同,虛部與原複數的虛部互相反。
6.極座標函式(polar)
函式原型:
template
< class t >
complex
polar( const t& rho, const t& theta = 0 );
說明:
1. rho: 級
2. theta: 角
【沒搞懂】
複數的超越函式一般指的是三角函式和指數函式
三角函式:
雙曲函式:
指數函式:
- exp(std::complex) :以 e為底複數的指數
- log(std::complex) :沿負實軸割線的複數的自然對數
- log10(std::complex) :沿負實軸割線的複數的常用對數
冪函式:
- pow(std::complex) :複數的冪,兩個引數或其一可能是複數
- sqrt(std::complex) :右半側平面範圍內的複數平方根
數值計算中矩陣運算
1.矩陣運算最簡單的方法是使用matlib,因為在matlib中,矩陣是基本的資料型別,其語法與數 算基本一致,所以適合新手入手,但matlib也有很多不足之處。比如軟體比較龐大,收費,以及效率等問題。2.使用python的numpy庫,幾乎能代替matlib,但是程式的除錯難度上公升了一些,花的時...
bash的數值運算
在shell中,變數的預設型別是字串型別,而字串型別是不能進行數值運算的,所以shell提供了兩種方式來實現數值運算。1.用declare命令顯式地宣告變數的型別。2.用expr let數值運算工具或著特殊書寫格式來完成shell中的數值運算。一 declare命令介紹 目的 顯式地宣告變數的型別 ...
Problem C 複數的計算
自定義乙個複數的類complex,並過載運算子 使 之能用於複數的加法運算。參加運算的兩個運算量可以都是類的物件,也可以其中乙個是整數,順序隨意。例如 c1 c2,i c1均合法 i為整數,c1,c2為複數 編寫程式,分別求兩個複數之和 整數和複數之和。input 先輸入乙個數字a,表示有a組資料。...