Kitonum

21530 Reputation

26 Badges

17 years, 82 days

MaplePrimes Activity


These are answers submitted by Kitonum

In your worksheet the function  F  was not defined correctly. Here's the revised version:


 

restart

with(LinearAlgebra)

F := proc (x) options operator, arrow; x^2 end proc

F(u(t))

u(t)^2

(1)

for n from 0 while n <= 6 do V[n] := (diff(F(sum(t^i*u[i], i = 0 .. n)), [`$`(t, n)]))/factorial(n) end do

t := 0

0

(2)

for i from 0 while i <= n-1 do A[i] := V[i] end do

u[0]^2

 

2*u[0]*u[1]

 

2*u[0]*u[2]+u[1]^2

 

2*u[0]*u[3]+2*u[1]*u[2]

 

2*u[0]*u[4]+2*u[1]*u[3]+u[2]^2

 

2*u[0]*u[5]+2*u[1]*u[4]+2*u[2]*u[3]

 

2*u[0]*u[6]+2*u[1]*u[5]+2*u[2]*u[4]+u[3]^2

(3)

NULL

``


 

Download Adomian_Polynomials_new.mw

Perhaps for your purposes it is sufficient that the index does not take on any values, but from some finite set, for example from  {1, 2, ... ,100} :

for k from 1 to 100 do
alias(F[k]=F[k](x));
od:

whattype(F[1]);
whattype(F[33]);

 

The easiest way to do this is with the  plots:-inequal  command:

restart; 
with(plots): 
inequal({x-y-1 <= 0, 0.5*y^2-x-3 <= 0}, x = -4 .. 6, y = -3 .. 5, color = red);

 

restart;
ode:=[diff(x(t),t) = 2*x(t)-y(t), diff(y(t),t) = 3*x(t)-2*y(t)]:
p1:=DEtools:-dfieldplot(ode,[x(t),y(t)],t=-2..2,x=-4..4, y=-4..4,arrows=SLIM,color=coral,labels=[``,``]):
p2:=plot(3*x,x=-4..4,y=-4..4,color=magenta):
p3:=plot(x,x=-4..4,y=-4..4,color=blue):
T:=plots:-textplot([[4.5,-0.2,x],[-0.2,4.5,y]], font=[times,16]):
plots:-display(p1,p2,p3,T, view=[-4.6..4.6,-4.6..4.6], size=[600,600]);

                  


 

restart;

B:=<<39,76,151,301,601>|<7.71E-8,5.43E-9,3.55E-10,2.11E-11,1.32E-12>|
        <26,51,101,201,401>|<6.46E-3,1.17E-4,1.88E-6,2.96E-8,4.46E-10>|
        <26,51,101,201,401>|<2.74E-4,6.34E-6,1.16E-7,1.85E-9,2.92E-11>|
        <26,51,101,201,401>|<6.48E-4,4.39E-5,2.99E-6,1.88E-7,1.18E-8>>;

for i from 1 to 5 do
   B[i, 2] := log[10](B[i, 2]):                                          
   B[i, 4] := log[10](B[i, 4]):                 
   B[i, 6] := log[10](B[i, 6]):                 
   B[i, 8] := log[10](B[i, 8]):        
       

   
end do:  # computing the log of the max-error
B: # This is the table of values we'll plot.
local log:
T:=plot([B[..,[1, 2]],B[1..1,[1, 2]], B[.., [3, 4]],B[1..1,[3, 4]],
         B[..,[5, 6]],B[1..1,[5, 6]],B[.., [7, 8]],B[1..1,[7, 8]]],
        legend = ["","BFFM","", "BHT","", "BHTRKNM", "", "BNM"],
        #title="Efficiency Curve for Example 1",
        style = ["pointline","point","pointline","point","pointline","point","pointline","point"],
        symbolsize = 15,axes = framed,
        symbol = [box,box, circle,circle,diamond,diamond,solidcircle, solidcircle],
        color=[red, red, blue,blue, black, black, green, green],
        axis = [gridlines = [colour = green, majorlines = 1,linestyle = dot]],
        labels = ["NFE", log[10](cat(`Max `,Err))]);

