matlab中如何把白噪声数据加入至微分方程求解

kirra 2011-05-15 01:13:14
我要用ode45求一个方程
function backstep1
[t,X]=ode45(@ff,0:0.1:50,[-10 -10 0 0 0 0 -10 -10 0 0 0 0]);
plot(t,X(:,1),'r',t,X(:,7),'b');
figure
plot(X(:,1),X(:,2));
function xdot=ff(t,X)
x1=X(1);x2=X(2);x3=X(3);x4=X(4);x5=X(5);x6=X(6);
t
x1j=X(7);x2j=X(8);x3j=X(9);x4j=X(10);x5j=X(11);x6j=X(12);
Y=[x1;x2;x3];V=[x4;x5;x6];
Yj=[x1j;x2j;x3j];Vj=[x4j;x5j;x6j];
Yw=Y-Yj;Vw=V-Vj;
x1d=0;dotx1d=0;%diff(x1d)
ddotx1d=0; %diff(x1d,2)
x2d=0;dotx2d=0;%diff(x2d)
ddotx2d=0; %diff(x2d,2);
x3d=0;dotx3d=0;%diff(x3d);
ddotx3d=0; %diff(x3d,2);
Yd=[x1d;x2d;x3d];dotYd=[dotx1d;dotx2d;dotx3d];
ddotYd=[ddotx1d;ddotx2d;ddotx3d];
M=[1.0852 0 0;0 2.0575 -0.4087;0 -0.4087 0.2153];
D=[0.0865 0 0;0 0.0762 0.1510;0 0.0151 0.0031];
K=[0.0389 0 0;0 0.0266 0;0 0 0];
P1=[3 0 0;0 3 0;0 0 1];
Q1=[1 0 0;0 1 0;0 0 1];
Q2=[1 0 0;0 1 0;0 0 1];
C1=0.1*eye(3);C2=0.1*eye(3);
d1=10;d2=10;d3=1;d4=1;d5=1;d6=1;
%求A1,A2,B
A1=-inv(M)*K;
A2=-inv(M)*D;
B=inv(M);
%求P2
P2=lyap(A2',A2,-2*Q2);
%求K1,K2
K1=inv(P1)*Q1;
J=[cos(x3) -sin(x3) 0;sin(x3) cos(x3) 0;0 0 1];
K2=inv(P2)*J'*P1-A1;
%T,S
T=[0 0 -x5j;0 0 x4j;0 0 0];
S=[0 -x6j 0;x6j 0 0;0 0 0];
%ki参数定义
k1=K1(1,:);k2=K1(2,:);k3=K1(3,:);
%求D1
D1=zeros(3);
D1(1,1)=d1*k1*k1';
D1(2,2)=d2*k2*k2';
D1(3,3)=d3*k3*k3';
%alfa参数
alfa1=(C1+D1)*K1+J*K2;
alfa2=J*T;
%求wij参数
w1=alfa1(1,:);w2=alfa1(2,:);w3=alfa1(3,:);
w4=alfa2(1,:);w5=alfa2(2,:);
%求D2
D2=zeros(3);
D2(1,1)=d1*(w1*w1'+w4*w4');
D2(2,2)=d5*(w2*w2'+w5*w5');
D2(3,3)=d6*w3*w3';
%求z1,z2,alfa11
z1=Yj-Yd;
alfa11=-C1*z1-D1*z1+dotYd;
z2=J*Vj-alfa11;
%求fai,tao
fai=-(C1+D1)^2*z1+(C1+D1)*z2-ddotYd+J*A1*Yj+J*(A2+S)*Vj;
tao=-inv(B)*J'*(fai+C2*z2+D2*z2+z1);
%状态方程
dotY=J*V;
dotV=A1*Y+A2*V+B*tao;
dotYj=J*Vj+K1*Yw;
dotVj=A1*Yj+A2*Vj+B*tao+k2*Yw;
xdot=[dotY;dotV;dotYj;dotVj];
其中:Y=[x1;x2;x3];是测量值,存在测量误差,因此x1,x2,x3均存在高斯白噪声,我想请教下在matlab中如何将噪声加进我的x1,x2,x3中啊?我直接这样加Y1=Y+randn(3,1);然后运算速度极其慢,貌似还算不出来,请问有什么别的办法可以解决吗?图是参考文献的测量值与估计值,而我的测量值由于没有加高斯白噪声和估计值几乎相等。误差为零
...全文
643 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mature_hong 2011-05-31
  • 打赏
  • 举报
回复
要人命吧
目录 第1章通信仿真的MATLAB函数实现 1.1信源产生函数 1.1.1randerr函数 1.1.2randint函数 1.1.3randsrc函数 1.1.4wgn函数 1.2信源编码/解码函数 1.2.1arithenco/arithdeco函数 1.2.2dpcmenco/dpcmdeco函数 1.2.3compand函数 1.2.4lloyds函数 1.2.5quantiz函数 1.3信道函数 1.3.1awgn函数 1.3.2bsc函数 第2章地震及雷达信号的MATLAB实现 2.1地震观测系统的仿真和地面运动的恢复 2.1.1基本理论 2.1.2地震观测系统的MATLAB应用 2.2雷达信号的产生 2.2.1脉冲幅度调制 2.2.2线性调频信号 2.2.3相位编码信号 2.2.4相位编码内线性调频混合调制信号 第3章通信系统模拟线性调制的MATLAB实现 3.1双边带调幅与解调 3.2常规双边带调幅 3.3抑制载波双边带调幅 3.4单边带调幅与解调 第4章雷达信号的数字处理技术 4.1雷达回波信号随机热噪声分析 4.1.1服从高斯分布的热噪声 4.1.2服从均匀分布的热噪声 4.1.3服从指数分布的热噪声 4.1.4服从瑞利分布的热噪声 4.2数字处理技术在雷达信号的应用 4.2.1固定对消 4.2.2动目标显示与检测 4.2.3恒虚警处理 4.2.4积累处理 第5章扩频通信系统的MATLAB实现 5.1扩频通信系统的仿真 5.2伪随机码产生 5.2.1m序列 5.2.2伪随机数序列相关函数 5.2.3Gold序列 5.3直接序列扩频系统 5.4利用MATLAB仿真演示直扩信号抑制余弦干扰 5.5跳频扩频系统 5.6BFSK/FH系统性能仿真 第6章随机信号及参数建模分析 6.1倒谱分析 6.2时域建模 6.2.1三种参数模型 6.2.2时域建模原理 6.2.3线性预测方法 6.3频域建模 6.3.1模拟滤波器的频域建模 6.3.2数字滤波器的频域建模 第7章通信系统设计的MATLAB实现 7.1设计通信系统的发射机 7.2设计通信系统的接收机 7.3通信系统的MATLAB实现 第8章信号突变点检测算法研究 8.1信号的突变性与小波变换 8.2信号的突变点检测原理 8.3实验结果与分析 8.3.1Daubechies 5小波用于检测含有突变点的信号 8.3.2Daubechies 6小波用于检测突变点 第9章MIMOOFDM通信系统设计的MATLAB实现 9.1MIMOOFDM通信系统设计 9.2MIMO系统 9.3OFDM技术 9.4MIMOOFDM系统 9.5空间分组编码 9.6STBC的MIMOOFDM系统设计 9.6.1STBC的MIMOOFDM系统模型 9.6.2分析STBC的MIMOOFDM系统性能 9.7STBC的MIMOOFDM系统的MATLAB实现 第10章模拟角度调制的MATLAB实现 10.1频率调制 10.2相位调制 第11章仿真系统Simulink模块创建过程 11.1Simulink主要特点 11.2Simulink工作原理 11.2.1动态系统计算机仿真 11.2.2Simulink求解器 11.2.3求解器参数设置 11.3一个Simulink实例 第12章通信系统锁相环的MATLAB实现 12.1锁相环构建 12.2锁相环Simulink模块 12.2.1基本锁相环模块 12.2.2压控振荡器模块 12.2.3设计并仿真一个频率合成器 第13章利用MATLAB及Simulink系统进行建模 13.1MATLAB建模 13.1.1静态系统 13.1.2动态系统 13.2Simulink建模 13.2.1线性系统建模 13.2.2二阶微分方程 13.2.3状态方程 13.2.4非线性建模 第14章小波变换在信号特征检测的算法研究 14.1小波信号特征检测的理论分析 14.1.1自相似信号小波变换的特点 14.1.2小波变换与信号的突变性 14.2实验结果与分析 14.2.1突变性检测 14.2.2自相似性检测 14.2.3趋势检测 第15章通信系统调制/解调的MATLAB实现 15.1载波提取分析 15.1.1幅度键控分析 15.1.2相移键控分析 15.1.3频移键控分析 15.1.4正交幅度调制 15.2调制/解调的Simulink模块 15.2.1DSBAM调制/解调 15.2.2SSBAM调制/解调 15.2.3DSBSCAM调制/解调 15.2.4FM调制/解调 15.2.5PM调制/解调 第16章Simulink与MATLAB的接口 16.1Simulink与MATLAB数据交互 16.2命令行方式进行动态仿真 16.2.1命令行动态系统仿真 16.2.2模型线性化 16.2.3平衡点求取 第17章信源编译码的MATLAB模块实现 17.1信源编译码 17.1.1信源编码 17.1.2信源译码 17.2MATLABSimulink通信系统仿真实例 17.2.1MATLAB编码实例 17.2.2Simulink信道实例 17.2.3MATLABSimulink信道实例 第18章数字基带调制/解调的Simulink模块实现 18.1数字幅度调制/解调 18.2数字频率调制/解调 18.3数字相位调制/解调 18.4调制/解调的Simulink应用 第19章信号加噪的MATLAB实现及观测设备 19.1信道模块的信号加噪 19.1.1加性高斯白噪声信道 19.1.2多径瑞利退化信道 19.1.3多径莱斯退化信道 19.2信号观测设备 19.2.1离散眼图示波器 19.2.2星座图 19.2.3离散信号轨迹图 19.2.4误码率计算器 第20章信号与信道的MATLABSimulink产生 20.1随机数据信号源 20.1.1伯努利二进制信号产生器 20.1.2泊松分布整数产生器 20.1.3随机整数产生器 20.2序列产生器 20.2.1PN序列产生器 20.2.2Gold序列产生器 20.2.3Walsh序列产生器 20.3噪声源发生器 20.3.1均匀分布随机噪声产生器 20.3.2高斯随机噪声产生器 20.3.3瑞利噪声产生器 20.3.4莱斯噪声产生器 第21章滤波器的Simulink模块设计 21.1数字滤波器设计模块 21.2模拟滤波器设计模块 21.3理想矩形脉冲滤波器模块 21.4升余弦发射滤波器模块 21.5升余弦接收滤波器模块 21.6滤波器设计实例 第22章信号分解与重构的MATLAB实现 22.1小波快速算法设计原理与步骤 22.2小波分解算法 22.3对称小波分解算法 22.4小波重构算法 22.5对称小波重构算法 22.6MATLAB程序设计实现 第23章S函数及其作用 23.1S函数的相关概率 23.2S函数模块 23.3S函数工作原理 23.4M文件S函数模板 23.5S函数应用 第24章通信系统滤波器的MATLAB函数实现 24.1模拟滤波器的MATLAB函数实现 24.1.1设计模拟滤波器 24.1.2求模拟滤波器的最小阶次 24.1.3滤波器的传递函数 24.2数字滤波器的MATLAB函数实现 24.2.1窗函数 24.2.2数字滤波器频率响应函数 24.3特殊滤波器的MATLAB函数实现 第25章Subsystem模块创建子系统 25.1子系统 25.1.1创建子系统 25.1.2浏览下层子系统 25.1.3条件执行子系统 25.1.4控制流系统 25.2子系统封装 第26章通信系统滤波器设计的MATLAB实现 26.1滤波器简介 26.2模拟滤波器结构 26.3数字滤波器结构 第27章故障信号检测的MATLAB实现 27.1故障信号检测的理论分析 27.2实验结果与分析 27.2.1利用小波分析检测传感器故障 27.2.2小波类型的选择对于检测突变信号的影响 27.3小波类型选择 第28章MATLAB在电信工程实际问题的应用 28.1工具箱提供的信号函数 28.2离散时间信号 28.2.1离散系统的卷积和相关 28.2.2离散系统的差分方程 28.3信号参数的测量和分析 28.3.1信号的能量和功率 28.3.2信号直流分量和交流分量 28.3.3离散时间信号的统计参数 28.3.4信号的频域参数 附录MATLAB R2016a安装说明 参考文献

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