Could you please help me to plot this integral equation?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
The Equation that I need to plot is the following:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200603/image.png)
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200604/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200605/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200606/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200607/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200608/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200609/image.png)
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 comentarios
Respuestas (1)
Walter Roberson
el 12 de En. de 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 comentarios
Walter Roberson
el 12 de En. de 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.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!