查看: 1186|回复: 8|关注: 0

[已解决] 这是什么原因啊?急求!

[复制链接]

新手

7 麦片

财富积分


050


1

主题

5

帖子

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{:});

论坛优秀回答者

中级

1060 麦片

财富积分


5001500


2

主题

737

帖子

164

最佳答案
  • 关注者: 63
发表于 2018-11-6 08:18:41 | 显示全部楼层
方程两边用两个等号连接而不是一个,此外cosd(a)cosd(c)这种写法也不行,如果是乘积就老老实实写成cosd(a)*cosd(c)
然后,solve函数调用格式怕是有问题,doc solve参考示例,比较新的版本的写法都是
  1. [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,...
  2.     -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,...
  3.     -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,...
  4.     -62.119*d*cosd(b)*cosd(c)+14.046*d*cosd(b)*sind(c)-41.856*d*sind(b)+e==-1.862,...
  5.     -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,...
  6.     -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,...
  7.     -67.441*d*cosd(b)*cosd(c)+13.575*d*cosd(b)*sind(c)-46.126*d*sind(b)+e==-5.776,...
  8.     -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,...
  9.     -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

主题

5

帖子

0

最佳答案
 楼主| 发表于 2018-11-6 11:34:49 | 显示全部楼层
TouAkira 发表于 2018-11-6 08:18
方程两边用两个等号连接而不是一个,此外cosd(a)cosd(c)这种写法也不行,如果是乘积就老老实实写成cosd(a)*co ...

按您发的代码我运行了一遍,为啥不出结果啊?但是也没提示错误,用七个方程也出不来结果

论坛优秀回答者

中级

1060 麦片

财富积分


5001500


2

主题

737

帖子

164

最佳答案
  • 关注者: 63
发表于 2018-11-6 11:42:10 | 显示全部楼层 |此回复为最佳答案
冷雨夜策 发表于 2018-11-5 23:34
按您发的代码我运行了一遍,为啥不出结果啊?但是也没提示错误,用七个方程也出不来结果 ...

上面不是讲了么
最后,9个方程求7个未知数,超定了,无解太正常了
哪怕是n个未知数n个线性方程,线性代数理论也明确讲了存在无解,唯一解,无穷多组解的情形啊
更何况你的方程组这么复杂,无解太正常了

新手

7 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
 楼主| 发表于 2018-11-6 11:59:06 | 显示全部楼层
TouAkira 发表于 2018-11-6 11:42
上面不是讲了么
最后,9个方程求7个未知数,超定了,无解太正常了
哪怕是n个未知数n个线性方程,线性代数理论 ...

那还有其他的办法来解出一组比较接近真值的解吗?比如最小二乘,我不太懂这个。。。

新手

16 麦片

财富积分


050


1

主题

27

帖子

1

最佳答案
发表于 2018-11-10 22:16:34 | 显示全部楼层
d: 1.99043444007244
b: -158.907859466126
c: -142.297019445983
e: 43.9622794732071
a: 192.516947893718
f: -40.3631914582982
g: 47.5900204641586

新手

7 麦片

财富积分


050


1

主题

5

帖子

0

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

新手

7 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
 楼主| 发表于 2018-11-18 15:34:19 来自手机 | 显示全部楼层
独孤神宇 发表于 2018-11-10 22:16
d: 1.99043444007244
b: -158.907859466126
c: -142.297019445983

可以把代码发给我吗?大神,求指教

新手

16 麦片

财富积分


050


1

主题

27

帖子

1

最佳答案
发表于 2018-11-24 21:59:48 | 显示全部楼层
这是用 1stOpt 计算出来的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表