matlab编程求一个四位数abca,使得abca+=+(5*c+1)2?
1个回答
展开全部
求一个四位数abca,使得abca=(5c+1)²。
分析:一个四位数abca,可以看成 a×1000+b×100+c×10+a 的加法算式,此时问题就可以极值的方法来求解。
解决方案:分别设a=x(1),b=x(2),c=x(3),则
x(1)×1001+x(2)×100+x(3)×10=(5×x(3)+1)²
使用matlab的fmincon()函数求解。
解决思路与过程:
1、目标函数,使得 norm(x(1)×1001+x(2)×100+x(3)×10,(5×x(3)+1)²) 最小
2、约束函数,使得 (x(1)×1001+x(2)×100+x(3)×10==(5×x(3)+1)²
3、保证x(1),x(2),x(3)为正整数,且大于0
4、按上述思路写出运行代码
运行结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询