Error using symsum and arrays for summing over array elements

5 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

VBBV
VBBV il 6 Apr 2024
Modificato: VBBV il 6 Apr 2024
trial = symsum( array(double(q)).*q.^2 , q,2,7)
  6 Commenti
VBBV
VBBV il 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

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by