作业帮 > 数学 > 作业

MATLAB中非线性目标函数错误的解答

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/05/05 08:34:48
MATLAB中非线性目标函数错误的解答
 f=(((x(1)*4900*cos(x(2)))/(2*x(1)*70*cos(x(2))+3.14*4900))-sqrt(4900-(70-x(1))^2)*sin(x(2))/cos(x(2)))*cos(x(2))-x(3); 
MATLAB中说这个函数是错误的
MATLAB中非线性目标函数错误的解答
匿名函数写法:
f=@(x)(((x(1)*4900*cos(x(2)))/(2*x(1)*70*cos(x(2))+3.14*4900))-sqrt(4900-(70-x(1))^2)*sin(x(2))/cos(x(2)))*cos(x(2))-x(3);
再问: 太感谢了,解决了,但是现在约束条件又不对了,嘤嘤嘤,求大神,下面的约束条件怎么在MATLAB中实现,小女子不胜感激~
X(2)属于(70度,80度)
X(1)小于等于40
X(3)-40大于等于0
再答: 这个取决于你用的什么函数?
再问: 我们也不知道用的什么函数~
嘤嘤嘤~,大神,不要抛弃我~求继续抱大腿~
可以加你Q q吗
再答: 那你提问的时候干脆说明清楚问题啊:
你们是要求那个函数在你给出的条件下的极小值还是极大值啊?
再问: 是极小值~~~~~~~~~~~~大神,大神 ~\(≧▽≦)/~
再答: >> f=@(x)(((x(1)*4900*cos(x(2)))/(2*x(1)*70*cos(x(2))+3.14*4900))-sqrt(4900-(70-x(1))^2)*sin(x(2))/cos(x(2)))*cos(x(2))-x(3);
>> fmincon(f,[0,75,40],[],[],[],[],[-inf,70,40],[40,80,inf],[])

fmincon是求约束极值的函数,可以百度查询使用方法
需要注意的一点:matlab中三角函数使用的是弧度制,我看你的条件中涉及角度值。我不清楚你们的物理模型是什么,但是感觉这一点上你们的式子可能有问题