Python中怎样计算矩阵按逐元素进行相乘???

1 # 对两个同维矩阵进行逐元素相乘
2 def matElementMul():
3     a=mat([[1,2,3],[4,5,6]]);
4     b=mat([[2,2,3],[2,4,1]]);
5     c=array(a)*array(b);
6     c=mat(c);
7     return c;

必须先将两个矩阵转化为数组形式,然后进行相乘,最后将数组转化为矩阵;

计算结果:

1 >>> c=matElementMul()
2 >>> c
3 matrix([[ 2,  4,  9],
4         [ 8, 20,  6]])
5 >>> 

注意::1.MATLAB的基本类型是矩阵,而numpy的基本类型是多为数组,把matrix看做是array的子类。2.MATLAB的索引从1开始,而numpy从0开始。

时间: 2024-10-22 08:57:27

Python中怎样计算矩阵按逐元素进行相乘???的相关文章

C++STL 中的线性容器整体/逐元素操作方法 少写80%for循环

本文中示例代码默认已引用 std 命名空间 累加 (std::accumulate) accumulate(begin, end, init, op) 返回给定区间内元素的累加值与给定初值的和,初值不可省略 可指定求和运算,默认为std::plus vector<int>vec = {1, 2, 3, 4}; cout<<accumulate(vec.begin(), vec.end(), 0); //累加, 输出: 10 cout<<accumulate(vec.be

Python使用shape计算矩阵的行和列

shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度. 1 >>> a=mat([[1,2,3],[5,6,9]]); 2 >>> a 3 matrix([[1, 2, 3], 4 [5, 6, 9]]) 5 >>> shape(a)[0] 6 2 7 >>> shape(a)[1] 8 3 如上面的a矩阵,2行3列;计算行使用shape(a)[0];计算列使用shape(a)[1];

python中通过selenium简单操作及元素定位

浏览器的简单操作 # 导入webdriver模块 # 创建driver对象,指定Chrome浏览器 driver = webdriver.Chrome() # 窗口最大化 driver.maximize_window() # 访问百度 driver.get("http://baidu.com") driver.get("http://sina.com") # 后退 driver.back() # 前进 driver.forward() # 刷新 driver.ref

python中数学计算

用python实现排列组合C(n,m) = n!/m!*(n-m)! def get_value(n): if n==1: return n else: return n * get_value(n-1) def gen_last_value(n,m): first = get_value(n) second = get_value(m) third = get_value((n-m)) return first/(second * third)

Python中怎样计算两个向量的内积??

1 >>> a=mat([[1],[2],[3]]); 2 >>> b=mat([[0],[2],[3]]); 3 >>> a 4 matrix([[1], 5 [2], 6 [3]]) 7 >>> b 8 matrix([[0], 9 [2], 10 [3]]) 11 >>> a.T*b 12 matrix([[13]]) 上面为两个列向量的内积计算,注意列向量的构建a=mat([[1],[2],[3]]); 下面

python.numpy.std()计算矩阵标准差

1 >>> a = np.array([[1, 2], [3, 4]]) 2 >>> np.std(a) # 计算全局标准差 3 1.1180339887498949 4 >>> np.std(a, axis=0) # axis=0计算每一列的标准差 5 array([ 1., 1.]) 6 >>> np.std(a, axis=1) # 计算每一行的标准差 7 array([ 0.5, 0.5]) 原文地址:https://www.

对于python中的方法find的一些疑问

我们知道python中方法find是可以通过元素查找其索引的,我在一个字符串里设置了多个相同的元素具体可看下面的代码,然后使用方法find去查看d的索引, 它给我返回了0,然后我就以为如果字符串里有多个相同的元素方法find会给你返回它遇到的第一个你想要的元素的索引,可是第二次的实验却将我的理解推 翻了,第二次实验我想找到dqwd的索引,可以看出这里如果按照我第一次实验的猜想,完全可以返回给我0,可是不知道为什么它却给我返回了3,虽然索引 为3也是正确的,但是为什么不会给我返回0呢?希望各位前辈

matlab中怎样计算某元素是否在某个集合中??

Python中可以使用in来判断某元素是否在集合中,而matlab中使用ismember(a,A)函数,判断元素a是否在集合A中 1 >> a=[1,2,3]; 2 >> ismember(1,a) 3 4 ans = 5 6 1 7 8 >> ismember(5,a) 9 10 ans = 11 12 0 集合可以为向量,也可以为一个矩阵,上面例子集合为一个向量,下面例子集合为一个矩阵 1 >> b=[1,2,3;4,5,3;7,8,7]; 2 >

python中的矩阵、多维数组----numpy

1. 引言 最近在将一个算法由matlab转成python,初学python,很多地方还不熟悉,总体感觉就是上手容易,实际上很优雅地用python还是蛮难的.目前为止,觉得就算法仿真研究而言,还是matlab用得特别舒服,可能是比较熟悉的缘故吧.matlab直接集成了很多算法工具箱,函数查询.调用.变量查询等非常方便,或许以后用久了python也会感觉很好用.与python相比,最喜欢的莫过于可以直接选中某段代码执行了,操作方便,python也可以实现,就是感觉不是很方便. 言归正传,做算法要用