| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 840 人关注过本帖
标题:求助:matlab函数运行出错了
只看楼主 加入收藏
djrmav
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-29
收藏
 问题点数:0 回复次数:3 
求助:matlab函数运行出错了

.m文件如下:
x=1:1:140;
y=x*log2(1/x)+(1-x)*log2(1/(1-x));
plot(x,y);
xlabel('x');
ylabel('y');
title('x为自变量,熵为因变量的函数曲线');

我是初学者,不知道是不是函数用错了,请大家帮忙解决下
错误显示:
??? Error using ==> mrdivide
Matrix dimensions must agree.

Error in ==> Untitled at 2
y=x*log2(1/x)+(1-x)*log2(1/(1-x));

搜索更多相关主题的帖子: matlab 函数 运行 
2007-05-29 17:08
尘埃122
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:127
专家分:0
注 册:2006-8-31
收藏
得分:0 
呵呵,你的运算中需要的应该用点乘,点除

y=x.*log2(1./x)+(1-x).*log2(1./(1-x));


还有一点是如果是对单个数值运算,当X取1时,分母会出现为0的情况,这和你函数本身有关系了 可以考虑下

2007-05-30 08:38
djrmav
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-29
收藏
得分:0 
以下是引用尘埃122在2007-5-30 8:38:37的发言:
呵呵,你的运算中需要的应该用点乘,点除

y=x.*log2(1./x)+(1-x).*log2(1./(1-x));


还有一点是如果是对单个数值运算,当X取1时,分母会出现为0的情况,这和你函数本身有关系了 可以考虑下

谢谢啊,

2007-05-30 12:57
尘埃122
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:127
专家分:0
注 册:2006-8-31
收藏
得分:0 
    

2007-05-30 13:50
快速回复:求助:matlab函数运行出错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015994 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved