Can you minimize a function in MATLAB?

1 次查看(过去 30 天)
The force is F=(mMg)/(cos(theta)+Msin(theta), and theta is between 0 and pi/2 I have the values for m, M and g but I need to find the angle that the force is the smallest. I also need to find the magnitude of the force. To find the angle where force is the smallest, do I need to minimize it? How would I go about doing that?
  3 个评论
John D'Errico
John D'Errico 2015-4-29
编辑:John D'Errico 2015-4-29
It depends on what M means. If M has units, then, yes, there is arguably a problem, because we would have
cos(theta) + M*sin(theta)
in an additive expression. That works only if M is unit-less.
But to be honest, it looks like M might be unit-less. My guess is m is a mass, g looks like an acceleration. Therefore m*g is a force, and we have no use for units on M.
the cyclist
the cyclist 2015-4-29
You are absolutely correct. I assumed that M is a large mass, and m a small mass.

请先登录,再进行评论。

回答(2 个)

the cyclist
the cyclist 2015-4-29
Yes, you can use the fminbnd function.

John D'Errico
John D'Errico 2015-4-29
Use fminbnd. I'll show you how to define the function.
F = @(theta) (m*M*g)./(cos(theta)+M*sin(theta));

类别

Help CenterFile Exchange 中查找有关 Discrete Events and Mode Charts 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by