matlab 条件方程组的解,solve 时解方程组的限制条件问题

本帖最后由 oldlybaby 于 2017-5-28 14:43 编辑

简单来说,需要求解a1,a2,a3,但只有两个关于a1,a2,a3的方程f1,f2,附加条件是a1+a2+a3最小,请问怎么求解方程组,我的程序(方程有点长)如下

syms a1 a2 a3 ;复制代码

f1=cos(a3)*(10*sin(a1)*(cos(a2) - 1) + 10/((10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)))^2/(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2))^2 + 1)^(1/2) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2)) - sin(a3)*(10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + (10*(10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2))))/(((10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)))^2/(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2))^2 + 1)^(1/2)*(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2)))) - (cos(a3) - 1)*(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2)) + sin(a3)*(10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)))-T(1);复制代码

f2=cos(a3)*(10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + (10*(10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2))))/(((10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)))^2/(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2))^2 + 1)^(1/2)*(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2)))) - (cos(a3) - 1)*(10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) + sin(a3)*(10*sin(a1)*(cos(a2) - 1) + 10/((10*sin(a1)*sin(a2) - 10*cos(a1)*(cos(a2) - 1) + cos(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - sin(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)))^2/(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2))^2 + 1)^(1/2) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2)) - sin(a3)*(10*sin(a1)*(cos(a2) - 1) - sin(a2)*(10*cos(a1) - (8*cos(a1))/(sin(a1)*(cos(a1)^2/sin(a1)^2 + 1)^(1/2))) - cos(a2)*(10*sin(a1) - 8/(cos(a1)^2/sin(a1)^2 + 1)^(1/2)) + 10*cos(a1)*sin(a2))-T(2);复制代码

[a1, a2,a3]=solve(f1,f2);复制代码

bc6f1baced1c65f8143a1c1b67bc7280.png

QQ截图20170528144323.png (18.77 KB, 下载次数: 0)

2017-5-28 14:37 上传

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值