Clear Filters
Clear Filters

PDE and indefinite integral defining in Matlab

26 views (last 30 days)
Robert
Robert on 29 Jun 2024 at 20:00
Edited: Divyam on 18 Jul 2024 at 10:13
Hello,
I'm setting up the indefinite integral based on time and heat u
Integral t from 0 to infinity (u) * du/dt
How do I set this up and plot it?
Thank you.

Answers (1)

Divyam
Divyam on 16 Jul 2024 at 8:39
Edited: Divyam on 18 Jul 2024 at 10:13
Hi Robert, to achieve this, define the variable t and the heat function u. Then compute using the "diff" function in MATLAB. Finally using the "int" function calculate the integral of .
% Define t
syms t
% Define u, assuming it to be exp(-t)
u = exp(-t);
% Define du/dt
du_dt = diff(u,t);
% Integrating u* du/dt from t = 0 to t = inf
integral_idf = int(u*du_t,t);
integral = int(u*du_dt, t, 0, inf);
% Printing the result
fprintf("The solution to the integral is: %s\n", integral);
The solution to the integral is: -1/2
For plotting the above function u and the integral numerically, the "plot" and "cumtrapz" function can be used as shown below
% Create the values for time
time = linspace(0,100,100000000); % You can tweak the number of time values for faster runtime
% Get the values for u
uValue = exp(-time);
% Get the values for du/dt
du_dt_Value = -exp(-time);
% Get the values for the integral using the cumtrapz function
integralValue = cumtrapz(time, uValue .* du_dt_Value);
% Plot the function
figure;
subplot(2, 1, 1);
plot(time, uValue);
title('Function u(t)');
xlabel('Time');
ylabel('u(t)');
% Plot the integral numerically
subplot(2, 1, 2);
plot(time, integralValue);
title('Integral of u(t) * du/dt');
xlabel('Time');
ylabel('Integral');
To plot the function symbolically, refer to this documentation here: https://www.mathworks.com/help/symbolic/sym.matlabfunction.html

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!