matlab 矩阵除法

2025-02-25 13:14:15
推荐回答(4个)
回答1:

Matlab中有两种矩阵除法符号:“\”即左除和“/”即右除.如果A矩阵是非奇异方阵,则A\B是A的逆矩阵乘B,即inv(A)*B;而B/A是B乘A的逆矩阵,即B*inv(A).具体计算时可不用逆矩阵而直接计算.

通常:

x=A\B就是A*x=B的解;

x=B/A就是x*A=B的解.

当B与A矩阵行数相等可进行左除.如果A是方阵,用高斯消元法分解因数.解方程:A*x(:, j)=B(:, j),式中的(:, j)表示B矩阵的第j列,返回的结果x具有与B矩阵相同的阶数,如果A是奇异矩阵将给出警告信息.

如果A矩阵不是方阵,可由以列为基准的Householder正交分解法分解,这种分解法可以解决在最小二乘法中的欠定方程或超定方程,结果是m×n的x矩阵.m是A矩阵的列数,n是B矩阵的列数.每个矩阵的列向量最多有k个非零元素,k 是A的有效秩.

回答2:

加点(.)是对每个元素运算
你如果直接/,matlab知道这个标量要除以那个矩阵元素哪?

当然要./,指标量对每个矩阵元素都做一次除法,
也就是你要的结果了.

类似还有.*和*

回答3:

F=G*M*m./r.^2(这样就可以了。
标量除以矩阵需要./

回答4:

M,m,G是数值,而r是数组。只能用点除。所以F=G*M*m/r.^2是错的。