在MATLAB解常微分方程时出现了绝对值和SGN函数怎么办?

来源:百度知道 编辑:UC知道 时间:2024/05/03 02:35:44
例如:
DZ=-363*|X-5|*|Z|
DZ表示一阶倒数
如果绝对值用ABS表示或者先平方再开方结果就是这样:
ans =

C1*exp(-363*(X-5)*t)。t是什么意思啊。
再例如:
DZ=-363*|X-5|*|Z|+sgn(x)
DZ表示一阶倒数,的时候又怎么办,
dsolve('DZ=-363*sqrt(X-5)^2*sqrt(Z)^2 ','X');
如果这样写的话t是没有了,但是我把绝对值去掉,考虑4种情况解出来的结果和上面的不一样
符号函数如果用abs(x)/x的话也就是第一个问题了
关键是第一个问题

你试一下:
>> Dsolve('Dy=x')

Dsolve('Dy=x','x')
就知道什么意思了。
系统默认是以t为积分变量的。

符号函数,你可以用
abs(x)/x啊。

%%%%%%%%%%%%%%%
你的语句有点小问题
你试一下
sqrt(-3)^2

sqrt((-3)^2)

但是我也并不是非常清楚你这题。
你看:
>> dsolve('DZ=-363*abs(x) ','x')
ans =
-363/2*abs(x)*x+C1
这个应当是对的,你自己可以算一下。
但是
dsolve('DZ=-363*abs(Z) ','x')
ans =
0
这个好像就有问题了。
具体什么问题我也不是非常清楚。
您再请教一些专业人氏看一下。