Matrix(5, 8, {(1, 1) = 39, (1, 2) = 0.7710000000e-7, (1, 3) = 26, (1, 4) = 0.646e-2, (1, 5) = 26, (1, 6) = 0.274e-3, (1, 7) = 26, (1, 8) = 0.648e-3, (2, 1) = 76, (2, 2) = 0.5430000000e-8, (2, 3) = 51, (2, 4) = 0.117e-3, (2, 5) = 51, (2, 6) = 0.634e-5, (2, 7) = 51, (2, 8) = 0.439e-4, (3, 1) = 151, (3, 2) = 0.3550000000e-9, (3, 3) = 101, (3, 4) = 0.188e-5, (3, 5) = 101, (3, 6) = 0.1160000000e-6, (3, 7) = 101, (3, 8) = 0.299e-5, (4, 1) = 301, (4, 2) = 0.2110000000e-10, (4, 3) = 201, (4, 4) = 0.2960000000e-7, (4, 5) = 201, (4, 6) = 0.1850000000e-8, (4, 7) = 201, (4, 8) = 0.1880000000e-6, (5, 1) = 601, (5, 2) = 0.1320000000e-11, (5, 3) = 401, (5, 4) = 0.4460000000e-9, (5, 5) = 401, (5, 6) = 0.2920000000e-10, (5, 7) = 401, (5, 8) = 0.1180000000e-7})

 

Warning, A new binding for the name `log` has been created. The global instance of this name is still accessible using the :- prefix, :-`log`.  See ?protect for details.

 

 

 


 

Download Help_data_points_new1.mw

 

In the example below, we construct 2 vertical lines (directrixes for an ellipse) in two ways:


 

restart;
a:=5: b:=3:
P:=plots:-implicitplot(x^2/a^2+y^2/b^2=1, x=-a..a, y=-b..b, color=blue):
c:=sqrt(a^2-b^2);
e:=c/a;
L1:=plot([[-a/e,t,t=-4..4],[a/e,t,t=-4..4]], color=red): # The first way
L2:=plots:-implicitplot([x=-a/e, x=a/e], x=-7..7, y=-4..4, color=red): # The second way
plots:-display(P, L1, scaling=constrained, view=[-7..7,-4..4]);
plots:-display(P, L2, scaling=constrained, view=[-7..7,-4..4]);

4

 

4/5

 

 

 

 


Edit. We can also build any straight lines using the plottools:-line  command (the third way).

Download vl-2.mw

Example:

restart;
f:=x->x^3;
(D@@2)(f)(x);
(D@@2)(f)(3);

 

Let (x0,y0) is a point on the ellipse E.


 

restart;
eq:=x0*x/a^2+y0*y/b^2=1: # The equation of the tangent in the point(x0,y0) (from wiki)
OT:=solve(eval(eq,y=0),x);
Om:=x0:
Om*OT;

k:=-coeff(lhs(eq),x)/coeff(lhs(eq),y); # The slope of the line eq
eq1:=y-y0=-1/k*(x-x0); # The equation of the normal in the point(x0,y0)
ON:=solve(eval(eq1,y=0),x);
simplify(ON,{a^2-b^2=c^2});
 

a^2/x0

 

a^2

 

-x0*b^2/(a^2*y0)

 

y-y0 = a^2*y0*(x-x0)/(x0*b^2)

 

(a^2-b^2)*x0/a^2

 

c^2*x0/a^2

(1)

 


Edit.

Download prop_23.mw

 

Or (an example):

restart;
p:=plot(exp(x), x=-2..2);
plottools:-reflect(p, [[0,0],[1,1]]);

 

Probably the procedures  IntegerPoints (or  IntegerPoints1) from the post  https://www.mapleprimes.com/posts/202437-Integer-Points-In-Polyhedral-Regions  will be useful for solving your problems.

You can use nested  seq  for this. What we get is called not permutations but Cartesian product  


 

restart;
S:={0,1,2}:
seq(seq(seq(seq([u,x,y,z], z=S), y=S), x=S), u=S);

