How do you plot the following function?

y_num = @(x) cos(x).*(sin(x)).^3;
I_num = @(xmin, xmax) integral(y_num, xmin, xmax);
xmin = 0;
xmax = 2*pi;
%%plot(x, I_num) displays error "Error using plot. Data must be numeric, datetime, duration or an array convertible to double."

回答 (1 件)

Walter Roberson
Walter Roberson 2019 年 10 月 27 日

0 投票

xvals = linspace(xmin, xmax);
yvals = arrayfun(@(XMAX) I_num(xmin, XMAX), xvals);
plot(xvals, yvals);
This will not be efficient, as it ends up re-integrating areas it has already done. It would be more efficient to integrate segment by segment and cumsum() the result.

カテゴリ

製品

リリース

R2019b

タグ

質問済み:

2019 年 10 月 27 日

回答済み:

2019 年 10 月 27 日

Community Treasure Hunt

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

Start Hunting!

Translated by