[Maple] Sommare tutti gli indici tranne uno
Ho bisogno di passare a Maple formule come questa:
[tex]\displaystyle \sum_\substack{j=1 \\ j\ne k}}^n (x-x_j)[/tex].
Come posso scrivere il range [tex]j=1..n,\,j \ne k[/tex]? In MATLAB si può risolvere con
qualcuno mi potrebbe suggerire un analogo Maple?
[tex]\displaystyle \sum_\substack{j=1 \\ j\ne k}}^n (x-x_j)[/tex].
Come posso scrivere il range [tex]j=1..n,\,j \ne k[/tex]? In MATLAB si può risolvere con
j=[1:k-1 k+1:n]
qualcuno mi potrebbe suggerire un analogo Maple?
Risposte
Probabilmente c'è una soluzione migliore ma potresti spezzare la sommatoria in
[tex]\displaystyle \sum_{j=1}^{k-1}(x - x_j) + \sum_{j=k+1}^{n}(x - x_j)[/tex]
[tex]\displaystyle \sum_{j=1}^{k-1}(x - x_j) + \sum_{j=k+1}^{n}(x - x_j)[/tex]
Grazie, apatriarca. La tua è una soluzione; nel frattempo ho scoperto che il comando add, a differenza di sum, accetta come range anche degli array: per esempio
Error, (in sum) second argument must be a name, name=a..b, name=RootOf, or name=value
Sospetto che sia proprio una limitazione del comando sum che non è stato progettato per gestire somme su insiemi arbitrari di indici, e che quindi l'unica soluzione sia quella da te prospettata. Ma non ho (purtroppo) il tempo di indagare ulteriormente, nel frattempo ho risolto per altra via.
add(n, n=[\$1..3, \$5..7])([size=75][\$1..3, \$5..7] è esattamente la stessa cosa che scrivere [1, 2, 3, 5, 6, 7][/size]) è accettato, mentre l'analoga scrittura con sum produce l'errore
Error, (in sum) second argument must be a name, name=a..b, name=RootOf, or name=value
Sospetto che sia proprio una limitazione del comando sum che non è stato progettato per gestire somme su insiemi arbitrari di indici, e che quindi l'unica soluzione sia quella da te prospettata. Ma non ho (purtroppo) il tempo di indagare ulteriormente, nel frattempo ho risolto per altra via.