MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] matlab菜鸟请教矩阵乘法 神奇的错误 (https://www.labfans.com/bbs/showthread.php?t=7709)

kobe-feixia 2009-04-15 14:57

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了

zt_zt 2009-04-16 01:59

回复: matlab菜鸟请教矩阵乘法 神奇的错误
 
按你的式子出来w1-5都是7728×1的矩阵
w1=r(:,1)*4+g(:,1)*2+b(:,1)

w1=r第一列×4+g第一列×2+b第一列×1
你不上程序怎么知道你错哪了

silas_xue 2009-04-16 03:59

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

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


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

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