问答详情

python矩阵和数组区别是什么

267次观看
标签: 数组 矩阵 区别
老师回答

1、mat()函数与array()函数生成矩阵所需的数据格式有区别

(1) mat()函数中数据可以为字符串以分号(;)分割,或者为列表形式以逗号(,)分割。而array()函数中数据只能为后者形式。

如mat()函数生成矩阵时一下两种方式都正确。

(2) 而array()函数生成矩阵时数据只能为列表形式。

2、mat()函数与array()函数生成的矩阵计算方式不同

(1) mat()函数中矩阵的乘积可以使用(星号) *  或 .dot()函数,其结果相同。而矩阵对应位置元素相乘需调用numpy.multiply()函数。

(2) array()函数中矩阵的乘积只能使用 .dot()函数。而星号乘 (*)则表示矩阵对应位置元素相乘,与numpy.multiply()函数结果相同。

如生成以下矩阵:

a = numpy.mat([[1, 3], [5, 7]])
b = numpy.mat([[2, 4], [6, 8]])
c = numpy.array([[1, 3], [5, 7]])
d = numpy.array([[2, 4], [6, 8]])

则 a * b = a.dot(b) = c.dot(d) ,其表示矩阵相乘。

而 numpy.multiply(a, b) = c * d = numpy.multiply(c, d) ,其表示矩阵对应位置元素相乘。

python学习网,免费的在线学习python平台,欢迎关注!

免费直播

    精选课程
    相关推荐
    Python与C语言有哪些区别?
    许老师 Python编程

    一、言语类型Python是一种基于解说器的言语,解说器会逐行读取代码;首先将Python编译为字节码,然后由大型C程序解说;C是一种编译言语,完好的源代码将直接编译为机器代码,由CPU直接履行。

    二、内存办理Python运用主动废物收集器进行内存办理;在C言语中,程序员有必要自己进行内存办理。

    三、运用Python是一种通用编程言语,一个多范式。它首要支持面向目标编程,程序编程,函数编程。C是结构化编程言语。答应运用函数,挑选(if / else等),迭代(循环)。它首要用于硬件相关的运用程序。

    四、速度Python编程言语因为前史原因,有一个GIL锁,导致其对多线程支持不够好,运转速度较慢;而C言语很快,C言语是比较底层的言语,运转效率上要优于Python。

    五、复杂度不一样在Python中不需要声明变量类型。而在C中有必要声明变量类型。Python程序更易于学习,编写和阅读。而C程序语法比Python更难。Python中的测验和调试更容易;而在C中测验和调试更难。Python相对其他言语而言是非常简单的言语,高度集成,代码量少。C是静态言语在变量在运用前进行声明,而Python是动态言语在运用的时候可以直接运用不需要声明,C里面没有目标而Python里面是有目标。C言语在运转的时候是需要编译然后运转,而Python是直接run的。

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司