2016-12-01 72 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