⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 randdata.m

📁 船舶电力负荷预测的matlab程序
💻 M
字号:
clear all;clc;
global p1 C e 
load('data.mat');
p=data(2,:);a=data(1,:);
p=p/5;p1=350,C=350,e=0.01
m=200,U=3.01;L1=110.8;
%船舶电力负荷数据仿真。。。。
v=size(a,2);
fprintf(' 船舶电力负荷数据仿真 ...\n');
    st = cputime;
    x=[];
    for n=1:v
        x(:,n)=rand(m,1);
    end
i=1:v;
t=max(x(:,i));
d=ones(m,v);
for n=1:v
    data=t(n);
d(:,n)=data.*d(:,n);
end
for sn=1:v
    fprintf('%d ... \n',sn);
    e=0.001;ee=0.0001;
    r=find((d(:,sn)-x(:,sn))<e);
    rr=size(r,1);
while rr<p(sn)-1
    e=e+ee;
    r=find((d(:,sn)-x(:,sn))<e);
    rr=size(r,1);
end
s=size(r,1)-p(sn)+1;
if s>1
    e=e/10;
   ee=ee/10;
r=find((d(:,sn)-x(:,sn))<e);
rr=size(x,1);
while rr<p(sn)-1
    e=e+ee;
    r=find((d(:,sn)-x(:,sn))<e);
    rr=size(r,1);
end
end
x(r,sn)=1;
end
re=find(x<1);
x(re)=0;X=[];
for n=1:v
    X(:,n)=x(:,n).*a(n);
end
%输出随机电力负荷值Y,平均电力负荷值EY、
y=zeros(size(X,1),1);
for n=1:v
    y=y+X(:,n);
end
y=y+L1;
sumEY=0;sumDY=0;
for n=1:m
   sumEY=y(n)+sumEY;
end
EY=sumEY/m;
for n=1:m
    sumDY=(y(n)-EY).^2+sumDY;
end
DY=sumDY/m;
L=U*sqrt(DY)+EY+L1;
fprintf('Execution time : %4.1f seconds\n',cputime - st);
fprintf('电力负荷平均值EY: %4.1f kw \n',EY)
fprintf('电力负荷方差DY: %4.1f kw \n',DY)
fprintf('电力负荷最大值maxY: %4.1f kw \n',max(y))
fprintf('电力负荷最小值minY: %4.1f kw \n',min(y))
fprintf('~~~~~~~~~~~~~~~~~~~~~~~~~~ \n')
fprintf('置信度a=0.999的最大负荷预测值: \n')
fprintf('L=U(1-a)*sqrt(DY)+EY+L1= %4.1f kw \n',L)
h1=figure;
k=1:m;
plot (k,y(k),'r')
hold on
EY=EY*ones(1,m);
plot(k,EY)
fprintf('~~~~~~~~~~~~~~~~~~~~~~~~ \n')
[nsv,beta,error1,error2,trnY,X]=powerRecursive2(y) ;




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -