eeddDD 发表于 2008-4-16 16:15

请教为何组合新变量时总是出错

A,B都是一个mat文件,分别是由图像经过2维分解后得到的高频系数的水平分量和垂直分量。我想对A/B的绝对值大于10的数,和B绝对值大于10的数重新组合,形成一个新的变量W。我写的程序如下,不过总是出现问题,请问该怎么解决?

A=load('chd2.mat');
B=load('cvd2.mat');
C=((B/A)>10)&((B/A)<-10);
X=abs (C);
D=(B>10)&(B<-10);
Y=abs(D);
W=X+Y;
figure,image(W);colormap(W);

[ 本帖最后由 eight 于 2008-4-16 16:30 编辑 ]

eight 发表于 2008-4-16 16:29

原帖由 eeddDD 于 2008-4-16 16:15 发表 http://www.chinavib.com/forum/images/common/back.gif
A,B都是一个mat文件,分别是由图像经过2维分解后得到的高频系数的水平分量和垂直分量。我想对A/B的绝对值大于10的数,和B绝对值大于10的数重新组合,形成一个新的变量W。我写的程序如下,不过总是出现问题,请问该怎 ... 注意点运算和矩阵运算的区别便可,对此,请看 写给学习 matlab 的新手们 这个精华帖

eeddDD 发表于 2008-4-16 16:52

原帖由 eight 于 2008-4-16 16:29 发表 http://www.chinavib.com/forum/images/common/back.gif
注意点运算和矩阵运算的区别便可,对此,请看 写给学习 matlab 的新手们 这个精华帖

有权限限制:

sigma665 发表于 2008-4-16 16:55

回复 3楼 的帖子

先去新人区,领积分

eight 发表于 2008-4-16 17:37

原帖由 eeddDD 于 2008-4-16 16:52 发表 http://www.chinavib.com/forum/images/common/back.gif
有权限限制: 遇到困难不会自己动手完成吗?对于论坛,通过浏览置顶的帖子就可以达到,难道大家都不懂?还是太懒、太我行我素了?

eeddDD 发表于 2008-4-16 18:35

原帖由 eight 于 2008-4-16 17:37 发表 http://www.chinavib.com/forum/images/common/back.gif
遇到困难不会自己动手完成吗?对于论坛,通过浏览置顶的帖子就可以达到,难道大家都不懂?还是太懒、太我行我素了?

嗯,是我的错。我通过百度知道有这个论坛,一进来就直接进入matlab讨论区,根本没有进过其他版面了解。对于新手的我来说我知道我现在补充的是matlab的知识,忽略了关于版面的其他了解。

wwbeyondww 发表于 2008-4-17 10:09

这个程序太多错误了吧......
首先是位运算,&是与吧,(B/A)>10)&((B/A)<-10是恒为0的,至少也应该用个或吧,当然直接用abs(B/A)>0就是了; 后面同理.
第二,如前所说,上面是位运算,结果为0或1,并不像你所想的把这些元素赋给c;后面同理.
第三,最后应该两个n维的向量合成一个2n维的吧?那样的话 W=;

为实现你的功能,建议 doc find;
页: [1]
查看完整版本: 请教为何组合新变量时总是出错