Matlab矢量划分:我想知道matlab是如何划分这两个向量的

lsmepo6l  于 7个月前  发布在  Matlab
关注(0)|答案(1)|浏览(104)

我在Matlab上做了一些编程,我偶然发现了代码中的这一部分:
[1 1 1 1 1 1 1 1]/[ 1 3 4 7 9 11 13 15]
ans = 0.0939
我想知道它到底是怎么计算这个除法的
谢谢你的时间
我试着一个元素一个元素地除,我试着对每个向量的元素求和,再除以它

wgeznvg7

wgeznvg71#

/运算符是mrdivide的别名,它有documentation
x = B/A求解线性方程组x*A = B。矩阵A和B必须包含相同的列数。如果A缩放不好或接近奇异,MATLAB®会显示警告消息,但无论如何都会执行计算。

  • 如果A是标量,则B/A等价于B./A。
  • 如果A是一个n乘n的方阵,B是一个n列矩阵,那么x = B/A是方程x*A = B的解,如果它存在的话。
    如果A是一个m × n的矩形矩阵,m ~= n,B是一个n列矩阵,则x = B/A返回方程组xA = B的最小二乘解。

强调我的,对于你所展示的情况,其中A是一个矩形m乘n矩阵(m=1,n=8),B是一个n=8列的矩阵。
所以你的结果是“* 系统x*A=B * 的最小二乘解",其中你有x=0.0939
你可以把它想象成找到

norm([1 1 1 1 1 1 1 1] - X*[ 1 3 4 7 9 11 13 15])

x = 0:0.001:0.3;
y = arrayfun( @(X) norm([1 1 1 1 1 1 1 1] - X*[ 1 3 4 7 9 11 13 15]), x );
figure; plot( x, y )

(Note MATLAB并没有在引擎盖下做这个图,这纯粹是一个可视化来说服你自己操作代表什么)

相关问题