0
votes

I have to solve the following integral equation numerically in Mathematica: x[s] == 2.5 - (1.35 NIntegrate[x[t], {t, 0.7, 1}])/( 0.1 - 0.1 NIntegrate[x[t], {t, 0.7, 1}]), x[0.9] == 1

In order to do that, I'm using NSolveValue in the following way:

DSolveValue[{x[s] == 2.5 - (1.35 NIntegrate[x[t], {t, 0.7, 1}])/(0.1 - 0.1 NIntegrate[x[t], {t, 0.7, 1}]), x[0.9] == 1}, x[s], s]

But Mathematica yields the following errors: The integrand x[t] has evaluated to non-numerical values for all sampling points in the region with boundaries {{0.9,1}}.

Further output of NIntegrate::inumr will be suppressed during this calculation.

For some branches of the general solution, the given boundary conditions lead to an empty solution.

What am I doing wrong?

Thanks for your help!

1

1 Answers

0
votes

Suppose x[t] is nice enough for this to work.

Suppose y[t] is the indefinite integral of x[t].

Suppose the definite integral of x[t] from t=.7 to 1 is y[1]-y[.7].

We must check later if all that is true.

So your problem becomes

DSolve[y'[s]==25/10-(135/100 (y[1]-y[7/10]))/(1/10-1/10 (y[1]-y[7/10]))},y[s],s]

which returns

{{y[s] -> C[1] + s*(16 - 27/(2 + 2*y[7/10] - 2*y[1]))}}

Now apply your initial condition

FullSimplify[Solve[1==c1+9/10(16-27/(2+2y[7/10]-2y[1])),c1]]

which returns

c1 -> -67/5 + 243/(20*(1 + y[7/10] - y[1]))

and put that into the solution

y[s]==FullSimplify[-67/5+243/(20*(1+y[7/10]-y[1]))+s*(16-27/(2+2*y[7/10]-2*y[1]))]

which returns

y[s] == -67/5 + 16*s - (27*(-9 + 10*s))/(20*(1 + y[7/10] - y[1]))

We don't know the values of y[7/10] or y[1]. But fortunately y[s] is fairly simple.

If I try to solve for your two unknowns

Reduce[{y[7/10] == -67/5+16*7/10-(27*(-9+10*7/10))/(20*(1+y[7/10]-y[1])),
         y[1]   == -67/5+16*1-   (27*(-9+10*1   ))/(20*(1+y[7/10]-y[1]))},{y[7/10],y[1]}]

that returns

(y[7/10] == (-14 - Sqrt[766])/15 || y[7/10] == (-14 + Sqrt[766])/15) &&
y[1] == (3 - y[7/10])/2

Then

y[s] == FullSimplify[-67/5 + 16*s - (27*(-9 + 10*s))/
  (20*(1 + (-14 - Sqrt[766])/15 - (3 - (-14 - Sqrt[766])/15)/2))]

returns

y[s] == (-77 - 3*Sqrt[766])/10 + ((29 + Sqrt[766])*s)/3

or

y[s] == FullSimplify[-67/5 + 16*s - (27*(-9 + 10*s))/
  (20*(1 + (-14 + Sqrt[766])/15 - (3 - (-14 + Sqrt[766])/15)/2))]

returns

y[s] == (-231 + 9*Sqrt[766] - 10*(-29 + Sqrt[766])*s)/30

Does that help? Can you take the result and try to check if this is a valid solution? Or identify any step that was invalid? Or simplify this process and get Mathematica to do more of the work?

Please check all this very carefully before you trust any of it.