Integrating indefinite integrals without Symbolic

4 vues (au cours des 30 derniers jours)
Robin Seibel
Robin Seibel le 1 Avr 2014
I'm looking for examples of code that demonstrate plotting an indefinite integral without using symbolic solution.

Réponse acceptée

Mike Hosea
Mike Hosea le 9 Avr 2014
First of all, when working with indefinite integrals numerically, we will need to fix the constant of integration. This is usually done indirectly by selecting the starting point of the integration, e.g. a = 1 for the natural logarithm
ln_scalar = @(x)integral(@(t)1./t,1,x);
I named it "ln_scalar" because it turns out that this definition will only work for scalar values of x. It's easy to extend it to array values, however, so the function we wanted all along is
ln = @(x)arrayfun(ln_scalar,x);
Now we can evaluate ln(x) for arrays of x in MATLAB and hence plot it if we like
x = linspace(0.5,10);
plot(x,ln(x));
Since the repeated integrations here have overlapping intervals, it is possible to be more efficient by integrating only between the points to be plotted and then use CUMSUM to form the function values, but such a solution presupposes that we know all the output points up front.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by