Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-15, 14:57   #1
kobe-feixia
初级会员
 
注册日期: 2009-04-13
年龄: 38
帖子: 3
声望力: 0
kobe-feixia 正向着好的方向发展
默认 matlab菜鸟请教矩阵乘法 神奇的错误

有3个7728×8的矩阵r,g,b我想把每个r的前5列×4,g的前5列×2,b的前5列×1之和赋给w1,w2,w3,w4,w5该怎么做呢?以下是我编的程序,为什么结果不对啊?
w1=r(:,1)*4+g(:,1)*2+b(:,1);
w2=r(:,2)*4+g(:,2)*2+b(:,2);
w3=r(:,3)*4+g(:,3)*2+b(:,3);
w4=r(:,4)*4+g(:,4)*2+b(:,4);
w5=r(:,5)*4+g(:,5)*2+b(:,5);
我查了r(1,1)是1,但是我写一条语句w1=r(1,1)*2再看w1的值却发现w1是98了
kobe-feixia 当前离线   回复时引用此帖
旧 2009-04-16, 01:59   #2
zt_zt
初级会员
 
注册日期: 2009-04-15
年龄: 39
帖子: 14
声望力: 17
zt_zt 正向着好的方向发展
默认 回复: matlab菜鸟请教矩阵乘法 神奇的错误

按你的式子出来w1-5都是7728×1的矩阵
w1=r(:,1)*4+g(:,1)*2+b(:,1)

w1=r第一列×4+g第一列×2+b第一列×1
你不上程序怎么知道你错哪了
zt_zt 当前离线   回复时引用此帖
旧 2009-04-16, 03:59   #3
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: matlab菜鸟请教矩阵乘法 神奇的错误

lz 根据你的描述 你应当是针对一副图像进行的处理(r,g,b)
你的三个矩阵是否是单独保存的 还是直接从图像矩阵读入 如果是后者 你的这种读入方法是读不到r,g,b分量的 应当使用3D数组
另外 请你考虑你的数组的数据类型 导致结果可能不同

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习
silas_xue 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 12:35


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.