为什么我在matlab中计算向量的点乘时会出现i平方等于1呢?不是该等于-1吗?

如: a=[i]
b=dot(a,a)
运行结果为1,
a=[i;1]
b=[i;0]
c=dot(a,b)
运行结果也为1,
不应该啊
难道是我对点乘的理解有误?

是的,你对数量积的理解是有点问题
你输入:a=[i],相当于:a=[0,1]
在数学里就是:a=(0,1),a·a=(0,1)·(0,1)=1,i^2=-1是复数运算规则
向量里则不同
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-27
因为matlab计算点积时对其中一个向量采用了共轭,所以这两种方法出来的都是1

为什么我在matlab中计算向量的点乘时会出现i平方等于1呢?不是该等于...
是的,你对数量积的理解是有点问题 你输入:a=[i],相当于:a=[0,1]在数学里就是:a=(0,1),a·a=(0,1)·(0,1)=1,i^2=-1是复数运算规则 向量里则不同

Matlab中复数向量的点乘怎么理解?
MATLAB中两个向量.*运算,要两个向量长度一样,然后元素一一对应的乘,结果长度也一样。与数学上的向量点乘是不同的。数学上的乘在MATLAB中就是各分量组成向量,点乘再求和。两个复数比如(a+bi)点乘(c+di),在matlab中就是sum([a,b].*[c,d])...

1的平方等于-1吗?
因此,1的平方等于1,而不是-1。

i的平方等于-1吗?
i是规定的-1的平方根,用于解决复数开平方的问题,被称为“虚数”。

matlab中,我用一个数乘或者点乘一个矩阵的时候,每次都报错,说是矩阵维...
一个数和矩阵相乘直接用称号就可以了, 不需要点乘。你那报错说明你是在用矩阵和矩阵相乘,那么你要检查一下两个矩阵的维数了。对已乘号,第一个矩阵的列数必须等于第二个矩阵的行数;对于点乘,两个矩阵的维数必须完全一样。

为什么在matlab里计算自由落体的公式要用点乘(.*)
为什么在matlab里计算自由落体的公式要用点乘(.*),这是因为时间t为一组向量,如t=0:0.5:10,所以计算 x 一组向量应采用点乘运算。【说明】:点乘适应于向量运算,而(n×n)矩阵与(n×n)矩阵相乘就不用点乘符号。

matlab中的点乘和乘是一样的吗?
点乘和乘是两种不同的矩阵计算符号。点乘表示两个矩阵对应位置元素相乘,所以这两个矩阵应该是尺寸等大的(这里不是说元素等大,而是行列数分别相等,都是m行n列的矩阵)。例如:>> a = [1 2 3;2 3 4];>> b = [1 2 3;2 3 4];>> a.*b ans =1 4 94 9 16 >> c = [1 2 ...

怎么在MATLAB中画一个比较复杂的函数?
首先,你不清楚一个问题,matlab中认为所有的数据都是矩阵,因此在你进行操作的时候,也必须清楚这个概念,画图的时候,x是一个向量,因此后边的表达式应该是向量表达式,也就是说使用的是很向量操作,那么你就不能使用这种操作方式,向量的乘法分为点乘和矩阵乘法,你需要的是点乘,运算的时候必须使用'.'...

在Matlab中(-1).^(i-1).\/i啥意思?
这是数组运算式,这里的(.)小圆点是点运算符,点运算符有三种点乘(.*)、点除(.\/)、点乘方(.^)。对于上式是这样计算的。>> i=1:10;>> (-1).^(i-1).\/i 其运行结果

MATLAB中平方的输入方法是什么?
在进行平方运算时,确保操作数是数值类型,否则可能会得到错误的结果。此外,对于符号运算,需要确保已经正确安装了相应的工具箱。总结来说,MATLAB中计算平方的方法多样且灵活,可以根据具体需求和场景选择合适的方法。无论是使用符号运算工具箱、点乘运算符还是内置函数,都能实现平方运算的目的。

相似回答
大家正在搜