如何将数值分配给产品中的变量?
问题描述:
让我开始说我刚开始使用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
如何去约一个 产品内部为变量分配数值?
答
也许你需要添加中间功能:
(%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
答
使用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