how to symsum to type follow eqution
1 view (last 30 days)
Show older comments
BIN LIN
on 11 Aug 2015
Commented: Walter Roberson
on 13 Aug 2015
for example:if i know A1=1, A2=3,A3=7,B1=2,B2=4,B3=8 and so on, i want to symsum An+Bn , which n is variable,like A1+B1+A2+B2+A3+B3+...+An+Bn . how to type it in matlab?
0 Comments
Accepted Answer
Walter Roberson
on 12 Aug 2015
syms A B n m
total = symsum(A(m)+B(m), m, 1, n)
later you can
subs(total, n, 5) %to make n 5
2 Comments
Walter Roberson
on 13 Aug 2015
symsum cannot do that. An is not a symbolic expression.
A(n) is a symbolic expression if A is a vector (or matrix) of symbolic values or if A(n) is a function that returns a symbolic expression.
You can use
A = [A1, A2, A3];
B = [B1, B2, B3];
before you do the symsum().
You should be considering using
A = syms('A', [1 3]); %use appropriate value instead of 3
after which A(1) would be A1, A(2) would be A2, and so on, and you would be able to access those elements and even assign values to them if you are careful. For example,
C = A(2) + B(1);
subs(C, A, {1, 3, 7})
would extract the names of the variables in A as the second argument and would use those names as the targets of the substitutions where needed in C
What you asked for is not really symbolic variables: you are trying to use dynamic variable names, which causes much much more trouble than it is worth.
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!