Hi guys, help me, please!
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How can I generate this recurrence formula a
(0)=1;a(1)=0;a(2)=3;a(3)=1/6;for n=2:28;a(n+2)=((6/((n+1)*(n+2)))*sum(a(i)*a(n-i);i=0..n));end
9 commentaires
Walter Roberson
le 2 Oct 2019
As I wrote, you need to figure out how to rewrite the sum(a(i+1)*a(n-i+1);i=0..n)) part. MATLAB does not offer any syntax for summation that uses variable=lower..upper notation (not unless you get fairly far into how the Symbolic Toolbox actually works.) MATLAB offers a symbolic summation of the form
symsum(SYMBOLIC_EXPRESSION, SYMBOLIC_VARIABLE, LOWER_BOUND, UPPER_BOUND)
however, the SYMBOLIC_VARIABLE cannot be used to index any array. symsum() is not intended for summation of a small finite number of terms: it is intended for creating formulas, such as
symsum(m^2, m, 1, n)
to get out the formula for the sum of squares of the first n numbers.
You need to find a different way to do the summation of indexed variables.
Réponses (1)
James Tursa
le 2 Oct 2019
MATLAB indexing is 1-based, not 0-based. You will need to adjust your indexing:
a(1) = 1;
a(2) = 0;
:
etc
4 commentaires
Walter Roberson
le 2 Oct 2019
You need to find a different way to do the summation of indexed variables.
Hint: use .* instead of * and vectorize
Hint:
>> A = [1 3 5 7]; A(1:3) .* A(2:4)
ans =
3 15 35
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!