Could you please help me to plot this integral equation?

1 visualizzazione (ultimi 30 giorni)
The Equation that I need to plot is the following:
first two part is not difficult to plot. The difficulty is going to appear in third part, in which I need to plot from the functional equation below:
is known function and I wrote the form of G(x) in MATLAB(please see the MATLAB script). Also, I wrote the form of (F bar of t) in the MATLAB script. Moreover, and . All other necessary constant values provided in the MATLAB script.
Does anyone of you have any suggestions how to plot this integral equation? It might possible by using picard's iteration, but I actually don't know how to apply that. Eagerly waiting for your generous help. Thanks in advance.
clc
clear
close all
%%
alpha = 0.3;
gamma = 0.1;
b = 2.12;
s = 2.622;
%%
syms x t
F_sym = 1 - exp(-gamma * x);
f_sym = diff(F_sym);
f = matlabFunction(f_sym);
F = matlabFunction(F_sym);
Finv = matlabFunction(finverse(F_sym));
F_bar_sym = 1 - F_sym;
F_bar = matlabFunction(F_bar_sym);
F_bar_int_sym = int(F_bar_sym);
F_bar_int = matlabFunction(F_bar_int_sym);
%%%
dg = -2 + (5 - 2* alpha) * F_sym;
g_sym = (alpha * 2) * (1/gamma) + int(dg);
g = matlabFunction(g_sym);
%%%
y_b = alpha / (1 - alpha) * int(F_bar_sym, 0, s - b) + (s - b);
y_s = alpha / (1 - alpha) * int(F_bar_sym, 0, s - b)+(s - x);
%%%
G = @(x) alpha*( alpha/(1-alpha) * F_bar(x-s) * (F_bar_int(s-b)-F_bar_int(0)) ...
+ F_bar_int(x-b) - F_bar_int(x-s) ) + g(x) - g(s);
G_sym = sym(G);
y= @(x) G(x) + alpha *int(y(t)*f(x-t),s, x);
So, finally I need to plot the function below:
% y_total=piecewise(x<= b, y_b, (b< x)&(x<=s), y_s, x>s, y);
  2 Commenti
madhan ravi
madhan ravi il 12 Gen 2019
y= @(x) G(x) + alpha *int(y(t)*f(x-t),s, x);
^^^^---- not defined
Md Abu Helal
Md Abu Helal il 12 Gen 2019
Hi,
madhan ravi, yes this is not defined. Infact I didn't defined that part as I couldn't write the program for the third part. Please help me to plot that. Thanks.

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 12 Gen 2019
It is a convolution. Something like,
syms t
y= @(x) G(x) + alpha * int(y(t)*f(x-t), t, s, x);
but not exactly that.
It is a recursive definition, and it is not well defined.
Let x = s + dx for some positive dx. Then because x > s, the third equation holds.
The integral over t of y(t) * f(x-t) starts from t = s, so y(s)*f(s+dx-s) which is y(s)*f(dx) . This is well defined in terms of y(s) because y(s) exactly is defined by the upper bound of the second equation.
Now go on to t = s+dt for some small positive dt. Then y(s+dt)*f(s+dx-(s+dt)) so y(s+dt)*f(dx-dt) . This involves y(s+dt) . But we do not have a definition for y(x) with x>s except in terms of the integral. In the limit of dx = dt and dt is the "smallest" infinitesimal, we are defining y(s+dt) in terms of y(s+dt) . This is unresolvable.
  2 Commenti
Md Abu Helal
Md Abu Helal il 12 Gen 2019
Thank you for your comment. I tried to use the following 'isolve' (link below) program to solve this. The only difference is the lower limit, insted of zero lower limit is 's' - a constant number in my case. Could you please spend a little time to look at the program? Thank you again for your time.
Walter Roberson
Walter Roberson il 12 Gen 2019
It doesn't matter. You have x > s and even if you start t at 0 instead of at s, because the integral is 0 to x and x > s, as long as s is > 0, at some point t will pass through s and when it does you are invoking the third equation in terms of itself to define y(s+dt) .
The convolution from s to x can be calculated for s > 0 as the convolution from 0 to x minus the convolution from 0 to s, so the difference between s to x and 0 to x is not a significant barrier. But defining y(x) in terms of y(t) when t can be equal to x is a problem. If the y on the left hand side of the overall equation were a different name than the y inside the convolution then there would not be a problem, as long as there was a formula for the y that is intended inside the integral.

Accedi per commentare.

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by