melonese 发表于 2007-11-1 11:50

咨询关于dsolve的使用问题

想解一个2阶微分方程,使用以下程序:
syms x m L Pa P0 D; %m L Pa P0 D均为常量
x=dsolve('D2x-x*pi*L*Pa*((P0+Pa)*D^2/Pa/(D^2-x^2)-1)/(2*m)=0')
最后的输出结果为:
??? Error using ==> dsolve
at offset 69, `^` unexpected
Error in ==> d:\MATLAB6p5\work\tryyyyy.m
On line 6==> x=dsolve('D2x-x*pi*L*Pa*((P0+Pa)*D^2/Pa/(D^2-x^2)-1)/(2*m)=0')
不知道是为什么?
望高人指教,不甚感激.

eight 发表于 2007-11-1 13:12

d2x ?这是什么表达? ^的问题估计是没有区分点运算与矩阵运算导致的。建议先阅读 matlab 基础书,还有版面写给新手的系列贴,或者搜索一下版面,参考一下成功的示例

[ 本帖最后由 ChaChing 于 2010-6-13 23:56 编辑 ]

melonese 发表于 2007-11-1 14:56

d2x表示的是x的2阶导数啊,
书上的例子可以运算正常啊:
syms t x
x=dsolve('Dx=x*(1-x^2)')

不知道是方程的原因,还是matlab的原因
多谢你的帮忙,thx

xjzuo 发表于 2007-11-1 16:42

将D改为d即可.
不过好象没有解析解.
==============
syms x m L Pa P0 d;
x=dsolve('D2x-x*pi*L*Pa*((P0+Pa)*d^2/Pa/(d^2-x^2)-1)/(2*m)=0')
页: [1]
查看完整版本: 咨询关于dsolve的使用问题