1. python中向量指的是什麼意思
一、向量是什麼
在數學中,向量(也稱為歐幾里得向量、幾何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示為帶箭頭的線段。箭頭所指:代表向量的方向;線段長度:代表向量的大小。與向量對應的只有大小,沒有方向的量叫做數量(物理學中稱標量)
在這里,向量即一維數組,用 arange 函數創建向量是最簡單的方式之一:
arange函數也可以指定初始值、終止值和步長來創建一維數組:
向量還能直接對每個元素進行運算:
二、創建向量
上面使用 arange 則是創建向量的一種方式,其實只要是數組創建的函數均可以創建向量,如:
linspace() 函數
前文介紹:linspace 通過制定初始值、終止值和元素個數創建等差數列向量,通過endpoint 參數指定是否包含終止值,默認為True
logspace() 函數
同linspace,創建等比數列,基數通過base參數指定,默認基數為10
zeros() 函數和 ones() 函數
這兩個函數分別可以創建指定長度或形狀的全0或全1的 ndarray 數組,比如:
指定數據類型:
empty() 函數
這個函數可以創建一個沒有任何具體值的 ndarray 數組,例如:
random.randn() 函數
randn 是 numpy.random 中生成正態分布隨機數據的函數
fromstring() 函數
從字元串創建數組
上面從字元串創建的數組,定義為整形8bit,創建出來的其實就是字元串的ASCII 碼
fromfunction() 函數
從函數創建數組,是數據分析常見的方法
可先定義一個從下標計算數值的函數,然後用fromfunction 創建數組
fromfunction 第一個參數為計算每個數組元素的函數名,第二個參數指定數組的形狀。因為它支持多維數組,所以第二個參數必須是一個序列。
例如我創建一個九九乘法表:
注意,fromfunction 函數中的第二個參數指定的是數組的下標,下標作為實參通過遍歷的方式傳遞給函數的形參。
眾多python培訓視頻,盡在python學習網,歡迎在線學習!
2. 使用Python編寫一個三維向量,實現向量的加法減法,點乘叉乘
#--coding:gb2312--
classvector3:
def__init__(self,x_=0,y_=0,z_=0):#構造函數
self.x=x_
self.y=y_
self.z=z_
def__add__(self,obj):#重載+作為加號
returnvector3(self.x+obj.x,self.y+obj.y,self.z+obj.z)
def__sub__(self,obj):#重載-作為減號
returnvector3(self.x-obj.x,self.y-obj.y,self.z-obj.z)
def__mul__(self,obj):#重載*作為點乘
returnvector3(self.x*obj.x,self.y*obj.y,self.z*obj.z)
def__pow__(self,obj):#重載**作為叉乘。不好,偏離了常理上的意義,可以考慮重載其他符號,或者直接寫函數。
returnvector3(self.y*obj.z-obj.y*self.z,self.z*obj.x-self.x*obj.z,self.x*obj.y-obj.x*self.y)
def__str__(self):#供print列印的字元串
returnstr(self.x)+','+str(self.y)+','+str(self.z)
v1=vector3(1,2,3)
v2=vector3(0,1,2)
printv1+v2
printv1-v2
printv1*v2
printv1**v2
結果:
3. python中怎麼定義二維向量類及其運算
python中怎麼定義二維向量類及其運算如下:
1、向量一維的數組,包括行向量和列向量,和傳統向量定義不同的是定義的默認是行向量。
2、向量的運算,向量和矩陣相加一樣,只有在維數相同的情況下才可以相加,向量相加實質上是對應位置元素的相加。
3、內積運算通過函數實現,一維的向量相乘只能用於行向量相乘,對於二維中的列向量的運行握算,則遵從矩陣的運演算法則。
4、向量的線性組合,向量的線性團帆組合可以在行進行運算,但是塌帶雹更推薦基於列向量中進行運算。