Kitonum

21540 Reputation

26 Badges

17 years, 115 days

MaplePrimes Activity


These are answers submitted by Kitonum

MinMax:=n->[min,max](op~(1, ifactors(n)[2]))[ ];

 

Examples of use:

MinMax(5^7*53^3);
MinMax(53^3);

                                              5, 53
                                             53, 53
 

Is this the desired table?
restart;
Alphabet:=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];
nops(%)-1;
Primes:=[seq(ithprime(i), i=1..%)];
T:=table(Primes=~Alphabet[2..-1]);
T[23];


 

 

Diff  is the inert form. Use  diff  or  the differential operator  D :

restart;
f[1]:=x[1]+x[2];
f[2]:=x[1]-x[2];
g:=unapply(f[1], [x[1],x[2]]);

diff(f[1], x[1]);  # The differentiation of the expression
D[1](g)(x[1],x[2]);  # The use of differential operator
                              

 

 

Your inequality, in addition to the unknown  a , contains 2 parameters  b  and  K . Maple does not solve the inequality with parameters, so to solve it is necessary to specify the values of these parameters.

Example of a solution:

restart;
Ineq:=0 < 2*b^2*(10*K*a+3*K*b-sqrt((K+(2*K*a+1)/b)^2-4*K/b)*b+5);
b:=1; K:=5;
solve(Ineq, a);

 

You can also use  Explore command to investigate the change of the solution depending on changing these parameters.

I do not know the built-in command for this, but the simple procedure  Sign  solves the problem:

Sign:=proc(p::list)

local i, j, n, N;

n:=nops(p); N:=0;

for i from 1 to n-1 do

for j from i+1 to n do

if p[i]>p[j] then N:=N+1 fi;

od; od;

`if`(N::even,1,-1);

end proc:

 

Examples of use:

Sign([3,4,1,2]);
Sign([1,2,4,3]);

                                                      1
                                                     -1

 

Since the range of the function  1/(x^2+y^2)  is unbounded in a bounded region  x=-2..2, y=-2..2 , Maple simply does not know for which values of  C  to plot the curves  1/(x^2+y^2)=C . If you specify these values, then there are no problems:

plots:-contourplot(1/(x^2+y^2), x = -2 .. 2, y = -2 .. 2, contours = [seq(i, i = 0.5 .. 4, 0.5)]);


Addition. I think this post will be interesting for you.

Maple does not solve arbitrary matrix equations, but only matrix equations of the form  A.X=B  in which  A  and  B  are known (specific) matrices, and  X  is an unknown matrix. See help on  LinearAlgebra:-LinearSolve  command.

Is this what you want?

Tour2:=[[[1, 2, 3, 4]], [[1, 2], [1, 3, 4]], [[1, 3], [1, 2, 4]], [[1, 4], [1, 2, 3]], [[1, 2], [1, 3], [1, 4]]]:
seq(seq(add(d[s[i]]*x[s[i],s[i+1]], i=1..nops(s)-1)<=K , s=t), t=Tour2);

d[1]*x[1, 2]+d[2]*x[2, 3]+d[3]*x[3, 4] <= K, d[1]*x[1, 2] <= K, d[1]*x[1, 3]+d[3]*x[3, 4] <= K, d[1]*x[1, 3] <= K, d[1]*x[1, 2]+d[2]*x[2, 4] <= K, d[1]*x[1, 4] <= K, d[1]*x[1, 2]+d[2]*x[2, 3] <= K, d[1]*x[1, 2] <= K, d[1]*x[1, 3] <= K, d[1]*x[1, 4] <= K


 


 

Abitur 2016 B2 Aufgabe B2.1 Pyramide

a)

 

restart; with(geom3d); with(plots)

point(A, 0, -6, 0);

A

 

[0, -6, 0]

 

B

 

[6, 0, 0]

 

C

 

[0, 6, 0]

 

S

 

[0, 0, 5]

(1.1)

P := [[kA, kB, kS], [kB, kC, kS], [kA, kB, kC], [kC, kA, kS]]:

Punkte := plots:-pointplot3d([kA, kB, kC, kS], color = [red, green, blue, black], symbol = solidsphere, symbolsize = 15, labels = [x1, x2, x3]):

plots:-display(Punkte, Pyramide, scaling = constrained);

 

Mittelpunkt zwischen Kante AS

geom3d:-point(M1, 0, -3, 2.5);

M1

 

[0, -3, 2.5]

 

M2

 

[0, 3, 2.5]

(1.2)

midpoint(M, A, S); detail(M)

M

 

Geom3dDetail(["name of the object", M], ["form of the object", point3d], ["coordinates of the point", [0, -3, 5/2]])

(1.3)

plane(E, [M1, M2, B]);

E

(1.4)

detail(E)

