2016-12-01 10 views
0

私はmaximaを使い始めたと言って始めるので、それについてはよく分かりません。 製品内の変数に数値を割り当てる方法は?

私は x(i,1)x(i,2)の異なる値に対して、表現

私はさまざまなコンテキストで評価したい
(%i77) f: 1 + exp(x(i,1) + x(i,2)); 
           x(i, 2) + x(i, 1) 
(%o77)      %e     + 1 

を定義しました。

(%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

たぶん、あなたは中間の機能を追加する必要があります。代わりに、EVの

(%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 
関連する問題