24小时热门版块排行榜    

查看: 819  |  回复: 12

wangyuewu08

木虫 (著名写手)


xiegangmai(金币+1): 谢谢参与! 2011-12-05 22:48:21
又发现了一个错误,实在抱歉,有段时间没有用matlab了。
在判断并修改第5列的时候,逻辑索引用错了,
通过向量进行关系判断得到的索引要用于向量,如果用于矩阵的话,虽不报错,
但得到的是错误的结果。
正确的是下面这样:
CODE:
%  判断并修改B的第5列
index = b( :, 5 ) < 0.7;
b( index, 5 ) = a( index ) / 4 + 0.525;
index = b( :, 5 ) > 1.6;
b( index, 5 ) = a( index ) / 4 + 1.2;

往事并不如烟
11楼2011-12-05 12:37:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)


xiegangmai(金币+1): 辛苦了! 2011-12-05 22:49:02
不好意思再说什么了,真是抱歉
b要修改,a也要修改
CODE:
%  判断并修改B的第5列
index = b( :, 5 ) < 0.7;
b( index, 5 ) = a( index, 5 ) / 4 + 0.525;
index = b( :, 5 ) > 1.6;
b( index, 5 ) = a( index, 5 ) / 4 + 1.2;

往事并不如烟
12楼2011-12-05 12:43:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)


xiegangmai(金币+1): 辛苦了! 2011-12-05 22:48:46
楼主需要处理的数据很多,程序的效率很关键,在matlab中尽量不要使用循环,最后的输出可以修改为下面这样,以提高效率,还很简洁。
当输出参数为矩阵时,matlab按照列优先的顺序进行输出,而打印的顺序是按行,所以需要将矩阵b转置一下。
CODE:
%  输出B
fprintf( fp, '%20.2f   %20.2f   %20.2f   %20.4f   %20.4f \n', b' );

往事并不如烟
13楼2011-12-05 13:07:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 woqunina 的主题更新
信息提示
请填处理意见