이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
how can I use summation and index for the series
조회 수: 4 (최근 30일)
이전 댓글 표시
work wolf
2022년 5월 24일
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
Walter Roberson
2022년 5월 24일
I suspect that in practice you are going to need to use a loop or arrayfun()
work wolf
2022년 5월 24일
@Walter Roberson thank you for your comment, please can you guid me about code?
Torsten
2022년 5월 24일
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
2022년 5월 24일
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
2022년 5월 25일
u0=0;
alpha=[0.1 0.3 0.5 0.6 0.66 0.9 1]; %multi values (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);
%----------------------------------------------
Torsten
2022년 5월 25일
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
2022년 5월 25일
the code for each alpha, i.e the code run for o.1 then repeate all steps for another value as 0.3. in same time, can you evaluate for one element as alpha= 0.1 then change alpha to 0.3, manually. i hope understand me :)
Torsten
2022년 5월 25일
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 ?
work wolf
2022년 5월 25일
편집: work wolf
2022년 5월 25일
Note: i am trying to write the folowing code , but i don't know if it right or wrong?!
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;
Torsten
2022년 5월 25일
But then - starting from u(1) - you will have to solve a nonlinear equation for u(i). Is that true ?
Torsten
2022년 5월 25일
I have no experience with fractional order differential equations, but since your computations diverge, something must be wrong with the implementation.
Torsten
2022년 5월 25일
You should include a link where the forum can find the discretization used in your code.
답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
아시아 태평양
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)

