MATLAB Answers

0

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

Cameron Ernest さんによって質問されました 2019 年 6 月 17 日
最新アクティビティ Stephen Cobeldick
さんによって 編集されました 2019 年 6 月 17 日
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
回答者: madhan ravi
2019 年 6 月 17 日

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

  0 件のコメント

サインイン to comment.


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

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
回答者: Stephen Cobeldick
2019 年 6 月 17 日
編集済み: Stephen Cobeldick
2019 年 6 月 17 日

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 日
[xm,fun_at_xm] = fminsearch(@(x)-fun(x),100)
xm =
121.9
fun_at_xm =
-0.62239

サインイン to comment.



Translated by