Error using symsum and arrays for summing over array elements

5 vues (au cours des 30 derniers jours)
Tsz Tsun
Tsz Tsun le 6 Avr 2024
Commenté : Tsz Tsun le 7 Avr 2024
Hi all, I have a problem with using symsum and arrays. For example consider the following code, and I get the error 'Error using syms, using input and output arguments simultaneously is not supported '. How could I fix it?
array(1)=0.4;
array(2)=0.99;
array(3)=0.87;
array(4)=0.33;
array(5)=0.33;
array(6)=0.33;
array(7)=0.21;
array(8)=1.3;
array(9)=1.2;
array(10)=0.04;
disp(array)
0.4000 0.9900 0.8700 0.3300 0.3300 0.3300 0.2100 1.3000 1.2000 0.0400
syms q
trial = symsum( array(syms(q))*q^2 , q,2,7)
Error using syms (line 146)
Using input and output arguments simultaneously is not supported.

Réponse acceptée

VBBV
VBBV le 6 Avr 2024
Modifié(e) : VBBV le 6 Avr 2024
trial = symsum( array(double(q)).*q.^2 , q,2,7)
  6 commentaires
VBBV
VBBV le 7 Avr 2024
@Tsz Tsun you could also subs the symbolic variable for that index range and use sum
array(1)=0.4;
array(2)=0.99;
array(3)=0.87;
array(4)=0.33;
array(5)=0.33;
array(6)=0.33;
array(7)=0.21;
array(8)=1.3;
array(9)=1.2;
array(10)=0.04;
disp(array)
0.4000 0.9900 0.8700 0.3300 0.3300 0.3300 0.2100 1.3000 1.2000 0.0400
syms q
trial = sum(array(2:7).*subs(q.^2, q,2:7)) % subs the variable
trial = 
double(trial)
ans = 47.4900
Tsz Tsun
Tsz Tsun le 7 Avr 2024
Thanks a lot, it works well !

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by