[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 2], [0, 0, 1, 0], [0, 0, 1, 1], [0, 0, 1, 2], [0, 0, 2, 0], [0, 0, 2, 1], [0, 0, 2, 2], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 0, 2], [0, 1, 1, 0], [0, 1, 1, 1], [0, 1, 1, 2], [0, 1, 2, 0], [0, 1, 2, 1], [0, 1, 2, 2], [0, 2, 0, 0], [0, 2, 0, 1], [0, 2, 0, 2], [0, 2, 1, 0], [0, 2, 1, 1], [0, 2, 1, 2], [0, 2, 2, 0], [0, 2, 2, 1], [0, 2, 2, 2], [1, 0, 0, 0], [1, 0, 0, 1], [1, 0, 0, 2], [1, 0, 1, 0], [1, 0, 1, 1], [1, 0, 1, 2], [1, 0, 2, 0], [1, 0, 2, 1], [1, 0, 2, 2], [1, 1, 0, 0], [1, 1, 0, 1], [1, 1, 0, 2], [1, 1, 1, 0], [1, 1, 1, 1], [1, 1, 1, 2], [1, 1, 2, 0], [1, 1, 2, 1], [1, 1, 2, 2], [1, 2, 0, 0], [1, 2, 0, 1], [1, 2, 0, 2], [1, 2, 1, 0], [1, 2, 1, 1], [1, 2, 1, 2], [1, 2, 2, 0], [1, 2, 2, 1], [1, 2, 2, 2], [2, 0, 0, 0], [2, 0, 0, 1], [2, 0, 0, 2], [2, 0, 1, 0], [2, 0, 1, 1], [2, 0, 1, 2], [2, 0, 2, 0], [2, 0, 2, 1], [2, 0, 2, 2], [2, 1, 0, 0], [2, 1, 0, 1], [2, 1, 0, 2], [2, 1, 1, 0], [2, 1, 1, 1], [2, 1, 1, 2], [2, 1, 2, 0], [2, 1, 2, 1], [2, 1, 2, 2], [2, 2, 0, 0], [2, 2, 0, 1], [2, 2, 0, 2], [2, 2, 1, 0], [2, 2, 1, 1], [2, 2, 1, 2], [2, 2, 2, 0], [2, 2, 2, 1], [2, 2, 2, 2]

(1)

nops([%])=ifactor(nops([%]));

81 = ``(3)^4

(2)

 


 

Download nested_seq.mw


 

restart;
opt1:="a=1, b=2":
opt2:="a=0.7, b=3":
f:=a*x^b:
plot([eval(f,[parse(opt1)]),eval(f,[parse(opt2)])], x=-2..2, color=[red,blue], legend=[opt1,opt2], legendstyle=[location=left, font=[times,16]], scaling=constrained, size=[600,600]);

 

 


Edit: Here's another (prettier but more complex) version:

restart;
opt1:="a=1, b=2":
opt2:="a=0.7, b=3":
f:=a*x^b:
A:=plot([eval(f,[parse(opt1)]),eval(f,[parse(opt2)])], x=-2..2, color=[red,blue], thickness=2):
B:=plot([5.2,4.7], x=-0.9..-0.4, color=[red,blue], thickness=3):
T:=plots:-textplot([[-2.9,5.2,opt1],[-3.2,4.7,opt2]], font=[times,16], align=right):
plots:-display(A,B,T, scaling=constrained, size=[600,500]);

                          

 

Download legend.mw

restart;
A:=Matrix([[0,1,-1],[-1,-2,2],[-1,-2,2]]):
v:=Vector([-1,1,1]):
sol := LinearAlgebra:-LinearSolve(A,v);
indets(sol, 'indexed');

 

v:=[2,4,7];
ilcm( op(v));
# Or
ilcm(v[]);

 

In the help for  fsolve  we see  
"variables - (optional) name or set(name); unknowns for which to solve"

So use  x0  and  y0  instead (for example).

First 51 52 53 54 55 56 57 Last Page 53 of 290