找回密码
 注册
Simdroid-非首页
查看: 105|回复: 4

求助:ode45求解动力学响应, 输入不是一个确定的函数

[复制链接]
发表于 2011-10-21 18:50:59 | 显示全部楼层 |阅读模式 来自 英国
function f = dof3_shock(t,y)
global m0 m1 m2 fre Fy c1 k1 c2 k2
w = 2*pi*fre;
f = zeros(6,1);
f(1) = y(2);
f(2) = (Fy-c1*(y(2)-y(4))-c2*(y(2)-y(6))-k1*(y(1)-y(3))-k2*(y(1)-y(5)))/m0;
f(3) = y(4);
f(4) = (k1*(y(1)-y(3))+c1*(y(2)-y(4)))/m1;
f(5) = y(6);
f(6) = (k2*(y(1)-y(5))+c1*(y(2)-y(6)))/m2;

上面是一个三自由度的弹簧质量模型,有个激励Fy,是实际测到的一组时间序列,不知道怎么把它表达进去,希望高手帮忙! 看了很多例子,都是有确定的函数形式的。
发表于 2011-10-21 18:53:10 | 显示全部楼层 来自 福建三明
Simdroid开发平台
用匿名函数试试,记得本版有例子,你可以搜索一下
回复 不支持

使用道具 举报

发表于 2011-10-22 07:35:46 来自手机 | 显示全部楼层 来自 黑龙江哈尔滨
拟合个函数不就行了?比如多项式
回复 不支持

使用道具 举报

发表于 2011-10-28 17:41:45 | 显示全部楼层 来自 合肥工业大学
我给个例子你看一下。
function dy=odet3(t,y)
dy=zeros(3,1);
dy(1)=y(2);
dy(2)=y(3);
dy(3)=y(1).^(1/2)-2*y(3).^2*(y(2)-4);
tspan=[0 12];
y0=[-1 1 0];
[t,Y]=ode45('odet3',tspan,y0);
plot(t,Y(:,1),'-',t,Y(:,2),'-.',Y(:,3),'.')
legend('Y1','Y2','Y3')
回复 不支持

使用道具 举报

发表于 2011-11-16 09:37:12 | 显示全部楼层 来自 大连理工大学
本帖最后由 若凡 于 2011-11-16 09:46 编辑

用simulink可以实现
期待高手指点m文件怎样编写?!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-17 02:41 , Processed in 0.029536 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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