求matlab高手帮忙解一个二元方程组,有两个方程0.015=d+p0.050=0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5求高手帮忙用matlab求解出d和p

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 18:26:32
求matlab高手帮忙解一个二元方程组,有两个方程0.015=d+p0.050=0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5求高手帮忙用matlab求解出d和p

求matlab高手帮忙解一个二元方程组,有两个方程0.015=d+p0.050=0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5求高手帮忙用matlab求解出d和p
求matlab高手帮忙解一个二元方程组,
有两个方程
0.015=d+p
0.050=0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5
求高手帮忙用matlab求解出d和p

求matlab高手帮忙解一个二元方程组,有两个方程0.015=d+p0.050=0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5求高手帮忙用matlab求解出d和p

方程无解.可以很简单地画出两个方程的曲线来:

ezplot('-0.050+0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5',[-0.02 0.02])
hold on
ezplot('-0.015+d+p',[-0.02 0.02])

由图可见,两条线无交点,也就意味着方程组无解.

 

或者换另一种方式来分析:把方程1代入方程2:

syms d p
eq1=-0.015+d+p;
eq2=-0.050+0.015+0.070-2.*(d.*0.0215).^0.5-2.*(p.*0.0504).^0.5;
D=solve(eq1,d)
eq=subs(eq2,d,D)

得到方程:

>> eq=subs(eq2,d,D) 
eq = 
7/200 - 2*(129/400000 - (43*p)/2000)^(1/2) - 2*((63*p)/1250)^(1/2)

方程中两个包含p的项都要进行开平方,应该大于0,即:

(63*p)/1250 >= 0

129/400000 - (43*p)/2000 >= 0

联立解得 0<=p<=0.015,画出该方程的曲线如下:

不可能与0轴相交,也即方程无解.