| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 523 人关注过本帖
标题:[求助]求教个简单问题,请各位帮我点一下
只看楼主 加入收藏
時人
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-1-24
收藏
 问题点数:0 回复次数:3 
[求助]求教个简单问题,请各位帮我点一下
我想在下面的这个程序里限制一下,当a(i)和b(i)中有小于0的时候,设定a(i)和b(i)等于0
clear
i=1:60;
t=1;
a(i)=4;
b(i)=4;
c=rand(1,60)*0.1;
while t<1000;
i=1:60;
i0=mod(i+60-2,60)+1;
i1=mod(i,60)+1;
m(i)=a(i).*b(i);
n(i)=a(i1)+a(i0)-2.*a(i);
k(i)=b(i1)+b(i0)-2.*b(i);
da(i)=0.03125.*(16-m(i))+0.25.*n(i);
db(i)=0.03125.*(m(i)-b(i)-(11.95+c(i)))+0.0625.*k(i);
a(i)=a(i)+da(i);
b(i)=b(i)+db(i);
t=t+1;
end
disp(a)
plot(i,a);xlabel('i');ylabel('a');

我加了if a(i)<0;a(i)=0; end和if b(i)<0;b(i)=0; end
但是这是对所有的函数限制的,所以不行
请问一下有什么方法解决

搜索更多相关主题的帖子: 简单问题 
2007-04-09 20:23
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
你加的语句中不要有分号!

此人已消失
2007-04-09 22:42
時人
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-1-24
收藏
得分:0 
去掉分号就可以了吗??
当我把程序中的t设置成2000以上的时候
结果数据都显示出NaN
这是为什么??
怎么解决呢??

[此贴子已经被作者于2007-4-9 23:05:29编辑过]

2007-04-09 23:04
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
收藏
得分:0 
[QUOTE]我想在下面的这个程序里限制一下,当a(i)和b(i)中有小于0的时候,设定a(i)和b(i)等于0[/QUOTE]不能用if




>> a=randn(1,10) a = 0.1746 -0.1867 0.7258 -0.5883 2.1832 -0.1364 0.1139 1.0668 0.0593 -0.0956 >> b=max(a,0) b = 0.1746 0 0.7258 0 2.1832 0 0.1139 1.0668 0.0593 0 >>

2007-04-12 18:05
快速回复:[求助]求教个简单问题,请各位帮我点一下
数据加载中...
 
   



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

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