numerical integration and solving for limit
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Benjamin
am 13 Mär. 2019
Kommentiert: Star Strider
am 18 Mär. 2019
I have the following equation:
g(x) I have as a matrix in an array. It has an x and y column. So I want to take g(x) at a given poin, multiply by 1/x, then integrate, and find where the above statement is true. How can I write a script to solve for X_M for the above integral to be true?
0 Kommentare
Akzeptierte Antwort
Star Strider
am 13 Mär. 2019
You have told us nothing about ‘g(x)’. Assuming the integral of ‘g(x)’ is monotonically increasing at least until its integral is equal to 1 (if it’s periodic or has other pecularities, you will need another approach), try this:
x = linspace(1, 10); % ‘x’
y = rand(size(x)); % ‘g(x)’
vint = pi*sqrt(2)/3 * cumtrapz(x, y./x);
X_M = interp1(vint, x, 1);
Experiment to get the result you want.
14 Kommentare
Star Strider
am 18 Mär. 2019
As always, my pleasure! Thank you!
You can always ask a question! (With luck, I will always have an answer.)
The ‘Y_M’ calculation takes the known independent (‘data{1, i}(:,2)’) and dependent (‘data{1, i}(:,4)’) vector values and uses the newly-derived value for ‘X_M(i)’ to calculate (interpolate) the value for ‘Y_M(i)’. The only other additions were to define the figure object and the hold call before the loop, and plot the ‘(X_M(i),Y_M(i))’ values within the loop. The later xlim call simply ‘zooms’ the x-axis slightly to make the plotted ‘+’ markers more visible.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Calculus finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!