用matlab求解一个三元二次方程组

a=0.2;b=0.1,0.2,0.3~10.0;求解方程组:a*(x^2+y^2)+(1-2*a)*x+(a-1)-2*b*z=0;a*y*(x+z)+(1-2*a)*... a=0.2;
b=0.1,0.2,0.3~10.0;
求解方程组:
a*(x^2+y^2)+(1-2*a)*x+(a-1)-2*b*z=0;
a*y*(x+z)+(1-2*a)*y-b*z=0;
a*(y^2+z^2)+(1-2*a)*z+(a-1)=0.
求解x,y,z,并作出y与b的关系曲线。
展开
 我来答
lhmhz
高粉答主

2019-04-24 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17008

向TA提问 私信TA
展开全部

由于该三元二次方程组有多个解,每组x,y,z各有6个,所以其图像如下所示。

实现代码:

a=0.2;

b0=[0.1:0.1:10];

for i=1:length(b0)

syms x y z

b=b0(i);

[x,y,z]=vpasolve(a*(x^2+y^2)+(1-2*a)*x+(a-1)-2*b*z==0,a*y*(x+z)+(1-2*a)*y-b*z==0,a*(y^2+z^2)+(1-2*a)*z+(a-1)==0);

y0(i,:)=y;

end

plot(y0,b0,'.-')

xlabel('y'),ylabel('b')

如为实数解的话,还应去掉复数解。

追问
去掉复数解的代码是什么啊?我Matlab不太熟
追答
y0(i,:)=real(y); %提取实部值
y1(i,:)=imag(y);%提取虚部值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式