24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1041  |  回复: 8

langdd007

新虫 (初入文坛)

[求助] 请教这个2次方程组如何求解

X1=L1*cos( Ө )
Y1=L1*sin( Ө )
(x2-x1)^2+(y2-y1)^2=L2^2; ①
(x2-xc)^2+(y2-yc)^2=L3^2; ②
(x3-x1)^2+(y3-y1)^2=L4^2; ③
(x3-x2)^2+(y3-y2)^2=L5^2; ④
(x4-x3)^2+(y4-y3)^2=L6^2; ⑤
这上面的方程组有5个未知数外加一个参数Ө,分别是X2,Y2,X3,Y3,Y4。别的所有未已知值。
给出的①②③④⑤方程,我想解出来随着Ө的变化5个未知数的值(参考图片),如果能够用matlab画出来随着Ө变化,各个值得变化图更好了


我在matlab上面用solve函数直接写上述5个方程进去得出来的解不能满足全部方程。
然后我就用两个方程分开解,然后参考图片去掉不符合图片的解。最终得到唯一解(Ө假设为30度的情况下)

请教这个2次方程组如何求解
的.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
祝福
2楼2016-06-13 16:23:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bjc1987

新虫 (著名写手)

首先数学上,这不可能解出来。必须方程个数与未知数个数相等,才能在matlab上得到唯一解。否则就只能手算带参数的表达式解了

发自小木虫Android客户端
3楼2016-06-13 22:33:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

langdd007

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by bjc1987 at 2016-06-13 22:33:22
首先数学上,这不可能解出来。必须方程个数与未知数个数相等,才能在matlab上得到唯一解。否则就只能手算带参数的表达式解了

方程式对的的
有5个方程
5个未知数x2,y2,x3,y3,y4这5个
另外X1,X2,XC,YC,L1,L2....都是已知数,其实方程组分开,两个两个求很简单,就是二元二次方程组,用公式都可以做出来,但是我想用matlab直接5个一起求,然后得到所有可能的解,再套进去参数角θ,然后做出每个点的左边与θ的关系图。(如果直接用plot命令他会说不能有多项解重叠画图)
4楼2016-06-14 08:39:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bjc1987

新虫 (著名写手)

别忘了你的theta也是一个未知参数

发自小木虫Android客户端
5楼2016-06-14 09:46:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

langdd007

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by bjc1987 at 2016-06-14 09:46:56
别忘了你的theta也是一个未知参数

所以当theta设置为参数的时候,解得答案可以含有theta,然后根据theta的变化来推出每个点坐标的变化。,
6楼2016-06-14 12:51:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

langdd007

新虫 (初入文坛)

我试着把θ换成t参数,然后求出来带有参数X2,Y2的解
然后再把X2,Y2的解直接带入3,4方程里面为什么解出来的一直有y3这个未知数?我想要的是只有参数t的解

syms t x3 y3;
>> x2= (320*cos(t)^2 + 320*sin(t)^2 - (sin(t)*(55*sin(t) - 4*cos(t)*(-(25*(64*cos(t)^2 + 64*sin(t)^2 - 1)*(64*cos(t)^2 + 64*sin(t)^2 - 121))/16)^(1/2) + 320*sin(t)^3 + 320*cos(t)^2*sin(t)))/(cos(t)^2 + sin(t)^2) + 55)/(8*cos(t));
>> y2=(55*sin(t) + 4*cos(t)*(-(25*(64*cos(t)^2 + 64*sin(t)^2 - 1)*(64*cos(t)^2 + 64*sin(t)^2 - 121))/16)^(1/2) + 320*sin(t)^3 + 320*cos(t)^2*sin(t))/(8*(cos(t)^2 + sin(t)^2));
>> [y3]=solve('((5675-y3*(80-2*y2))/(80*3^0.5-2*x2)-40*3^0.5)^2+(y3-40)^2=45^2');
7楼2016-06-14 14:55:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

langdd007

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by langdd007 at 2016-06-14 12:51:25
所以当theta设置为参数的时候,解得答案可以含有theta,然后根据theta的变化来推出每个点坐标的变化。,...

matlab给出的答案如下,带有未知数y3,但是没有参数t
y3 =

69.282032302755091741097853660235 - (0.5*(y3*(2.0*y2 - 80.0) + 5675.0))/((-1.0*(y3 + 5.0)*(y3 - 85.0))^(1/2) + 69.282032302755091741097853660235)
(0.5*(y3*(2.0*y2 - 80.0) + 5675.0))/((-1.0*(y3 + 5.0)*(y3 - 85.0))^(1/2) - 69.282032302755091741097853660235) + 69.282032302755091741097853660235
8楼2016-06-14 14:56:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
祝福
9楼2016-06-15 13:27:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 langdd007 的主题更新
信息提示
请填处理意见