矩阵

numpy 如何指定矩阵中输出的小数位数

╄→尐↘猪︶ㄣ 提交于 2020-01-16 02:32:41
如果有一个小数位很多的矩阵,我们希望只显示前某几位,该怎么办? ```python import numpy as np a=np.array([[1.123,2.123,3.123],[4.456,5.456,6.456],[7.789,8.789,9.789]]) print(a.round(0))#显示整数部分 print(a.round(1))#显示一位小数 输出结果: ```python ```python [[ 1. 2. 3.] [ 4. 5. 6.] [ 8. 9. 10.]] [[1.1 2.1 3.1] [4.5 5.5 6.5] [7.8 8.8 9.8]] 来源: CSDN 作者: thompson_wang 链接: https://blog.csdn.net/Jinyindao243052/article/details/103987460

【花书笔记】第2章 线性代数

久未见 提交于 2020-01-16 02:02:57
本系列博客作为记录花书的一些知识点,一些“显而易见”的,我就不多写了 2.1 标量、向量、矩阵和张量 标量:一个单独的数。 向量:一列数。 矩阵:一个二维数组。 张量:一个数组中的元素分布在若干维坐标的规则网络中,我们称之为张量。 转置:矩阵的转置是以对角线为轴的镜像。 2.2 矩阵和向量相乘 矩阵乘积: 元素对应乘积(Hadamard乘积):两个矩阵的标准乘积不是指两个矩阵中对应元素的乘积。不过,那样的矩阵操作确实是存在的,被称为元素对应乘积(element-wise product)或者Hadamard 乘积(Hadamard product),记为 A ⊙ B。 点积:两个相同维数的向量 x 和 y 的点积(dot product)可看作是矩阵乘积 x ⊤ y。 2.3 单位矩阵和逆矩阵 单位矩阵: 逆矩阵: 2.4 线性相关和生成子空间 线性相关: 线性无关:如果一组向量中的任意一个向量都不能表示成其他向量的线性组合,那么这组向量称为线性无关。 2.5 范数 1. 2.范数是满足下列性质的任意函数: 3.p=2时,L²范数是欧几里得范数,表示从原点出发到向量x确定的点的欧几里得距离。 4.平方L²范数也经常用来衡量向量的大小,可以简单的通过点积 计算。 5.平方L²范数在计算上比L²范数本身方便,但是它在原点附近增长得十分缓慢。在某些机器学习应用中

CAD关于编辑实体操作(com接口网页版)

爷,独闯天下 提交于 2020-01-15 20:57:44
我们提供了,复制,移动,缩放,变换,镜向等编辑实体函数,详细如下图: 下面js代码,把实体从一个点,移到另一个点. // 让用户在图上选择一个对象。 var ent = mxOcx.GetEntity("选择实体"); if (ent == null) return; // 移动实体 // 移动基点 var ptBase = mxOcx.NewPoint(); ptBase.x = 0; ptBase.y = 0; // 移动到点. var ptMoveTo = mxOcx.NewPoint(); ptMoveTo.x = 100; ptMoveTo.y = 100; ent.Move(ptBase, ptMoveTo); 调用TransformBy函数,可以构建一个坐标变换矩阵,然后对实体进行变换。 下面js代码,选对实体进行缩放,然后再移动: // 让用户在图上选择一个对象。 var ent = mxOcx.GetEntity("选择实体"); if (ent == null) return; // 创建一个移动矩阵 var movdMat = mxOcx.NewComObject("IMxDrawMatrix3d"); // 移动向量。,100,100相当于向右,向上移动100. var offset = mxOcx.NewComObject("IMxDrawVector3d

Python使用小结

。_饼干妹妹 提交于 2020-01-15 20:55:42
初始化 Numpy中提供了zero(),ones(),empty()分别让在向量初始化时置为0、置为1和置为空 矩阵相乘 尽量使用np中三角函数,如np.cos(),np.sin()等等。 你需要在下面的代码里面主要到这些点: (1):np.dot()如果碰到的是秩为1的数组,那么执行的是对应位置的元素相乘再相加;如果遇到的是秩不为1的数组,那么执行的是矩阵相乘。但是需要注意的是矩阵与矩阵相乘是秩为2,矩阵和向量相乘秩为1。 (2):np.multiply()表示的是数组和矩阵对应位置相乘,输出和输出的结果shape一致。 (3):np.outer()表示的是两个向量相乘,拿第一个向量的元素分别与第二个向量所有元素相乘得到结果的一行。 (4):*对数组执行的是对应位置相乘,对矩阵执行的是矩阵相乘。 绘图 绘制三维图导入的包包括以下几个,尤其是第一个包 from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt 绘图的所有色彩参考如下: cnames = { 'aliceblue': '#F0F8FF', 'antiquewhite': '#FAEBD7', 'aqua': '#00FFFF', 'aquamarine': '#7FFFD4', 'azure':

numpy中shape的部分解释

你。 提交于 2020-01-15 11:58:34
转载自:https://blog.csdn.net/qq_28618765/article/details/78081959和https://www.jianshu.com/p/e083512e4f4c shape函数是numpy.core.fromnumeric中的函数,它的功能是 读取矩阵的长度 ,比如shape[0]就是读取矩阵第一 维度 的长度。 shape的输入参数可以是一个整数(表示维度),也可以是一个矩阵。 参数是一个数时小括号内没有矩阵符号中括号[],返回空: >>> import numpy as np >>> np.shape(0) () 参数是一维矩阵(一个[]): >>> import numpy as np >>> np.shape([1]) (1,) >>> np.shape([1, 2]) (2,) 参数是二维矩阵(两个[]): >>> import numpy as np >>> np.shape([[1],[2]]) (2, 1) >>> np.shape([[1, 2], [2, 3], [3, 4]]) (3, 2) 直接用.shape可以快速读取矩阵的形状,使用shape[0]读取矩阵第一 维度 的长度 >>> import numpy as np >>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8,

2.6 矩阵的初等变换

[亡魂溺海] 提交于 2020-01-15 10:26:33
文章目录 初等变换:行、列 定理 等价 性质 初等方阵 初等方阵与初等变换的关系 三种初等方阵的行列式、逆矩阵 定理 初等矩阵的作用 定理 A可逆条件总结 初等变换法求逆矩阵 初等行变换法(只做行变换) 参考 初等变换:行、列 下面是三种初等行变换,列变换与行变换一样也是三种。 初等变换的本质是:对矩阵的变化 只有当矩阵A为方阵时,初等变换才会和行列式产生联系 定理 任何矩阵都能通过初等变换化为标准型 化为标准型的处理过程为: 先处理第一列 等价 性质 反身性、对称性、传递性、任何矩阵都等价于一个标准型 初等方阵 有以下三种初等方阵 初等方阵与初等变换的关系 初等变换表示的是对矩阵的变换,而初等方阵就是一个实实在在的矩阵 三种初等方阵的行列式、逆矩阵 定理 左乘一个初等方阵相当于实施行变换,右乘一个初等方阵相当于实施列变换。 初等矩阵的作用 初等矩阵可以将初等变换的“动作”(箭头表示)转换为一个等式“=”,数学喜欢用等式 定理 任意矩阵A都可以通过左乘右乘初等矩阵化为标准型 推论:A、B等价的充要条件是存在可逆矩阵P、Q使得 P A Q = B PAQ=B P A Q = B 如果A可逆则A可以表示成数个初等矩阵相乘 A可逆条件总结 初等变换法求逆矩阵 初等行变换法(只做行变换) 对A和E同时做初等行变换,当A化成E时,E同时就化成了A逆 如果矩阵行列式本来是0

将普通二维数组转化为vector存储形式

假装没事ソ 提交于 2020-01-15 05:18:32
vector < vector < int > > nums ( row , vector < int > ( col ) ) ; //在vextor中申请一个row行,col列的nums动态数组 vector < int > v ; nums . clear ( ) ; //一定要clear一下,不然会有很多nums会是0构成; for ( int i = 0 ; i < m . row ; i ++ ) { v . clear ( ) ; for ( int j = 0 ; j < m . col ; j ++ ) { v . push_back ( array [ i ] [ j ] ) ; //array就是我们要转化的数组 } nums . push_back ( v ) ; } 来源: CSDN 作者: 北朽暖栀24 链接: https://blog.csdn.net/weixin_43484977/article/details/103749017

总结:numpy中三个乘法运算multiply,dot和* 的区别

人走茶凉 提交于 2020-01-14 23:57:23
引言: 本人在做机器学习的练习1的时候,时常抛出错误: Not aligned是什么意思呢? 意思是两个矩阵相乘无意义。 线性代数中mxn 和 nxp的矩阵才能相乘,其结果是mxp的矩阵。 出错源代码: def gradientDescent(X,y,theta,alpha,iteration): colunms = int(theta.ravel().shape[1]) thetai = np.matrix(np.zeros(theta.shape)) cost = np.zeros(iteration) for i in range(iteration): error = X*theta.T-y for j in range(colunms): a = np.sum(error*X[:,j])/len(X) ########## error! thetai[0,j] = thetai[0,j] - alpha*a theta = thetai cost[i] = computeCost(X, y, theta) return theta,cost 这里error是一个nx1的矩阵,theta.T也是一个nx1的矩阵。 而矩阵之间*运算符表示矩阵乘法。我们这里想实现矩阵的对应元素相乘,因此应该用np.multiply()实现。 总结: (读者可使用简单的举例自行验证) 1.*用法

C/C++二维数组名和二级指针

柔情痞子 提交于 2020-01-14 06:33:15
转载 : https://blog.csdn.net/wu_nan_nan/article/details/51741030 作者:吴一奇 1. 指针 1.1 一个指针包含两方面:a) 地址值;b) 所指向的数据类型。 1.2 解引用操作符(dereference operator)会根据指针当前的地址值,以及所指向的数据类型,访问一块连续的内存空间(大小由指针所指向的数据类型决定),将这块空间的内容转换成相应的数据类型,并返回左值。 有时候,两个指针的值相同,但数据类型不同,解引用取到的值也是不同的,例如, char str[] ={0, 1, 2, 3}; /* 以字符的ASCII码初始化 */ char * pc = &str[0]; /* pc指向str[0],即0 */ int * pi = (int *) pc; /* 指针的“值”是个地址,32位。 */    此时,pc和pi同时指向str[0],但*pc的值为0(即,ASCII码值为0的字符);而*pi的值为50462976。或许把它写成十六进制会更容易理解:0x03020100(4个字节分别为3,2,1,0)。我想你已经明白了,指针pi指向的类型为int,因此在解引用时,需要访问4个字节的连续空间,并将其转换为int返回。 2. 数组 2.1 数组名和指针 通常我们认为数组名是一个指针常量(例如,int a[10

机器学习相关参考

混江龙づ霸主 提交于 2020-01-14 05:30:23
特征工程相关 特征选择 特证工程学习笔记 Feature-Engineering中文版 缺失值填充方法 机器学习_数据处理及模型评估相关资料 训练模型填充空值(fill null)的几种方法 范数 0范数,1范数,2范数的几何意义 机器学习中的范数规则化之(一)L0、L1与L2范数 矩阵 Matrix calculus(矩阵微积分)关于矩阵求导 如何理解相似矩阵 矩阵求导术(上) 矩阵求导术(下) 孟岩的理解矩阵(一)(二)(三)(辅助理解) https://blog.csdn.net/myan/article/details/647511 https://blog.csdn.net/myan/article/details/649018 https://blog.csdn.net/myan/article/details/1865397 如何理解矩阵特征值 奇异值分解SVD 矩阵求导、几种重要的矩阵及常用的矩阵求导公式 Scalar-by-vector identities 高数&算法 马同学高等数学 牛顿法 逻辑回归 深入理解SVM之对偶问题 EM算法 支持向量机(强烈推荐) others 西瓜书第3,6,10详细讲解 来源: CSDN 作者: whime_sakura 链接: https://blog.csdn.net/whimewcm/article/details