2016-12-01 30 views
0

讓我開始說我剛開始使用maxima,所以我不知道 很多。如何將數值分配給產品中的變量?

我定義的表達式

(%i77) f: 1 + exp(x(i,1) + x(i,2)); 
           x(i, 2) + x(i, 1) 
(%o77)      %e     + 1 

,我想在各種情況下,以評估,爲的 x(i,1)x(i,2)不同的值。

(%i78) ev(f, x(i,1)=0, x(i,2)=0); 
(%o78)         2 

的問題是產品的表達式中,ev沒有做任何事情 :

(%i79) product(f, i, 1, n); 
          n 
         /===\ 
         ! !  x(i, 2) + x(i, 1) 
(%o79)     ! ! (%e     + 1) 
         ! ! 
         i = 1 
(%i80) product(ev(f, x(i,1)=0, x(i,2)=0), i, 1, n); 
          n 
         /===\ 
         ! !  x(i, 2) + x(i, 1) 
(%o80)     ! ! (%e     + 1) 
         ! ! 
         i = 1 
(%i81) ev(product(f, i, 1, n), x(i,1)=0, x(i,2)=0); 
          n 
         /===\ 
         ! !  x(i, 2) + x(i, 1) 
(%o81)     ! ! (%e     + 1) 
         ! ! 
         i = 1 

如何去約一個 產品內部爲變量分配數值?

回答

1

也許你需要添加中間功能:

(%i1) f: 1 + exp(x(i,1) + x(i,2)); 
           x(i, 2) + x(i, 1) 
(%o1)      %e     + 1 
(%i2) g:product(f, i, 1, n); 
          n 
         /===\ 
         ! !  x(i, 2) + x(i, 1) 
(%o2)     ! ! (%e     + 1) 
         ! ! 
         i = 1 
(%i3) ev(g,x(i,1)=0,x(i,2)=0); 
             n 
(%o3)         2 
3

使用SUBST,而不是電動車。

(%i1) f: 1 + exp(x(i,1) + x(i,2)); 
         x(i, 2) + x(i, 1) 
(%o1)     %e     + 1 
(%i2) subst([x(i,1)=0, x(i,2)=0],f); 
(%o2)       2 
(%i3) subst([x(i,1)=0, x(i,2)=0],product(f, i, 1, n)); 
           n 
(%o3)       2