Error using symsum and arrays for summing over array elements

2 Ansichten (letzte 30 Tage)
Tsz Tsun
Tsz Tsun am 6 Apr. 2024
Kommentiert: Tsz Tsun am 7 Apr. 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.

Akzeptierte Antwort

VBBV
VBBV am 6 Apr. 2024
Bearbeitet: VBBV am 6 Apr. 2024
trial = symsum( array(double(q)).*q.^2 , q,2,7)
  6 Kommentare
VBBV
VBBV am 7 Apr. 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 am 7 Apr. 2024
Thanks a lot, it works well !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by