Kitonum

21952 Reputation

26 Badges

17 years, 314 days

MaplePrimes Activity


These are answers submitted by Kitonum

To calculate sums with specific numerical (not symbolic) limits, use the  add command instead of sum :

M:=<x[1]^2+x[2]^2,-x[1]^2-x[2]^2; -x[1]^2-x[2]^2,x[1]^2+x[2]^2>;

Matrix(2, 2, {(1, 1) = x[1]^2+x[2]^2, (1, 2) = -x[1]^2-x[2]^2, (2, 1) = -x[1]^2-x[2]^2, (2, 2) = x[1]^2+x[2]^2})

(1)

M[1,1];

x[1]^2+x[2]^2

(2)

diff(M[1,1],x[1]);

2*x[1]

(3)

diff(M[1,1],x[2]);

2*x[2]

(4)

add(diff(M[1,1],x[k])+diff(M[1,k],x[1])-diff(M[k,1],x[1]), k=1..2);

2*x[1]+2*x[2]

(5)

 


The above also shows how easy it is to enter a matrix using 1D input instead of 2D. No palettes needed.

Download add.mw

 

 

You missed the multiplication sign. Should be

V:= (4*Pi*(d/2)^3)/3;
eval(V, d = 6.35*мм);

                    
                 

In arrays, indexing can start with any integer. For example:

n:=Array(0..2, [1,2,3]);
n[0];

              n := Array(0 .. 2, {0 = 1, 1 = 2, 2 = 3})
                                            1

Use the  expand  command:


 

restart;

eq_4_34 := x__alpha = C*x__a - C/2 * (x__b + x__c);

x__alpha = C*x__a-(1/2)*C*(x__b+x__c)

(1)

eq_4_33 := x__0 = 1/3*(x__a + x__b + x__c);

x__0 = (1/3)*x__a+(1/3)*x__b+(1/3)*x__c

(2)

eq_4_33aux := X__sub = (x__b + x__c);

X__sub = x__b+x__c

(3)

attempt2 := algsubs((x__b + x__c) = X__sub, eq_4_33);

x__0 = (1/3)*x__a+(1/3)*X__sub

(4)

attempt3 := X__sub = solve(attempt2, X__sub);

X__sub = -x__a+3*x__0

(5)

eq_4_34x := x__alpha = algsubs((x__b + x__c) = 3*x__0 - x__a, rhs(eq_4_34));

x__alpha = -(1/2)*C*(-x__a+3*x__0)+C*x__a

(6)

eq_4_35 := x__a = simplify(solve(eq_4_34x, x__a));

x__a = (1/3)*(3*C*x__0+2*x__alpha)/C

(7)

expand(eq_4_35);
desired:= x__a = x__0 + (2*x__alpha)/(3*C);

x__a = x__0+(2/3)*x__alpha/C

 

x__a = x__0+(2/3)*x__alpha/C

(8)

 


 

Download Q20201005_2_new.mw

restart;
z:=x+I*y:
F:=evalc(abs(z+1)*abs(z-1)=1);
 plots:-implicitplot(F, x=-3..3, y=-3..3, gridrefine=3, scaling=constrained, size=[600,300]);

                   

     

1. To calculate derivatives at specific points, it is better to use the differentiation operator  D  than a combination of  diff  with  subs.
2. For a better perception of what this paraboloid looks like, it is necessary to reduce the ranges on all 3 axes.
3. Calculation confirms that the vertex of this paraboloid is (0, 0, -6).

restart;
f:=(x,y)->2*x^2+3*y^2-x*y-6;
D[1](f)(1,1); # The partial derivative by x in the point (1,1)
D[2](f)(1,1); # The partial derivative by y in the point (1,1)
p1:=plot3d(f(x,y), x=-3..3, y=-3..3, style=patchcontour, view=-7..6):
p2:=plots:-spacecurve([x,1,f(x,1)],x=-3..3, color=red, thickness=3):
p3:=plots:-spacecurve([1,y,f(1,y)],y=-3..3, color=blue, thickness=3):
plots:-display(p1,p2,p3, axes=normal);
minimize(f(x,y), x=-3..3, y=-3..3, location);

             

           

Download Q20201001_new.mw
 

restart;

Given_eq_3_37 := M = k_ * sqrt(L__1 * L__2);

M = k_*(L__1*L__2)^(1/2)

(1)

Given_eq_3_30 := k_ = sqrt((L__m)^2 / (L__1 * L__2p));

k_ = (L__m^2/(L__1*L__2p))^(1/2)

(2)

Given_eq_3_37a := combine(subs([Given_eq_3_30], Given_eq_3_37)) assuming L__1>0, L__2>0;

M = (L__2*L__m^2/L__2p)^(1/2)

(3)

 


 

Download Q20201001_new.mw

 

Use the option  free=...  , for example:


 

A := Matrix(4, 4, {(1, 1) = 1, (1, 2) = 3, (1, 3) = 4.5, (1, 4) = 7, (2, 1) = 0, (2, 2) = 2, (2, 3) = 5, (2, 4) = 9, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0}); B := Vector(4, {(1) = 0, (2) = 0, (3) = 0, (4) = 0}); C := LinearAlgebra[LinearSolve](A, B, free = 't')

Vector[column](%id = 18446746219697584838)

(1)

W1 := C[1]; W2 := C[2]; W3 := C[3]; W4 := C[4]; Q := W1*x^4+W2*x^3+W3*x^2+W1

(HFloat(3.0)*t[2]+HFloat(6.5)*t[1])*x^4+(-HFloat(2.5)*t[2]-HFloat(4.5)*t[1])*x^3+t[2]*x^2+HFloat(3.0)*t[2]+HFloat(6.5)*t[1]

(2)

``

NULL


 

Download MultipleTCoefficients_new.mw

 

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);

 

First 53 54 55 56 57 58 59 Last Page 55 of 292