Azzera filtri
Azzera filtri

numerical integration and solving for limit

3 visualizzazioni (ultimi 30 giorni)
hello everyone, this is my first question here.
I'm trying to find the value of x when t equals 1:0.1:10
So I don't know how to solve this problem, for example if the intervals were fixed and I wanted to find t, I would just use the commands
f(x)= (-1./(sqrt((1-x.^2)+(0.01/2)*(1-x.^4))))
a=1;
b=5;
I=int(f(x),a,b);
Can anybody help me?
how do i find the value of b when t is equal to 1:0.1:10.
Thanks for your help.

Risposta accettata

Torsten
Torsten il 19 Gen 2023
Modificato: Torsten il 19 Gen 2023
Here is the maximum value you can insert for t:
syms x
f = 1/sqrt((1-x^2)+0.01/2*(1-x^4));
vpaintegral(f,x,-1,1)
ans = 
3.12988
And here is the curve of t against x.
You can cheat here: plot x against t and say you solved t = -integral ... for x. :-)
xstart = -1;
xend = 1;
xnum = linspace(xstart,xend,100);
for i=1:numel(xnum)
tnum(i) = double(vpaintegral(f,x,xnum(i),1));
end
plot(xnum,tnum)
  4 Commenti
Torsten
Torsten il 19 Gen 2023
Yes, I plotted x against the value of the integral.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 19 Gen 2023
your f has x^4 and x^2 but no other powers of x.
Do a change of variables X2=x^2 and integrate with respect to X2. You will get a closed form integral involving arcsin. Transform back from X2 to x. Now you can solve the equation. Just make sure you get the right limits of integration
  2 Commenti
Walter Roberson
Walter Roberson il 20 Gen 2023
The problem with this approach turns out to be that you would need x^2 to be negative to get at some of the values, which is a problem because that gets you into complex-valued x.

Accedi per commentare.

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by