Kitonum

21530 Reputation

26 Badges

17 years, 85 days

MaplePrimes Activity


These are answers submitted by Kitonum

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.

Probably it can be done only manually (not programmatically) in text mode. You can copy and paste it into other text inside the worksheet.

 

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