MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#" onclick="window._kiq.push(['set', { 'event': 'Turn off MT' }]);">ここ</a>」をクリックしてください。

0

how do you get the max y value in an fplot?

Cameron Ernest さんによって質問されました 2019 年 6 月 17 日 12:55
最新アクティビティ Stephen Cobeldick
さんによって 編集されました 2019 年 6 月 17 日 13:25
How would I find the max y value in the following fplot
mu = @(theta) (sind(theta)/(1.8925 + cosd(theta)));
fplot(mu,[0 180]);

  0 件のコメント

サインイン to comment.

タグ

3 件の回答

回答者: madhan ravi
2019 年 6 月 17 日 13:09

h = fplot(...);
MAX = max(h.YData)

  0 件のコメント

サインイン to comment.


dpb
回答者: dpb
2019 年 6 月 17 日 13:10

Look at the documentation and see what else you can do with fplot...
fp=fplot(mu,[0 100]);
[mxMu,imx]=max(fp.YData); % max, location
NB: Above is the maximum of the calculated points, not necessarily the functional maximum.
ADDENDUM: To avoid the warning message from fplot write your function with the "dot" operator ./ instead of just /

  0 件のコメント

サインイン to comment.


回答者: Stephen Cobeldick
2019 年 6 月 17 日 13:19
編集済み: Stephen Cobeldick
2019 年 6 月 17 日 13:25

If you actually want to find the numerical solution (and not just whatever fplot happens to have calculated) then you can trivially use fminsearch:
>> fun = @(theta) (sind(theta)./(1.8925 + cosd(theta)));
>> xm = fminsearch(@(t)-fun(t),100)
xm =
121.9
>> ym = fun(xm)
ym =
0.62239
And checking:
>> fplot(fun,[0,180])
>> hold on
>> plot(xm,ym,'*r')

  1 件のコメント

Star Strider
2019 年 6 月 17 日 13:24
[xm,fun_at_xm] = fminsearch(@(x)-fun(x),100)
xm =
121.9
fun_at_xm =
-0.62239

サインイン to comment.



Translated by