How to integrate a function w.r.t. a variable that is not the input variable to the function
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I have 2567x1 double variable which is a Strain, with a corresponding time variable.
I have a function:
function [y]=mystrainrate(reflectedstrain)
c=4980;
l_s=6*10^-3;
y=c*(reflectedstrain)/l_s;
end
I want the integral of y with respect to time between 0 and a specified time. But I want to plot it, so essentially I want a loop to find the integral up to each time index from 1 to 2567 and create another 2567x1 variable of the integrals.
But, I can't work out how to integrate a function with respect to a variable that is not the input variable to the function.
For example, I currently have this code:
for i=1:length(reflectedstrain)
nominalstrain(i,1)=integral(@mystrainrate,0,time(i));
end
But obviously this integrates the strain rate function w.r.t. the strain and not w.r.t the time.
Any help would be appreciated. Thanks.
0 commentaires
Réponses (1)
Michael Wang
le 14 Sep 2016
As you have mentioned, the function you are using as the input of the ‘integral’ function should be a function that w.r.t time ( i.e. y(t) or in other form y(reflectedstrain(t)) ).
The ‘ integral ’ function in this case will not work due to the relation between "reflectedstrain" and time "t" are not constant so the input function varies from time to time. I would recommend you to calculate the integral value numerically (e.g. integral_y = y (i)*delta_t ) assuming you can calculate the time difference "delta_t" between time steps.
Hope these help!
0 commentaires
Voir également
Catégories
En savoir plus sur Numerical Integration and Differentiation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!