siyanger 发表于 2006-4-17 22:51

[原创]非线性微分方程的求解

下面是单自由度的非线性微分方程的求解程序(分段函数)。多自由度的正在努力中,希望能和大家多多交流!
非线性微分方程表达式的函数:
function vprime= aadlx(t,x)

% x(1)为位移 x(2)为速度 分段函数
if x(1)>1
vprime=;
elseif -1<=x(1)<=1
vprime=;
else
vprime=;
end
运行以下内容即可得到结果:
options=odeset('RelTol',1e-4,'AbsTol',);

tspan=;
=ode45('aadlx',tspan,,options);
u1=x(:,1);
u2=x(:,2);


figure('unit','normalized','color',);
h=get(gcf);
set(gcf,'Name','1','numbertitle','off');
plot(t,u1)
title('图1')
xlabel('时间t');ylabel('位移x');
grid on

figure('unit','normalized','color',);
h=get(gcf);
set(gcf,'Name','2','numbertitle','off');
plot(u1,u2)
title('图2')
xlabel('位移x');ylabel('速度dx');
grid on

[ 本帖最后由 suffer 于 2006-10-9 20:02 编辑 ]

hdj101 发表于 2006-4-27 00:26

运行好象有点问题是吗??

siyanger 发表于 2006-4-29 08:37

没有问题啊,将函数aadlx存放在一个目录下,在当前目录下命令窗中运行“运行以下内容即可得到结果:”以下的内容就可以了啊。可以画出动响应图和相图。

siyanger 发表于 2006-4-29 08:40

1

siyanger 发表于 2006-4-29 08:50

上面是运行结果。

oops 发表于 2006-5-7 13:29

急回,谢啦

有关于MATALB在电子线路课程中应用的例子么?急用.谢谢

iwwfy 发表于 2006-5-24 12:33

可不可以再写个微分方程组的程序,让我这样的小学生学习一下?

wsh6759 发表于 2006-5-30 14:47

运行有点小问题啊

wsh6759 发表于 2006-5-30 14:49

大家怎样运行的结果?

xcdl 发表于 2006-6-23 11:11

楼主 精华帖 的图章盖住了程序
能不能改动一下

lihuaifu 发表于 2006-8-6 09:59

楼主,我现在急需多自由度的非线形微分方程的求解程序,希望您能帮忙啊!我的 QQ78142287!

hanzhenhui 发表于 2006-8-12 18:04

我认为将tspan=;中的900改的小一点(比如200)则动响图像更好一些.

yang95478 发表于 2006-10-19 11:22

谁有分段非线性微分方程组的求解程序,发上来共享一下!!急用,谢谢!

suffer 发表于 2006-10-20 15:17

原帖由 yang95478 于 2006-10-19 11:22 发表
谁有分段非线性微分方程组的求解程序,发上来共享一下!!急用,谢谢!

分段非线性微分方程组和上述方程的解法是完全一样的,只是在定义求解函数的时候用if来判断一下就行了
页: [1]
查看完整版本: [原创]非线性微分方程的求解