声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2274|回复: 10

[编程技巧] 把白噪声数据加入至微分方程求解

[复制链接]
发表于 2006-12-26 11:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问,有没有办法把白噪声数据写成z=x(t)的形式,写到微分方程里面再求解啊??

方程为:

y''=-z''-B*y-C*y'^2

请各位帮忙啦
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-12-28 20:47 | 显示全部楼层
唉,怎么没人帮忙啊!!!郁闷中啊!!
发表于 2006-12-29 20:20 | 显示全部楼层
既然是白噪声了怎么能写成z=x(t)的形式?理论上说不通
 楼主| 发表于 2006-12-29 20:44 | 显示全部楼层
就是想请教一下,能不能把它写入微分方程中进行求解啊??:'( :'(
 楼主| 发表于 2006-12-30 08:03 | 显示全部楼层
自己已经解决啦!呵呵
发表于 2007-1-4 15:36 | 显示全部楼层
原帖由 octopussheng 于 2006-12-30 08:03 发表
自己已经解决啦!呵呵

能不能告知一下啊,我也有同问啊,那位仁兄指点一下啊!最好使用matlab原有的ode函数!
 楼主| 发表于 2007-1-5 15:16 | 显示全部楼层
我是参考这个例子做的:
如下的例子需要用到interp1 命令。 建立如下的微分方程函数:

% FUN2.M 带有数据集合的时变微分方程的例子
function  xdot = fun2 ( t, x, beta, omega, T, P )
pt = interp1 ( T, P, t );
xdot (2 ) = beta * x (2 ) – omega^2 * x (1) + pt ;
xdot (1 ) = x (2 );
xdot = xdot ( : );  % 使得xdot是一列
% fun2.m 结束

在MATLAB中采用如下的形式调用这个函数:
beta = .1 ;
omega = 2 ;
A = .1 ;
w0 = 1.3 ;
theta = pi /4 ;
X0 = [ 0 1]’;
t0 = 0 ;
tf = 20 ;
T = t0 – eps : .1 : tf + theta +eps ;
P = A.* sin(w0 .*T –theta );
[ t, y ] = ode23 ( @ fun2 , [ t0, tf ], X0, [ ], theta, omega, T, P );
plot ( t, y (:,1));
hold on;
plot(t,y(:,2),'g');
 楼主| 发表于 2007-1-5 15:17 | 显示全部楼层
我在做的时候直接将T和P写成之前算出来的向量,写在方程的程序里面,这样是可行的
发表于 2007-1-6 12:19 | 显示全部楼层
Thank you!
原来我是用自编的函数做的,做Monte-carlo的时候很慢,谢谢你的那个interp1 函数 ,
thany you!!
发表于 2011-5-15 16:43 | 显示全部楼层
感谢分享,刚好碰到类似问题了。先学习学习
发表于 2013-9-27 13:29 | 显示全部楼层

oct,我用duffing系统这样得不到结果?
function  xdot=fun2(t,x,beta,T,P)
pt = interp1(T,P,t);
xdot(1)=x(2);
xdot(2)=0.1*x(2)+x(1)-beta*x(1)^3+f*cos(t)+pt ;
xdot=xdot(:);% 使得xdot是一列
% fun2.m 结束

clear all
clc
%在MATLAB中采用如下的形式调用这个函数:
beta =.1 ;
f =.1;
w0 =1.3;
X0=[0 1];
t0=0;
tf=50;
T=t0:.01:tf;
P=0.01*rand(1,length(T));
[t,y]=ode23(@fun2,T,X0,[ ],T,P );
plot(t,y(:,1));
hold on;
plot(t,y(:,2),'g');

报错是 Not enough input arguments.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-29 21:22 , Processed in 0.062869 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表