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

📄 lsparaid.m

📁 训练BP神经网络连接权值的源代码,易于理解,实用性好!
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%用最小二乘法参数辨识%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
clear;
clc;
load('expdata1.txt');
rawData=expdata1;%原始数据
sizeData=size(rawData);%获得数据大小
rawOutData=rawData(:,1);%原始数据输出
rawInData=rawData(:,2);%原始数据输入
%输出数据求和
rawOutAll=0;
for i=1:sizeData(1,1)
    rawOutAll=rawOutAll+rawOutData(i);
end
rawOutAve=rawOutAll/sizeData(1,1);%原始输出平均值
outData=rawOutData-rawOutAve;%扣除直流分量后的输出数据
inData=rawInData-45;%扣除直流分量后的输入数据
%
%不进行滤波处理
%
%Z(l)
for l=1:181
    z(l)=outData(l+5);
end
Z=z';
%H(i,j)
for i=1:181
    for j=1:5
        H(i,j)=-outData(i+5-j);
        H(i,j+5)=inData(i+5-j);
    end 
end
theta=inv(H'*H)*H'*Z;
theta'%cout theta
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%模型检验%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%计算残差
for i=1:180
    outData1(i)=[-outData(i+5) -outData(i+4) -outData(i+3) -outData(i+2) -outData(i+1) inData(i+5) inData(i+4) inData(i+3) inData(i+2) inData(i+1)]*theta;
    e(i)=outData(i+6)-outData1(i);%残差
end
t=1:180;
subplot(2,1,2);
plot(t,e);
alle=0;
for i=1:180
    alle=alle+e(i);
end
alle=alle/180;%残差的期望
%r0
r0=0;
for i=1:180
    r0=r0+e(i)^2;
end
r0=r0/180;
%r(l)
for l=1:20
    r(l)=0;
    for k=1:180-1
        r(l)=r(l)+e(k)*e(k+1);
    end
    r(l)=r(l)/180;
% loue(l)
loue(l)=r(l)/r0;
t1=1:20;
subplot(2,1,1);
plot(t1,loue);
end
loue'%cout loue

⌨️ 快捷键说明

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