Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2011-06-05, 20:22   #1
fooeye
初级会员
 
注册日期: 2010-10-21
帖子: 1
声望力: 0
fooeye 正向着好的方向发展
默认 请大虾帮忙看看这几行程序为什么不能输出满足要求的数据呀!!

想得到 满足条件0.1<a1<2.5, 0.1< a2<2.5 的数据各20个
但是不是每次都能输出20组数据,且不满足在所要求的区间。到底应该怎么写才对呀?
代码如下:
t = 1;
while t<= 20

d=randn(1,1);
e=randn(1,1);
k=exp(d);
f=exp(e);
if(k>=0.1)&&(k<=2.5)
a1(t)=k;
end
if(f>=0.1)&&(f<=2.5)
a2(t)=f;
end
t = t+1;
end

此帖于 2011-06-05 20:26 被 fooeye 编辑。
fooeye 当前离线   回复时引用此帖
旧 2011-06-06, 08:50   #2
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: 请大虾帮忙看看这几行程序为什么不能输出满足要求的数据呀!!

引用:
作者: fooeye 查看帖子
想得到 满足条件0.1<a1<2.5, 0.1< a2<2.5 的数据各20个
但是不是每次都能输出20组数据,且不满足在所要求的区间。到底应该怎么写才对呀?
代码如下:
t = 1;
while t<= 20

d=randn(1,1);
e=randn(1,1);
k=exp(d);
f=exp(e);
if(k>=0.1)&&(k<=2.5)
a1(t)=k;
end
if(f>=0.1)&&(f<=2.5)
a2(t)=f;
end
t = t+1;
end
先用rand 生成0 1之间的 然后转化就可以了
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
旧 2011-06-08, 13:03   #3
chuhesky
初级会员
 
注册日期: 2011-06-07
年龄: 37
帖子: 1
声望力: 0
chuhesky 正向着好的方向发展
默认 回复: 请大虾帮忙看看这几行程序为什么不能输出满足要求的数据呀!!

引用:
作者: fooeye 查看帖子
想得到 满足条件0.1<a1<2.5, 0.1< a2<2.5 的数据各20个
但是不是每次都能输出20组数据,且不满足在所要求的区间。到底应该怎么写才对呀?
代码如下:
t = 1;
while t<= 20

d=randn(1,1);
e=randn(1,1);
k=exp(d);
f=exp(e);
if(k>=0.1)&&(k<=2.5)
a1(t)=k;
end
if(f>=0.1)&&(f<=2.5)
a2(t)=f;
end
t = t+1;
end
可以这样试试!
a1=2.5*rand(4,5);
a2=2.5*rand(4,5);
chuhesky 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



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


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