给定代码:
A = [1 2 3; 3 2 1]
B = A.^2输出:
B =
1 4 9
9 4 1但是如果我这样做:B = A^2
输出为:
Error using ^
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.运算符.具体做什么?
发布于 2012-06-02 13:05:44
点本身不是运算符,.^是运算符。
.^是一种逐点(即按元素)的能力,因为.*是pointwise product。
.^
阵列电源。
A.^B是元素为A(i,j)的B(i,j)幂的矩阵。A和B的大小必须相同或兼容。
C.f.
http://www.glue.umd.edu/afs/glue.umd.edu/system/info/olh/Numerical/Matlab_Matrix_Manipulation_Software/Matrix_Vector_Operations/elementwise:
?)因此有点。
发布于 2017-01-24 19:37:08
MATLAB文档中有一个专门针对此主题的完整页面:Array vs. Matrix Operations。其要点如下:
MATLAB®有两种不同类型的算术运算:数组运算和矩阵运算__。您可以使用这些算术运算来执行数值计算,例如,将两个数字相加,将数组的元素乘以给定的幂,或者将两个矩阵相乘。
矩阵运算遵循线性代数的规则。相比之下,数组操作执行逐个元素的操作,并支持多维数组。句点字符(.__)将数组运算与矩阵运算区分开来。但是,由于加法和减法的矩阵和数组操作是相同的,因此不需要字符对.+和.-。
https://stackoverflow.com/questions/10859917
复制相似问题