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."

Réponses (1)

Walter Roberson
Walter Roberson le 27 Oct 2019
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.

Produits

Version

R2019b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by