Hi guys, help me, please!
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 2 de Oct. de 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.
Respuestas (1)
James Tursa
el 2 de Oct. de 2019
MATLAB indexing is 1-based, not 0-based. You will need to adjust your indexing:
a(1) = 1;
a(2) = 0;
:
etc
4 comentarios
Walter Roberson
el 2 de Oct. de 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
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!