matlab无限递归怎么解决,出现无限递归的错误,请大神指教!

function main

clc; clear all; close all;

N=20;

k=0;

Pi1=[0;0.318757112730057;0.213298358723121;0.142153563503059;0.0834036754403426;0.0478257345954396;0.0270339589939721;0.0151400172456431;0.00845486908021234;0.00467820500152320;0.00258209730449347;0.00142230585761635;0.000782154535688881;0.000429523417716290;0.000235594767478955;0.000129092241742530;7.06720590175056e-05;3.86594249422924e-05;2.11330394453352e-05;1.15451622357423e-05;6.30372380330690e-06;3.44014615058444e-06;1.87654692109411e-06;1.02320420506109e-06;5.57700269968980e-07;3.03870447486477e-07;1.65514859822981e-07;9.01274183424514e-08;4.90634001263182e-08;2.67022275422694e-08;1.45289423684672e-08;7.90358168523524e-09;4.29856462521843e-09;2.33742728864112e-09;1.27078758315683e-09;6.90768691704174e-10;3.75423447956114e-10;2.04006072980306e-10;1.10841227775878e-10;6.02142646666072e-11;3.27069706546436e-11;1.77634350206324e-11;9.64632512844664e-12;5.23778401619916e-12;2.84371643188436e-12;1.54376116732191e-12;8.37974943939880e-13;4.54821405204166e-13;2.46837664624152e-13;1.33950473967085e-13;7.26843476240200e-14;3.94369017465178e-14;2.13959354621392e-14;1.16072046510403e-14;6.29641111719542e-15;3.41529891596401e-15;1.85240372255083e-15;1.00465018394328e-15;5.44837953476417e-16;2.95456816368876e-16;1.60212249730676e-16;8.68706944137495e-17];

h=0.8;

D_eo=7;

D_p=8;

D_f=10;

x_max=50;

pro=P_U_test(N,k,Pi1,h,D_eo,D_p,D_f,x_max)

function pro=P_U_test(N,k,Pi1,h,D_eo,D_p,D_f,x_max)

%%%***测试参数**********

%N=2;

%k=0;

%Pi1=[0;0.318757112730057;0.213298358723121;0.142153563503059;0.0834036754403426;0.0478257345954396;0.0270339589939721;0.0151400172456431;0.00845486908021234;0.00467820500152320;0.00258209730449347;0.00142230585761635;0.000782154535688881;0.000429523417716290;0.000235594767478955;0.000129092241742530;7.06720590175056e-05;3.86594249422924e-05;2.11330394453352e-05;1.15451622357423e-05;6.30372380330690e-06;3.44014615058444e-06;1.87654692109411e-06;1.02320420506109e-06;5.57700269968980e-07;3.03870447486477e-07;1.65514859822981e-07;9.01274183424514e-08;4.90634001263182e-08;2.67022275422694e-08;1.45289423684672e-08;7.90358168523524e-09;4.29856462521843e-09;2.33742728864112e-09;1.27078758315683e-09;6.90768691704174e-10;3.75423447956114e-10;2.04006072980306e-10;1.10841227775878e-10;6.02142646666072e-11;3.27069706546436e-11;1.77634350206324e-11;9.64632512844664e-12;5.23778401619916e-12;2.84371643188436e-12;1.54376116732191e-12;8.37974943939880e-13;4.54821405204166e-13;2.46837664624152e-13;1.33950473967085e-13;7.26843476240200e-14;3.94369017465178e-14;2.13959354621392e-14;1.16072046510403e-14;6.29641111719542e-15;3.41529891596401e-15;1.85240372255083e-15;1.00465018394328e-15;5.44837953476417e-16;2.95456816368876e-16;1.60212249730676e-16;8.68706944137495e-17];

%h=0.8;

%D_eo=7;

%D_p=8;

%D_f=10;

%x_max=50;

%%%***测试参数**********

if N==1

if k==0

pro=my_trapz(0,D_eo,Pi1,h);%%单部件系统没有维修需求的概率;

else

if k==1

pro=my_trapz(D_eo,D_p,Pi1,h);%%单部件系统被外部机会维修的概率

end

end

else

if k==0

pro=P_U_test(N-1,0,Pi1,h,D_eo,D_p,D_f,x_max)*...%

P_U_test(1,0,Pi1,h,D_eo,D_p,D_f,x_max);

else

if k==N

pro=P_U_test(N-1,N-1,Pi1,h,D_eo,D_p,D_f,x_max)*...%

P_U_test(1,1,Pi1,h,D_eo,D_p,D_f,x_max);

else %% P_N_Uk (0

%             if k>0 & k

pro=P_U_test(N-1,k,Pi1,h,D_eo,D_p,D_f,x_max)*...%%

P_U_test(1,0,Pi1,h,D_eo,D_p,D_f,x_max)+...

P_U_test(N-1,k-1,Pi1,h,D_eo,D_p,D_f,x_max)*...

P_U_test(1,1,Pi1,h,D_eo,D_p,D_f,x_max);

end

end

end

function p=my_trapz(a,b,Pi1,h)%%

a=ceil((a+h)./h);%%

b=floor(b./h);%%;

p=0;

for i=a:b

p=p+Pi1(i);%%

end

p=p*h;%%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值