How to make a serie ?

3 vues (au cours des 30 derniers jours)
Yamina chbak
Yamina chbak le 16 Déc 2020
Modifié(e) : Yamina chbak le 18 Déc 2020
Hi, i need to write a sum of serie :
with b_k= (k+1)^2-(k)^2 and u^(m-k) is the numerical solution approximation u(x,t_m-k) for k=1,...m-1 and m=1,....,20
for m=1:20
syms k u
b(k)=(k+1)^2-k^2;
F=symsum((b(k)-b(k+1))*u(:,m-k),k,1,m-1)
end
F
but i get error
Necessary I need u(:,m-k)
Please help me

Réponse acceptée

Walter Roberson
Walter Roberson le 16 Déc 2020
It is never possible to use a symbolic variable as an index in MATLAB.
You need to create a definite list of values and sum() the list. Or loop adding on to a total.
Note by the way that and so b(k) - b(k+1) = (2*k+1) - (2*(k+1)+1) = -2
  5 commentaires
Walter Roberson
Walter Roberson le 17 Déc 2020
Sorry, you are changing equations too much. Your equation here is quite different than your equation in your Question, and it is not really reasonable to answer both at the same time as they are too different. What is the question you need answered?
Note: using U(:,m-k) is not equivalent to as t is obviously a vector of values that as outside observers we need to assume is a real number in or possibly even in and cannot assume that t just happens to be linear indices . At the very least it is likely that t starts from 0, and so is not suitable for indexing. Indeed, since then k can equal m, and then would be 0, and that is not a valid matrix index.
Yamina chbak
Yamina chbak le 17 Déc 2020
Modifié(e) : Yamina chbak le 18 Déc 2020
You are right !, I'm sorry @Walter Roberson. I just asked my first question in a simple formule of b but your answer is not i want. In fact, it's the same problem with different formule, it's all about calculate the sum of series matrix.
I have a matrix U(:,k). My final question : What is the best way to write the code to calculate sum of series matrix :?
This what i did before
alpha=0.2;b(0)=1.0;c(0)=2.^(1-alpha)-1;
S=U(:,1); %initialize of S
for m=2:20
for k=1:m
b(k)=(k+1).^(1-alpha)-k.^(1-alpha); c(k)=(k+2).^(1-alpha)-(k+1).^(1-alpha);
S=(b(k)-c(k))*U(:,m-k);
end
end
S
I'm sorry again, but I learned a lot from you.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by