用LINGO解非线性方程组x^2+y^2=4;2*x^2+x+y^2+y=4.请写出过程,最好附带用MATLAB解一下。谢谢!
我用LINGO解时,总是提示有错。有哪位高手帮忙解一下,如果用MATLAB也可以。最好两种方法都帮忙解一下。谢谢了!...
我用LINGO解时,总是提示有错。有哪位高手帮忙解一下,如果用MATLAB也可以。最好两种方法都帮忙解一下。谢谢了!
展开
3个回答
展开全部
用lingo解过程(只得到一个解):
LINGO程序:
model:
x^2+y^2=4;
2*x^2+x+y^2+y=4;
@free(x);
@free(y);
end
得解:
X=0.9228086;
Y=-1.774381;
用MATLAB求解有四组解:
MATLAB程序:
[x,y]=solve('x^2+y^2=4','2*x^2+x+y^2+y=4','x,y');
double([x,y])
ans =
0.9228 -1.7744
-1.6652 -1.1077
-0.6288 + 1.4858i 2.4411 + 0.3827i
-0.6288 - 1.4858i 2.4411 - 0.3827i
x,y分别等于上述解的对应值,x=0.9228,y=-1.7744;x=-1.6652,y=-1.1077;x=-0.6288 + 1.4858i ,y=2.4411 + 0.3827i;x=-0.6288 - 1.4858i,y=2.4411 - 0.3827i
明白了吧。祝好。
LINGO程序:
model:
x^2+y^2=4;
2*x^2+x+y^2+y=4;
@free(x);
@free(y);
end
得解:
X=0.9228086;
Y=-1.774381;
用MATLAB求解有四组解:
MATLAB程序:
[x,y]=solve('x^2+y^2=4','2*x^2+x+y^2+y=4','x,y');
double([x,y])
ans =
0.9228 -1.7744
-1.6652 -1.1077
-0.6288 + 1.4858i 2.4411 + 0.3827i
-0.6288 - 1.4858i 2.4411 - 0.3827i
x,y分别等于上述解的对应值,x=0.9228,y=-1.7744;x=-1.6652,y=-1.1077;x=-0.6288 + 1.4858i ,y=2.4411 + 0.3827i;x=-0.6288 - 1.4858i,y=2.4411 - 0.3827i
明白了吧。祝好。
展开全部
lingo不是用来解方程的 这个只能给出一个解 而且lingo默认变量都非负 需要用@free取消非负限制 你可以分段设置x y的范围来得到所有的解
x^2+y^2=4;2*x^2+x+y^2+y=4;
@free(x);@free(y);
x^2+y^2=4;2*x^2+x+y^2+y=4;
@free(x);@free(y);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LINGO程序:
model:
x^2+y^2=4;
2*x^2+x+y^2+y=4;
!@free(x),@free(y)解除对
x,y的非负限制,也是LINGO内部默认的设置;
@free(x);
@free(y);
end
得解:
X=0.9228086;
Y=-1.774381;
model:
x^2+y^2=4;
2*x^2+x+y^2+y=4;
!@free(x),@free(y)解除对
x,y的非负限制,也是LINGO内部默认的设置;
@free(x);
@free(y);
end
得解:
X=0.9228086;
Y=-1.774381;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询