[已答复] MATLAB矩阵相除

[复制链接]
xbzq 发表于 2012-6-6 19:38:54
有变量A 假设它有3行2列,变量B有1行2列,怎么让A中第一列的每个元素除以B的第1列的数,A中第二列的每个元素除以B的第二列的数,能不能不拆开算,要同时算,

12 条回复


xbzq 发表于 2012-6-6 19:46:09

RE: 小问题

有没有人会啊?急需帮助啊

kaaaf123 发表于 2012-6-6 21:27:59
a/diag(b),帖子长度不够

方封 发表于 2012-6-6 21:33:13
A=[1 1;2 2;3 3];
>> B=[1 2];
>> v=[A(:,1)/B(:,1)      A(:,2)/B(:,2)]
v =
                         1                       0.5
                         2                         1
                         3                       1.5

kaaaf123 发表于 2012-6-6 21:42:08
如果版本不是特别老的话,还可以这样:
bsxfun(@rdivide,a,b)

helixwmonkey 发表于 2012-6-6 22:45:27
  1. A./repmat(B,3,1)
复制代码

honglei.chen 发表于 2012-6-7 01:08:36
A*diag(1./B)

honglei.chen 发表于 2012-6-8 10:51:28
diag(B)\A

xbzq 发表于 2012-6-8 18:24:04
算法思路看来有很多,我还得继续学习:D:D

xbzq 发表于 2012-6-8 18:35:31
honglei.chen 发表于 2012-6-8 10:51
diag(B)\A

这个运行不了,上面那个可以

xbzq 发表于 2012-6-8 18:47:30
kaaaf123 发表于 2012-6-6 21:27
a/diag(b),帖子长度不够

怎么想到的,还是线性代数的东东

honglei.chen 发表于 2012-6-8 23:06:32
xbzq 发表于 2012-6-8 18:35
这个运行不了,上面那个可以

抱歉,忘了A不是正方形了

(diag(b)\a.').'

gnnaaayyyy 发表于 2012-6-9 21:46:10
还有一个笨方法:把B扩展到和A一样长度,再作除法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表