
Re: Need to split function into terms and then plot
Posted:
Oct 30, 2013 12:10 AM


u[x_] := c0 + c1*x + c2*x^2
coef = {c0, c1, c2};
r = {u1, u2, u3};
Clear[le];
col = Collect[u[x] /. Solve[r == (u /@ {0, le, le/2}), coef], r][[1]]
u3*((4*x)/le  (4*x^2)/le^2) + u1*(1  (3*x)/le + (2*x^2)/le^2) + u2*((x/le) + (2*x^2)/le^2)
{n1, n2, n3} = Coefficient[col, #] & /@ r
{1  (3*x)/le + (2*x^2)/le^2, (x/le) + (2*x^2)/le^2, (4*x)/le  (4*x^2)/le^2}
Module[{le = le = 1.5}, Plot[{n1, n2, n3}, {x, 0, le}, PlotLegends > {"n1", "n2", "n3"}]]
Bob Hanlon
On Mon, Oct 28, 2013 at 11:22 PM, Honza Vorel <honzavorel@gmail.com> wrote:
> I am a newbie and need help please. I hope I can express myself clearly > enough, so you can understand me. > > #I have a function: > u[x_]:=c0+c1 * x +c2 * x^2 > > #And I am interested in these three points 0,le/2 and le (length) > points={0,le/2,le} > > #When I map the above together > c=Map[u,points] > > #I'll get c0, c0+c1*le/2+c2*le^2/4, c0+c1*le + c2 * le^2 > > #define my deflection vector > r={u1,u2,u3} > > #Solve for c0,c1,c2 > c=Solve[c==r,{c0,c1,c2}] > #I'll get c0>u1, c1>(3u14u2+u3)/le and c2> 2(u12u2+u3)/le^2 > > > #replace c into u[x_] > u[x]/.c > > # separate by variable u1,u2,u3 > Collect[%,{u1,u2,u3}] > > #I'll get {u1(1+2x^2/le^23x/le)+u3(2x^2/le^2x/le)+u2(4x^2/le^2+4x/le)} > > #Now I need to separate the above like this (le=1.5): > > # n1=(1+2x^2/le^23x/le) > # n2=(4x^2/le^2+4x/le) > # n3=(2x^2/le^2x/le) > > # And I don't know how. > > # So I can plot it: Plot[{n1,n2,n3},{x,0,1}] > # Thanks for your help. > > Honza > >

