matlab熵模型,求助,Matlab的最大熵模型

小弟没学过Matlab,程序是别人给的,运行后显示Not enough input arguments。不会看程序,求大神指导下。

function f=wucha(q)   %净雨相对误差(以百分数表示)

h=load('D:\Matlab\work\roer0308.txt');

rex=h(:,1);

sizex=size(rex);

n=sizex(1,1);

x=rex;

x=sort(x); %从小到大排列

jz=mean(x);  %均值

bzc=std(x);  %标准差

average(1,1)=x(1,1);

squre2(1,1)=x(1,1)^2;

squre3(1,1)=x(1,1)^3;

i=1;

while i

average(i+1,1)=x(i+1,1)+average(i,1);

squre2(i+1,1)=x(i+1,1)^2+squre2(i,1);

squre3(i+1,1)=x(i+1,1)^3+squre3(i,1);

i=i+1;

end

average_x=average(n,1)/n;

squre2_x=squre2(n,1)/n;

squre3_x=squre3(n,1)/n;

s(1,1)=(x(1,1)-average_x)^2;

h(1,1)=(x(1,1)-average_x)^3;

j=1;

while j

s(j+1,1)=(x(j+1,1)-average_x)^2+s(j,1);

h(j+1,1)=(x(j+1,1)-average_x)^3+h(j,1);

j=j+1;

end

s=sqrt(s(n,1)/(n-1));

[mu sigma muci sigmuci]=normfit(x);%mu为均值,sigma为标准差

h=h(n,1)/n/s^3;

l=(x-average_x)/s;

r=kstest(l);   %判断是否是正态分布,如果为0,则为正态分布,如果为1则不是正态分布

B=average_x/s;

%toc;

x1=average_x-5*s;

x2=average_x+5*s;

z=x/5/s;

p=-1:0.01:1;     %积分的范围

m1=average_x;

m2=squre2_x;

m3=squre3_x;  %一阶矩、二阶矩、三阶矩

f=(1-trapz(p,5*s*p.*exp(q(1).*p+q(2).*p.^2+q(3).*p.^3))/m1/trapz(p,exp(q(1).*p+q(2).*p.^2+q(3).*p.^3)))^2+(1-trapz(p,(5*s*p).^2.*exp(q(1).*p+q(2).*p.^2+q(3).*p.^3))/m2/trapz(p,exp(q(1).*p+q(2).*p.^2+q(3).*p.^3)))^2+(1-trapz(p,(5*s*p).^3.*exp(q(1).*p+q(2).*p.^2+q(3).*p.^3))/m3/trapz(p,exp(q(1).*p+q(2).*p.^2+q(3).*p.^3)))^2;

% q0=[0.1,0.1,0.1];    %y的初始值

% options(2)=0.00000001;    %解的精度

% options(14)=500;        %最大迭代次数

% [q,fm]=fminsearch('wucha',q0,1.0e-10)   %y的计算结果

% options(8)          %f的结果

% p=jz-5*bzc:0.01:jz+5*bzc;

% q=[q(1)/5/bzc q(2)/25/bzc/bzc q(3)/125/bzc/bzc/bzc];

% d=-log(trapz(p,exp(q(1)*p+q(2)*p.^2+q(3)*p.^3)))         %求出y(0)

% ff=exp(d+ q(1)*p+ q(2)*p.^2+ q(3)*p.^3);                %求得的函数

% plot(p,ff);                                %求函数曲线

% ylabel('Probability Density Distribution');

% xlabel('Relative error of runoff volume(%)');

% xlabel('Relative error of peak discharge(%)');

% xlabel('Forecasting error of time to peak(h)');

% hold on;

% l=normpdf(x,jz,bzc);

% plot(x,l,'-.')

跪求大神指导呀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值