フィルターのクリア

how "fplot" works?

8 ビュー (過去 30 日間)
Luigi Stragapede
Luigi Stragapede 2020 年 5 月 18 日
コメント済み: dpb 2020 年 5 月 18 日
I have a function which depends on a particular variable, that is T(theta) where the variable is theta. Then, I plotted the function T(theta) with "fplot".
I want to know: which is the frequency of theta with which the fuction T is plotted? I suppose that Matlab consider a lot of theta and compute T for each of these theta.
  1 件のコメント
dpb
dpb 2020 年 5 月 18 日
Just read the documentation...
fplot(f) plots the curve defined by the function y = f(x) over the default interval [-5 5] for x.
It sets the number of points internally; not sure the heuristics it uses but the difference in x-values over a default range isn't identical so it's not just linspace(x1,x2,N). But,it's not trivially obvious just where the algorithm is buried in a very quick look at the m-file.
A trivial plot returned 57 for the number of points in X|YData arrays....interesting choice...

サインインしてコメントする。

回答 (1 件)

Ameer Hamza
Ameer Hamza 2020 年 5 月 18 日
編集済み: Ameer Hamza 2020 年 5 月 18 日
fplot does not use fixed mesh spacing. It adaptively calculates the distance between mesh points (probably using derivates) of the function. See the parameter MeshDensity: https://www.mathworks.com/help/releases/R2020a/matlab/ref/fplot.html#bu6xntj-1_sep_shared-MeshDensity. By default, it is 23, but MATLAB usually uses a higher number of points for a smoother curve. The algorithm to adaptively calculate the mesh point is not provided, but you can find out the x-values and y-values of points using the following statements
syms x
y = x.^2*sin(x);
f = fplot(y)
f.XData
f.YData
  1 件のコメント
Walter Roberson
Walter Roberson 2020 年 5 月 18 日
Furthermore, fplot has code to attempt to find discontinuities even if they are at a finer spacing than the adaptive mesh would suggest.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by