大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有阶乘函数,Numpy中,mat必须是2维的,但是array可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。
成都创新互联主营南陵网站建设的网络公司,主营网站建设方案,成都App制作,南陵h5微信小程序开发搭建,南陵网站营销推广欢迎南陵等地区企业咨询
在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是矩阵积。
若a=mat([1,2,3]) 是矩阵,则 a.A 则转换成了数组,反之,a.M则转换成了矩阵。
扩展资料:
常用的Numpy运算:
取矩阵中的某一行 ss[1,:] 或该行的某两列 ss[1,0:2]
将数组转换成矩阵 randMat=mat(random.rand(4,4))
矩阵求逆 randMat.I
单位阵 eye(4)
零矩阵 zeros((x,y)) 建立x行y列的零矩阵。
最大值和最小值 a.max(),a.min() ,而a.max(0) 表示按列选取每列的最大值。最大/小元素的下标 a.argmax(),a.argmin()
#作为方法x.sum() #所有元素相加x.sum(axis=0) #按列相加x.sum(axis=1) #按行相加#作为函数sum(a,axis=0)ss.mean()
mean(a,axis=0(或1)) #按列或行求均值var(a)var(a,axis=0(或1)) #按列或行求方差。
std(a)std(a,axis=0(或1)) #按列或行求标准差ss.T或ss.transpose() #转置。
clear
close all
%%%%%%%%%%%%%%%%%%%%%%%%%生成实验数据集
rand('state',0)
sigma_matrix1=eye(2);
sigma_matrix2=50*eye(2);
u1=[0,0];
u2=[30,30];
m1=100;
m2=300;%样本数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm1数据集
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数据集')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm2数据集
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数据集')
end
function Y = multivrandn(u,m,sigma_matrix)
%%生成指定均值和协方差矩阵的高斯数据
n=length(u);
c = chol(sigma_matrix);
X=randn(m,n);
Y=X*c+ones(m,1)*u;
end
概述
直接提取会报错,把array数组转换成list,即可提取,使用numpy转换
步骤详解
1、直接提取尝试:
group=[[1,2],[2,3],[3,4]]
#提取第一列元素
print(group[:,1])
#Out:TypeError: list indices must be integers or slices, not tuple
2、使用numpy转换:
import numpy as np
group=[[1,2],[2,3],[3,4]]
#numpy转化
ar=np.array(group)
print(ar[:,1])
#Out:[2 3 4]
拓展内容
numpy详解
Numpy对象是数组,称为ndarray
维度(dimensions)称作轴(axes),轴的个数叫做秩(rank)。注:有几级中括号就有几个维度
一、ndarray.attrs:
ndarray.ndim 秩
ndarray.shape 例如一个2排3列的矩阵,它的shape属性是(2,3)
ndarray.size 数组元素的总个数
ndarray.dtype 元素类型,NumPy提供自己的数据类型
ndarray.itemsize 数组中每个元素的字节大小
二、数组创建函数:
array
asarray将输入转换成ndarray
arange
ones
zeros
empty 只分配内存空间不填充任何值
eye 创建N*N单位矩阵(对角线为1)
三、数组和标量之间的运算
numpy数组的一个特点,不用编写循环就可对数据执行批量运算,这通常称作矢量化(vectorization)。
四、基本的索引和切片
numpy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多。这里我仅详细介绍常用的方法,对于高级功能的方式我列举名称,读者可以等到要用的时候自行查阅资料。