python中,可以用numpy庫中的eye函數(shù)創(chuàng)建對角線元素全1的矩陣:

創(chuàng)新互聯(lián)建站是一家專業(yè)提供玉州企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為玉州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進(jìn)行中。
n = 3
H = np.eye(n)
參數(shù)n為所要創(chuàng)建矩陣的大小,生成的矩陣H大小為n*n
【常見的內(nèi)置函數(shù)】
1、enumerate(iterable,start=0)
是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。
2、zip(*iterables,strict=False)
用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。
3、filter(function,iterable)
filter是將一個序列進(jìn)行過濾,返回迭代器的對象,去除不滿足條件的序列。
4、isinstance(object,classinfo)
是用來判斷某一個變量或者是對象是不是屬于某種類型的一個函數(shù),如果參數(shù)object是classinfo的實例,或者object是classinfo類的子類的一個實例,
返回True。如果object不是一個給定類型的的對象, 則返回結(jié)果總是False
5、eval(expression[,globals[,locals]])
用來將字符串str當(dāng)成有效的表達(dá)式來求值并返回計算結(jié)果,表達(dá)式解析參數(shù)expression并作為Python表達(dá)式進(jìn)行求值(從技術(shù)上說是一個條件列表),采用globals和locals字典作為全局和局部命名空間。
【常用的句式】
1、format字符串格式化
format把字符串當(dāng)成一個模板,通過傳入的參數(shù)進(jìn)行格式化,非常實用且強(qiáng)大。
2、連接字符串
常使用+連接兩個字符串。
3、if...else條件語句
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。其中if...else語句用來執(zhí)行需要判斷的情形。
4、for...in、while循環(huán)語句
循環(huán)語句就是遍歷一個序列,循環(huán)去執(zhí)行某個操作,Python中的循環(huán)語句有for和while。
5、import導(dǎo)入其他腳本的功能
有時需要使用另一個python文件中的腳本,這其實很簡單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。
概述
直接提取會報錯,把a(bǔ)rray數(shù)組轉(zhuǎn)換成list,即可提取,使用numpy轉(zhuǎn)換
步驟詳解
1、直接提取嘗試:
group=[[1,2],[2,3],[3,4]]
#提取第一列元素
print(group[:,1])
#Out:TypeError: list indices must be integers or slices, not tuple
2、使用numpy轉(zhuǎn)換:
import numpy as np
group=[[1,2],[2,3],[3,4]]
#numpy轉(zhuǎn)化
ar=np.array(group)
print(ar[:,1])
#Out:[2 3 4]
拓展內(nèi)容
numpy詳解
Numpy對象是數(shù)組,稱為ndarray?
維度(dimensions)稱作軸(axes),軸的個數(shù)叫做秩(rank)。注:有幾級中括號就有幾個維度
一、ndarray.attrs:
ndarray.ndim 秩
ndarray.shape 例如一個2排3列的矩陣,它的shape屬性是(2,3)
ndarray.size 數(shù)組元素的總個數(shù)
ndarray.dtype 元素類型,NumPy提供自己的數(shù)據(jù)類型
ndarray.itemsize 數(shù)組中每個元素的字節(jié)大小
二、數(shù)組創(chuàng)建函數(shù):
array
asarray將輸入轉(zhuǎn)換成ndarray
arange
ones
zeros
empty 只分配內(nèi)存空間不填充任何值
eye 創(chuàng)建N*N單位矩陣(對角線為1)
三、數(shù)組和標(biāo)量之間的運(yùn)算
numpy數(shù)組的一個特點(diǎn),不用編寫循環(huán)就可對數(shù)據(jù)執(zhí)行批量運(yùn)算,這通常稱作矢量化(vectorization)。
四、基本的索引和切片
numpy數(shù)組的索引是一個內(nèi)容豐富的主題,因為選取數(shù)據(jù)子集或單個元素的方式有很多。這里我僅詳細(xì)介紹常用的方法,對于高級功能的方式我列舉名稱,讀者可以等到要用的時候自行查閱資料。
clear?
close?all
%%%%%%%%%%%%%%%%%%%%%%%%%生成實驗數(shù)據(jù)集
rand('state',0)
sigma_matrix1=eye(2);
sigma_matrix2=50*eye(2);
u1=[0,0];
u2=[30,30];
m1=100;
m2=300;%樣本數(shù)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm1數(shù)據(jù)集
Y1=multivrandn(u1,m1,sigma_matrix1);
Y2=multivrandn(u2,m2,sigma_matrix2);
scatter(Y1(:,1),Y1(:,2),'bo')
hold?on
scatter(Y2(:,1),Y2(:,2),'r*')
title('SM1數(shù)據(jù)集')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm2數(shù)據(jù)集
u11=[0,0];
u22=[5,5];
u33=[10,10];
u44=[15,15];
m=600;
sigma_matrix3=2*eye(2);
Y11=multivrandn(u11,m,sigma_matrix3);
Y22=multivrandn(u22,m,sigma_matrix3);
Y33=multivrandn(u33,m,sigma_matrix3);
Y44=multivrandn(u44,m,sigma_matrix3);
figure(2)
scatter(Y11(:,1),Y11(:,2),'bo')
hold?on
scatter(Y22(:,1),Y22(:,2),'r*')
scatter(Y33(:,1),Y33(:,2),'go')
scatter(Y44(:,1),Y44(:,2),'c*')
title('SM2數(shù)據(jù)集')
end
function?Y?=?multivrandn(u,m,sigma_matrix)
%%生成指定均值和協(xié)方差矩陣的高斯數(shù)據(jù)
n=length(u);
c?=?chol(sigma_matrix);
X=randn(m,n);
Y=X*c+ones(m,1)*u;
end
網(wǎng)頁標(biāo)題:python的eye函數(shù) python eye函數(shù)
鏈接分享:http://chinadenli.net/article26/hhgcjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、小程序開發(fā)、企業(yè)建站、云服務(wù)器、定制網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)