24小时热门版块排行榜    

CyRhmU.jpeg
查看: 287  |  回复: 0

rhyme1990

新虫 (初入文坛)

[求助] 【求助】matlab程序问题

下面粗体代码,我想实现一个Y循环,但是单求一个Y时,第一次很快解出来,多次运行就变慢了···循环更是很难算出来···这是什么问题?是那个求积分吗?我是新手,求帮助啊。


clc,clear
pmm=0.7;poo=0.3;
syms t
Y=30;
v=6.8;   %平均旅行速度
k=0.9;
l=225;
ct=1;
for i=6:18    %求i的阶乘
    kj(ct)=1;
    for j=2:i
        kj(ct)=kj(ct)*j;
    end
    ct=ct+1;
end
pz1=0;pz2=0;  
for i=1:13
    p1(i)=5.21^(i+5)/kj(i)*exp(-5.21);
    p2(i)=9.26^(i+5)/kj(i)*exp(-9.26);
    pz1=pz1+p1(i);   
    pz2=pz2+p2(i);
end
for i=1:13
    pm(i)=p1(i)/pz1;
    po(i)=p2(i)/pz2;
end
for i=1:13
    p(i)=pmm*pm(i)+poo*po(i);
    a(i)=1/(i+5);
    sigma(i)=0.1-1/(3*(i+5));
    fyi(i)=exp(-(t-a(i))^2/(2*sigma(i)^2))/(sqrt(2*pi)*sigma(i));
end
fy=0;
for i=1:13
    fy=fy+p(i)*fyi(i);
end
js=0;
for Y=30:40;
js=js+1;
X=23.8*(Y+1);
for i=1:14
    q(i)=int(fy,t,(2*i-1)/(2*(Y+1)),(2*i+1)/(2*(Y+1)));
end
    q=subs(q);
temp=1;
for i=1:14
    temp=temp*(1-q(i));
end
P(js)=1-temp;
Pi(js)=0;
for i=1:14
    for j=1:i-1
        Pi(js)=Pi(js)+q(i)*q(j);  %用Pi表示P'
    end
end
T(js)=l*log(1-k)/(v*(Y+1)*log(P(js)));
C(js)=X^2/(2.63*10^5);
end
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 rhyme1990 的主题更新
信息提示
请填处理意见