登录论坛

查看完整版本 : 当期望值向量时,运算会返回标量值


poster
2019-12-14, 20:13
我正在评估一个简单的功能:

y = (2*x)/sqrt( 1 + x.^2 ); 其中x是其中包含约100个值的向量。但是,在这种情况下,MATLAB使y等于单个标量值。如果我做:

y = 2*x; 我得到了一个y值的向量,正如预期的那样。如果我做:

y = x.^2; 我也得到了y中值的向量。

为什么上面的方程y = (2*x)/sqrt( 1 + x.^2 );给一个单一的价值,而不是价值的载体?



回答:

操作B/A (给定B = 2*x并且A = sqrt(1+x.^2) )将尝试执行矩阵右除法 (http://www.mathworks.com/help/techdoc/ref/mrdivide.html) ,对于行向量x将是对矩阵 (http://www.mathworks.com/help/techdoc/ref/mrdivide.html)最小二乘的解。方程组yA = B ,得出y的标量值。

对于按元素进行数组划分 (http://www.mathworks.com/help/techdoc/ref/arithmeticoperators.html) , B./A改为执行操作B./A (请注意. )。



更多&回答... (https://stackoverflow.com/questions/4801261)