网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月27日漏签0天
matlab吧 关注:291,743贴子:1,658,286
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回matlab吧
>0< 加载中...

Duhamel积分和ode45

  • 只看楼主
  • 收藏

  • 回复
  • 上下九六
  • 1L喂熊
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有老哥知道为什么用ode45和dumamel积分求解同一个问题结果却相差很远是什么问题呢?
%%ode
T0 = 1.0;
zeta = 0.05;
Tp = 0.5;
ag = 0.5 * 9.81;
tf = 5.0;
omega0 = 2*pi/T0;
m = 1;
k = m * omega0^2;
c = 2 * zeta * omega0 * m;
y0 = [0; 0];
tspan = [0 tf];
options = odeset('RelTol',1e-6,'AbsTol',1e-9); % 设置更严格的容差选项
[t, y] = ode45(@oscDynamics, tspan, y0, options);
figure;
plot(t, y(:,1), 'b-', 'LineWidth', 2);
xlabel('Time (s)');
ylabel('Displacement (m)');
title('Response Using ode45 with Adjusted Tolerances');
grid on;
function dydt = oscDynamics(t, y)
zeta = 0.05;
T0 = 1.0;
omega0 =2*pi/T0;
m = 1;
k = m *omega0^2;
c = 2 * zeta *omega0 * m;
Tp= 0.5;
ag = 0.5 * 9.81;
dydt = zeros(2,1);
if t<= Tp
a = ag;
else
a = 0;
end
dydt(1) = y(2);
dydt(2) = (-c *y(2) - k * y(1) + m * a) / m;
end
%%
T0= 1.0;
zeta= 0.05;
Tp= 0.5;
ag= 0.5 * 9.81;
tf = 5.0;
omega0 = 2*pi/T0;
omega_d = omega0 * sqrt(1 - zeta^2);
m = 1;
k = m * omega0^2;
c = 2 * zeta * omega0 * m;
dt= 0.00001; %更小的时间步长以提高精度
t = 0:dt:tf;
ag_t = zeros(size(t));
ag_t(1:floor(Tp/dt)+ 1) = ag;
u = zeros(size(t));
exp_decay = exp(-zeta*omega0*dt);
sin_inc = sin(omega_d*dt);
cos_inc = cos(omega_d*dt);
s =0;
c =0;
for i = 2:length(t)
s_new = exp_decay * (cos_inc * s - sin_inc* c) + dt * ag_t(i);
c_new = exp_decay * (sin_inc * s + cos_inc* c);
s = s_new;
c = c_new;
u(i) = s / (omega_d * k);
end
figure;
plot(t,u, 'b-', 'LineWidth',2);
xlabel('Time (s)');
ylabel('Displacement (m)');
title('Numerical Response Using Enhanced Duhamel Integral');
gridon;



登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回matlab吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示