作业帮 > 综合 > 作业

matlab 想求出p(x,y)=0和q(x,y)=0的解[x0,y0] 为什么报错,说有三个变量?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 15:04:47
matlab 想求出p(x,y)=0和q(x,y)=0的解[x0,y0] 为什么报错,说有三个变量?
syms x y;
p=-y+y^3;
q=x;
[x0,y0]=solve(p,q,'x','y')
报错Warning:1 equations in 3 variables.New variables might be introduced.
Warning:Explicit solution could not be found.
目测是matlab把x当成了函数,那么应该怎么改呢?我不想改掉p,q
pq两个方程无关联性,且p方程有三个根,而q方程只有一个根,所以无法用“【x0,y0】=”的形式统一显示其解(x0跟y0维数不同).x0=solve(q);y0=solve(p);即可.
再问: 但是这样就可以求出 改成 [x0,y0]=solve('-y+y^3=0','x=0','x','y')
再答: syms x y; p='-y+y^3=0'; q='x=0'; [x0,y0]=solve(p,q,'x','y')
再问: 因为我还要对p求偏导,所以不想写成p='-y+y^3=0' p,q仍然写成原来的样子,用solve求p=0,q=0的解,就没有办法吗?
再答: 不妨令p1=-y+y^3;p='-y+y^3=0';区别于p。干嘛非要让一个变量既能这样又能那样,设两个不行么
再问: 事实上,我现在就是这样做的。只是我想知道有没有避免这样做的方法而已~~ 因为要输入两次,在很多方程的时候是很麻烦的事情