求高手用matlab解一个三元的方程组

 我来答
伯鸿晖仇赞
2020-03-02 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:593万
展开全部
方程无解梁陪。可以很简单地画出两个方程的曲线来:
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轴相交,也即方程无解。
门昆卉水怀
2020-04-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:732万
展开全部
我算的你这个解都是无穷大。具体过程如下:
第一步:建立M文件函数myf.m
function
f=myf(x)
f(1)=600+x(1)*cos(10)+x(2)*sin(40)-x(3);
f(2)=(x(3)*sin(65)+x(2)*sin(40)+x(1)*cos(10))^2+(x(3)*cos(65)+x(2)*cos(40)+x(1)*cos(10))^2-5200^2;
f(3)=x(1)*sin(60)+x(2)*sin(80)+x(3)-600-4500;
第二步:用不动点迭代法解上述方程。
建立M文件函数mulStablepoint:
function
[r,n]=mulStablepoint(x0,eps)
if
nargin==1;
eps=1.0e-4;
end
r=myf(x0);
n=1;
tol=1;
while
tol>eps
x0=r;
r=myf(x0);
tol=norm(r-x0);
n=n+1;
if(n>100000)
disp('迭代次数太禅滚多,可能不收敛!'贺枣余)
return;
end
end
第三步,岩没在命令窗口输入命令
[r,n]=mulStablepoint([0,0,0])
最后得到:
r
=
Inf
Inf
-Inf
n
=
8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式