Hi guys, help me, please!

1 view (last 30 days)
Shadi Al-Ahmad
Shadi Al-Ahmad on 2 Oct 2019
Commented: Walter Roberson on 2 Oct 2019
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 Comments
Walter Roberson
Walter Roberson on 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.
Shadi Al-Ahmad
Shadi Al-Ahmad on 2 Oct 2019
Thank you Mr Walter

Sign in to comment.

Answers (1)

James Tursa
James Tursa on 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 Comments
Shadi Al-Ahmad
Shadi Al-Ahmad on 2 Oct 2019
Mr John, could you help me and write full MATLAB code for my problem, please?
Walter Roberson
Walter Roberson on 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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!