how can I use summation and index for the series
Show older comments
how can I use summation and index for the following series by using matlab

Edit:
the pervious Equation solution for

My trying to write the following code, but i don't know if it is right ot no
u0=0;
alpha=0.5;%[0.1 0.3 0.5 0.6 0.66 0.9 1]; matrix
a=0; b=1;n=100;
h=(b-a)/n;
t=a:h:b;
f=@(t,u) (-u.^4) + ( gamma(2*alpha+1)./gamma(alpha+1) ).*(t.^alpha) - ( 2./gamma(3-alpha) ).*(t.^(2-alpha)) + (t.^(2*alpha)-t.^2).^4;
exact=@(t) t.^(2*alpha)-t.^2;
%-----a'ks---------------------------------------
a_kth=@(k) (k+1).^(1-alpha)-(k).^(1-alpha);
u_p=zeros(1,n); z_p=zeros(1,n); u=zeros(1,n);
s=0;
for i=1
u_p(i)=a_kth(i-1)*u0; %s=s+q^keval(subs(fun,xq^k));
z_p(i)=gamma(2-alpha)*( h.^alpha ) * f(t(i),u_p(i));
u(i)=u_p(i)+gamma(2-alpha)*( h.^alpha ) * f(t(i),u_p(i)+z_p(i));
end
%--------------------------------------
for i=2:n
for k=1:i-1
s=s+(a_kth(i-1-k)-a_kth(i-k))*u(k);
u_p(i)=a_kth(i-1)*u0+s; %s=s+q^keval(subs(fun,xq^k));
z_p(i)=gamma(2-alpha)*( h.^alpha ) * f(t(i),u_p(i));
u(i)=u_p(i)+gamma(2-alpha)*( h.^alpha ) * f(t(i),u_p(i)+z_p(i));
end
end
u1=[ u0 u];
plot(t,u1)
exact1=exact(t);
error=exact1-u1;
17 Comments
Walter Roberson
on 24 May 2022
I suspect that in practice you are going to need to use a loop or arrayfun()
work wolf
on 24 May 2022
Torsten
on 24 May 2022
Be careful with the 0-indices for u and a, but check whether
sum(-diff(a).*u(n:-1:1))
works for
sum_{k=1}^(n-1)(a_{n-1-k}-a_{n-k})*u_{k}
Torsten
on 24 May 2022
Then supply a, n alpha, h, f and t.
Is it correct that f depends on u_n and thus the equation above must be solved for u_n by a root finder ?
work wolf
on 25 May 2022
Torsten
on 25 May 2022
In f, how do you want to evaluate t^alpha ? t and alpha have a different number of elements.
You should explain the background of your question so that we are able to understand what you are trying to do in your code.
work wolf
on 25 May 2022
Torsten
on 25 May 2022
Again my question:
Is it correct that f depends on u_n and thus the equation above must be solved for u_n by a root finder ?
Torsten
on 25 May 2022
But then - starting from u(1) - you will have to solve a nonlinear equation for u(i). Is that true ?
Torsten
on 25 May 2022
I have no experience with fractional order differential equations, but since your computations diverge, something must be wrong with the implementation.
work wolf
on 25 May 2022
Torsten
on 25 May 2022
You should include a link where the forum can find the discretization used in your code.
work wolf
on 25 May 2022
Torsten
on 25 May 2022
A link where the solution scheme for your equation is derived and explained.
Answers (0)
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!