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的关系曲线。
由于该三元二次方程组有多个解,每组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);%提取虚部值