c语言生成随机数矩阵,随机数法生成矩阵导读:numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包 , 其提供了矩阵运算的功能 。 本文带你了解Numpy的一些核心知识点 。
如需转载请联系华章科技
Numpy提供的主要功能具体如下:
除了明显的科学计算用途之外 , Numpy还可以用作通用数据的高效多维容器 , 定义任意的数据类型 。 这些都使得Numpy能够无缝、快速地与各种数据库集成 。
提示:这里提到的“广播”可以这么理解:当两个维度不同的数组(array)运算的时候 , 可以将低维的数组复制成高维数组参与运算(因为Numpy运算的时候需要结构相同) 。
在学习图像识别的过程中 , 需要将图片转换为矩阵 。 即将对图片的处理简化为向量空间中的向量运算 。 基于向量运算 , 我们就可以实现图像的识别 。
一个班级里学生的学号可以通过一维数组来表示 , 数组名为a , 数组a中存储的是数值类型的数据 , 分别是1 , 2 , 3 , 4 。
其中 , a[0]代表的是第一个学生的学号1 , a[1]代表的是第二个学生的学号2 , 以此类推 。
一个班级里学生的学号和姓名 , 可以用二维数组来表示 , 数组名为b 。
类似的 , 其中b[0,0]代表的就是1(学号) , b[0,1]代表的就是Tim(学号为1的学生的名字) , 以此类推b[1,0]代表的是2(学号)等 。
借用线性代数的说法 , 一维数组通常称为向量(vector) , 二维数组通常称为矩阵(matrix) 。
当我们安装完Anaconda之后 , 默认情况下Numpy已经在库中了 , 所以不需要额外安装 。 下面我们来写一些语句简单测试下Numpy库 。
【c语言生成随机数矩阵,随机数法生成矩阵】1)在Anaconda的Notebook里输入
import numpy as np之后 , 通过键盘按住Shift+Enter执行 , 如果没有报错 , 则说明Numpy已被正常引入 , 如图2-7所示 。
▲图2-7 在Notebook中引入Numpy
稍微解释下这条语句:通过import关键字将Numpy库引入 , 然后通过as为其取一个别名np , 别名的作用是为了便于后续引用 。
2)Numpy中的array()可以直接导入向量 , 代码如下:
vector = np.array([1,2,3,4])3)numpy.array()方法也可以导入矩阵 , 代码如下:
matrix = np.array([[1,'Tim'],[2,'Joey'],[3,'Johnny'],[4,'Frank']])02 创建Numpy数组我们可以通过创建Python列表(list)的方式来创建Numpy矩阵 , 比如输入
nparray = np.array([i for i in range(10)])可以看到返回的结果是
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9])同样 , 也可以通过Python列表的方式来修改值 , 比如输入
nparray[0] = 10再来观察nparray的向量内容就会发现返回的结果是
array([ 10, 1, 2, 3, 4, 5, 6, 7, 8, 9])Numpy数组还封装了其他方法来创建矩阵 。 首先 , 我们介绍第一个方法np.zeros(从命名规则来看 , 这个方法就是用来创建数值都为0的向量) , 比如 , 我们输入:
a = np.zeros(10)可以看到结果为:
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])从上述结果可以看出 , 每一个0后面都有一个小数点 , 调用a.dtype会发现我们创建的这个向量的类型为dtype(‘float64’) 。 值得注意的是:在大部分图像识别算法开发中 , 我们使用的都是float64这个类型 。 如果希望在创建Numpy矩阵的时候强制规定一种类型 , 那么我们可以使用以下代码:
np.zeros(10,dtype=int)这样 , 返回的结果在矩阵中的数据就都是整型0了 。 介绍完使用zeros方法创建向量之后 , 再来看看如何创建一个多维矩阵 。 我们可以使用传入元组的方式 , 代码如下:
- c语言用什么软件编辑,查找c语言答案的软件
- c语言比较三个数大小输出最小数,三个数比大小c语言输出最大值
- c语言强制类型转换详解,c语言类型转换注意点
- 瑞士说什么语言
- 河北省高考8624名考生成绩为0分,其中文科6475名,理科2149。你怎么看?
- 感谢教师节感恩老师的语言
- 汉语言文学专业就业方向 毕业后做什么工作
- 千万别学汉语言文学专业为什么 就业前景怎么样
- 最能打动人心的情话 爱情语言经典表白短句
- 南非官方语言介绍
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