Warning, assuming that the names of the axes are _x, _y and _z

 

Geom3dDetail(["name of the object", E], ["form of the object", plane3d], ["equation of the plane", 90.0-15.0*_x-36*_z = 0])

(1.5)

geom3d:-triangle(T1, [M1, M2, B]);

T1

(1.6)

Dreieck := draw(T1, labels = [x1, x2, x3]):

plots:-display(Punkte, Pyramide, Dreieck, view = [0 .. 6, -6 .. 6, 0 .. 5]);

 

b)

   

Aufgabe B2.2

 

   


 

Download Abituraufgabe_2016_B2_Pyramide_new.mw

Should be

plot(convert~([x,y], list)[ ]);

The  Tangents  procedure finds tangent lines to a curve (given by the equation  F(x,y)=0)  and passing through the given point  P .  Formal parameters of the procedure:  F  is the left part of the equation   F(x,y)=0  (for example if the curve has the equation  y=f(x)  then  F  is  y - f(x) ),  P is the list of coordinates of the point through which the tangent passes (the point  P may lie on the curve  and may not lie). 

restart;
Tangents:=proc(F::algebraic, P::list)
local x, y, f, Eq, Points, n, i;
uses RealDomain;
x,y:=op(indets(F, name)); 
f:=unapply(F, x,y);
if f(op(P))=0 then return D[1](f)(op(P))*(x-P[1])+D[2](f)(op(P))*(y-P[2])=0 else
Eq:=D[1](f)(x0,y0)*(x-x0)+D[2](f)(x0,y0)*(y-y0)=0;
Points:=[solve({subs([x,y]=~P, lhs(Eq)), f(x0,y0)=0}, explicit)];
n:=nops(Points);
seq(collect(simplify(subs(Points[i], Eq)),[x,y]), i=1..n) fi;
end proc:

 

Example of use - find all the tangents to the curve  y=x^3-x  passing through the point  with the coordinates  (1,-0.5) .

L:=Tangents(y-x^3+x, [1,-0.5]);  # The tangents lines in the implicit form
y=~(solve~([L], y))[ ];  # The same in the explicit form
plots:-implicitplot([y-x^3+x,L], x=-2..2, y=-1..3, color=[red,blue$3], gridrefine=3);  # The plot


 

Tang.mw

restart;
Circle:=x^2+y^2+6*x-8*y+25-1/16:
Eq:=subs(y=m*x, Circle);
discrim(Eq, x);
M:=[solve(%)];
y=M[1]*x;
 # The first tangent
y=M[2]*x;   # The second tangent
plots:-implicitplot([Circle, %, %%], x=-4..0, y=0..5, color=[red,blue$2], gridrefine=5, scaling=constrained);


Addition. Here is another solution that is more general and can be applied to an arbitrary curve given by equation  F(x,y)=0 . We find the tangent at a point  (x0,y0) at this curve and varying this point, we find points at the curve whose tangents pass through an given point (the origin at the example in the issue) :

restart;
F:=(x,y)->x^2+y^2+6*x-8*y+25-1/16:
Eq:=D[1](F)(x0,y0)*(x-x0)+D[2](F)(x0,y0)*(y-y0)=0;  
# Equation of the tangent line to the curve F(x,y)=0  at the point  (x0,y0)
P:=[solve({subs([x=0,y=0], lhs(%)), F(x0,y0)=0}, explicit)];  # The points of tangency
L1:=subs(P[1], Eq);  # The first tangent
L2:=subs(P[2], Eq);  # The second tangent
y=collect(expand(rationalize(solve(L1, y))), x);  # The final results - the tangent lines in explicit form
y=collect(expand(rationalize(solve(L2, y))), x);

Tangents.mw

M:=combinat:-permute([0$16,1$16],16):
S:=[seq(`if`(LinearAlgebra:-Rank(Matrix(4,m))>=3, m, NULL), m=M)]:  
# The list of all such matrices, represented as the lists formed of the rows
nops(S);   # The total number of such matrices  
Matrix~(4, S[1..10])[ ];   # The first 10 such matrices
Matrix~(4, S[-10..-1])[ ];    # The last 10 such matrices

Use  table  for this:

F:=table([a=1, b=3, c=-9, d=5]):
F[c];

                                           -9

 

Addition. The way by  a procedure:


oldVars:=[a,b,c,d]: newVars:=[1,3,-9,5]:
myfunc:=proc(x)
local i;
for i from 1 to nops(oldVars) do
if x=oldVars[i] then return newVars[i] fi;
od;
undefined;
end proc:
myfunc(d);  

                               5

min(subs(0=NULL, L));

This method  subs(0=NULL, L)  just takes away all the zeros from a list, maintaining its structure.

First 159 160 161 162 163 164 165 Last Page 161 of 290