楼主: bluethky
1010 5

[经济] 一个循环程序,求指点 [推广有奖]

  • 6关注
  • 0粉丝

本科生

73%

还不是VIP/贵宾

-

威望
0
论坛币
1051 个
通用积分
11.6784
学术水平
0 点
热心指数
0 点
信用等级
1 点
经验
7748 点
帖子
44
精华
0
在线时间
132 小时
注册时间
2013-8-15
最后登录
2022-12-8

楼主
bluethky 发表于 2013-8-19 22:13:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e=t+v
Y=zeros(N,4);
for i=1:N
T=unifrnd(0,E)
Y(i,2)=abs((2*T*cos(unifrnd(-pi,pi)))^0.5)
Y(i,4)=abs((2*T-Y(i,2)^2))^0.5
Y(i,1)=unifrnd(-pi,pi)
test=acos(E-T-2.5-1.5*cos(Y(i,1))/(1.5+0.5*cos(Y(i,1))))
   if isreal(test)==1
      Y(i,3)=test;
   else (这一块怎么写)
   end
end


我想要的结果是,如果test不是实数,那就重新计算第i步,否则才进行下一步,
求指点,谢谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:求指点 condition function Initial dition function 下一步 程序

回帖推荐

postcardh 发表于2楼  查看完整内容

function Y=fic(E,N) %find initial condition 寻求微粒的初值条件 %总能量为E,动能为T,势能为V,并且e=t+v Y=zeros(N,4); for i=1:N I_Flag = 0 Do while I_Flag = 0 T=unifrnd(0,E) Y(i,2)=abs((2*T*cos(unifrnd(-pi,pi)))^0.5) Y(i,4)=abs((2*T-Y(i,2)^2))^0.5 Y(i,1)=unifrnd(-pi,pi) test=acos(E-T-2.5-1.5*cos(Y(i,1))/(1.5+0.5*cos(Y(i,1)))) if isreal(test)==1 Y(i,3)=test; I_Flag = 1 ...

沙发
postcardh 发表于 2013-8-20 04:11:00
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e=t+v
Y=zeros(N,4);
for i=1:N
I_Flag = 0
Do while I_Flag = 0
T=unifrnd(0,E)
Y(i,2)=abs((2*T*cos(unifrnd(-pi,pi)))^0.5)
Y(i,4)=abs((2*T-Y(i,2)^2))^0.5
Y(i,1)=unifrnd(-pi,pi)
test=acos(E-T-2.5-1.5*cos(Y(i,1))/(1.5+0.5*cos(Y(i,1))))
   if isreal(test)==1
      Y(i,3)=test;
      I_Flag = 1
  end if
End Do While
end

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
guo.bailing + 40 + 40 + 1 + 1 + 1 鼓励积极发帖讨论

总评分: 经验 + 40  论坛币 + 40  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
bluethky 发表于 2013-8-20 20:09:14
postcardh 发表于 2013-8-20 04:11
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e ...
你编写的是matlab程序吗,怎么提示错误

板凳
bluethky 发表于 2013-8-20 20:09:42
postcardh 发表于 2013-8-20 04:11
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e ...
对了  非常感谢您的回答!思路很好!!!!

报纸
bluethky 发表于 2013-8-20 20:22:47
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e=t+v
Y=zeros(N,4);
i=0;
while (i<N)
    i=i+1;
    T=unifrnd(0,E);
   Y(i,2)=abs((2*T*cos(unifrnd(-pi,pi)))^0.5);
   Y(i,4)=abs((2*T-Y(i,2)^2))^0.5;
   Y(i,1)=unifrnd(-pi,pi);
    test=acos(E-T-2.5-1.5*cos(Y(i,1))/(1.5+0.5*cos(Y(i,1))));
        if isreal(test)==1
            Y(i,3)=test;
        else
          i=i-1;
   end
end

地板
bluethky 发表于 2013-8-20 20:23:17
bluethky 发表于 2013-8-20 20:22
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e ...
运行成功,正在测试数据是否正确!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-1 04:15