From: Barton W. <wi...@un...> - 2014-04-19 19:04:18
|
Maybe your function works perfectly. But consider: (%i1) gen_rhs(Ex,Vars)::= block([n:length(Ex),m:length(Vars)], Exs:subst(makelist(Vars[i]=y[i,1],i,m),Ex),print(Exs), MList:ev(makelist(makelist(Exs[i]),i,m)),print(MList), buildq([MList],lambda([t,y],matrix(splice(MList)))))$ (%i2) george : gen_rhs([sin(a+b),cos(a*b)],[a,b])$ [sin(y[2,1]+y[1,1]),cos(y[1,1]*y[2,1])] [[sin(y[2,1]+y[1,1])],[cos(y[1,1]*y[2,1])]] (%i3) george(5,z); (%o3) matrix([sin(z[2,1]+z[1,1])],[cos(z[1,1]*z[2,1])]) (%i4) y[2,7] : 42$ (%i5) george(5,z); (%o5) matrix([sin(y[2,1]+y[1,1])],[cos(y[1,1]*y[2,1])]) Are you certain this is what you want? ________________________________________ On 04/19/2014 03:13:39 PM, Helmut Jarausch wrote: > My attempt so far is > > gen_rhs(Ex,Vars)::= block([n:length(Ex),m:length(Vars)], > Exs:subst(makelist(Vars[i]=y[i,1],i,m),Ex),print(Exs), > MList:ev(makelist(makelist(Exs[i]),i,m)),print(MList), > buildq(MList,lambda([t,y],matrix(splice(MList)))) > )$ |