adang2808 发表于 2011-10-21 18:50:59

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

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,是实际测到的一组时间序列,不知道怎么把它表达进去,希望高手帮忙! 看了很多例子,都是有确定的函数形式的。

messenger 发表于 2011-10-21 18:53:10

用匿名函数试试,记得本版有例子,你可以搜索一下

TBE_Legend 发表于 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=;
y0=[-1 1 0];
=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文件怎样编写?!
页: [1]
查看完整版本: 求助:ode45求解动力学响应, 输入不是一个确定的函数