Could you please help me to plot this integral equation?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Walter Roberson
am 12 Jan. 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 Kommentare
Walter Roberson
am 12 Jan. 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.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!