# 7 麦片

050

1主题 0最佳答案
 syms a b c d e f g; >> [a,b,c,d,e,f,g]=solve('-62.747*d*cosd(b)*cosd(c)+10.193*d*cosd(b)*sind(c)-46.134*d*sind(b)+e=-4.02','-62.747*d*(-cosd(a)*sind(c)+sind(a)*sind(b)*cosd(c))+10.193*d*(cosd(a)cosd(c)+sind(a)*sind(b)*sind(c))-46.134*d*sind(a)*cosd(b)+f=7.194','-62.747*d*(sind(a)*sind(c)+cosd(a)*sind(b)*cosd(c))+10.193*d*(-sind(a)*cosd(c))-46.134*d*cosd(a)*cosd(b)+g=-21.626','-62.119*d*cosd(b)*cosd(c)+14.046*d*cosd(b)*sind(c)-41.856*d*sind(b)+e=-1.862','-62.119*d*(-cosd(a)*sind(c)+sind(a)*sind(b)*cosd(c))+14.046*d*(cosd(a)cosd(c)+sind(a)*sind(b)*sind(c))-41.856*d*sind(a)*cosd(b)+f=0.76','-62.119*d*(sind(a)*sind(c)+cosd(a)*sind(b)*cosd(c))+14.046*d*(-sind(a)*cosd(c))-41.856*d*cosd(a)*cosd(b)+g=-14.435','-67.441*d*cosd(b)*cosd(c)+13.575*d*cosd(b)*sind(c)-46.126*d*sind(b)+e=-5.776','-67.441*d*(-cosd(a)*sind(c)+sind(a)*sind(b)*cosd(c))+13.575*d*(cosd(a)cosd(c)+sind(a)*sind(b)*sind(c))-46.126*d*sind(a)*cosd(b)+f=5.986','-67.441*d*(sind(a)*sind(c)+cosd(a)*sind(b)*cosd(c))+13.575*d*(-sind(a)*cosd(c))-46.126*d*cosd(a)*cosd(b)+g=-21.559'); 错误使用 solve>getEqns (line 418) List of equations must not be empty. 出错 solve (line 226) [eqns,vars,options] = getEqns(varargin{:});

# 论坛优秀回答者

5主题 331最佳答案
• 关注者： 110

 方程两边用两个等号连接而不是一个,此外cosd(a)cosd(c)这种写法也不行,如果是乘积就老老实实写成cosd(a)*cosd(c) 然后,solve函数调用格式怕是有问题,doc solve参考示例,比较新的版本的写法都是 [a,b,c,d,e,f,g]=solve([-62.747*d*cosd(b)*cosd(c)+10.193*d*cosd(b)*sind(c)-46.134*d*sind(b)+e==-4.02,...     -62.747*d*(-cosd(a)*sind(c)+sind(a)*sind(b)*cosd(c))+10.193*d*(cosd(a)*cosd(c)+sind(a)*sind(b)*sind(c))-46.134*d*sind(a)*cosd(b)+f==7.194,...     -62.747*d*(sind(a)*sind(c)+cosd(a)*sind(b)*cosd(c))+10.193*d*(-sind(a)*cosd(c))-46.134*d*cosd(a)*cosd(b)+g==-21.626,...     -62.119*d*cosd(b)*cosd(c)+14.046*d*cosd(b)*sind(c)-41.856*d*sind(b)+e==-1.862,...     -62.119*d*(-cosd(a)*sind(c)+sind(a)*sind(b)*cosd(c))+14.046*d*(cosd(a)*cosd(c)+sind(a)*sind(b)*sind(c))-41.856*d*sind(a)*cosd(b)+f==0.76,...     -62.119*d*(sind(a)*sind(c)+cosd(a)*sind(b)*cosd(c))+14.046*d*(-sind(a)*cosd(c))-41.856*d*cosd(a)*cosd(b)+g==-14.435,...     -67.441*d*cosd(b)*cosd(c)+13.575*d*cosd(b)*sind(c)-46.126*d*sind(b)+e==-5.776,...     -67.441*d*(-cosd(a)*sind(c)+sind(a)*sind(b)*cosd(c))+13.575*d*(cosd(a)*cosd(c)+sind(a)*sind(b)*sind(c))-46.126*d*sind(a)*cosd(b)+f==5.986,...     -67.441*d*(sind(a)*sind(c)+cosd(a)*sind(b)*cosd(c))+13.575*d*(-sind(a)*cosd(c))-46.126*d*cosd(a)*cosd(b)+g==-21.559],[a,b,c,d,e,f,g]);复制代码 最后,9个方程求7个未知数,超定了,无解太正常了

# 7 麦片

050

1主题 0最佳答案
楼主| 发表于 2018-11-6 11:34:49 | 显示全部楼层
 TouAkira 发表于 2018-11-6 08:18 方程两边用两个等号连接而不是一个,此外cosd(a)cosd(c)这种写法也不行,如果是乘积就老老实实写成cosd(a)*co ... 按您发的代码我运行了一遍，为啥不出结果啊？但是也没提示错误，用七个方程也出不来结果

# 论坛优秀回答者

5主题 331最佳答案
• 关注者： 110

 冷雨夜策 发表于 2018-11-5 23:34 按您发的代码我运行了一遍，为啥不出结果啊？但是也没提示错误，用七个方程也出不来结果 ... 上面不是讲了么 最后,9个方程求7个未知数,超定了,无解太正常了 哪怕是n个未知数n个线性方程,线性代数理论也明确讲了存在无解,唯一解,无穷多组解的情形啊 更何况你的方程组这么复杂,无解太正常了

# 7 麦片

050

1主题 0最佳答案
楼主| 发表于 2018-11-6 11:59:06 | 显示全部楼层
 TouAkira 发表于 2018-11-6 11:42 上面不是讲了么 最后,9个方程求7个未知数,超定了,无解太正常了 哪怕是n个未知数n个线性方程,线性代数理论 ... 那还有其他的办法来解出一组比较接近真值的解吗？比如最小二乘，我不太懂这个。。。

# 16 麦片

050

1主题 1最佳答案

 d: 1.99043444007244 b: -158.907859466126 c: -142.297019445983 e: 43.9622794732071 a: 192.516947893718 f: -40.3631914582982 g: 47.5900204641586

# 7 麦片

050

1主题 0最佳答案
楼主| 发表于 2018-11-18 15:32:34 来自手机 | 显示全部楼层
 您怎么解出来的啊？求指教

# 7 麦片

050

1主题 0最佳答案
楼主| 发表于 2018-11-18 15:34:19 来自手机 | 显示全部楼层
 独孤神宇 发表于 2018-11-10 22:16 d: 1.99043444007244 b: -158.907859466126 c: -142.297019445983 可以把代码发给我吗？大神，求指教

# 16 麦片

050

1主题 1最佳答案

 这是用 1stOpt 计算出来的。

# 13 麦片

050

0主题 0最佳答案

 太复杂了吧
 您需要登录后才可以回帖 登录 | 注册 本版积分规则 回帖后跳转到最后一页