Kitonum

21435 Reputation

26 Badges

17 years, 29 days

MaplePrimes Activity


These are answers submitted by Kitonum

This does  VectorCalculus[Gradient]  command.

1) In Maple  cosec  is coded as  csc .

2) The identity  6*x*cot(x) - 3*x^2*csc(x)^2=6*x*cot(x)+3*x^2*(-1-cot(x)^2)  can be proved by the direct commands  is  or  testeq :

is(6*x*cot(x) - 3*x^2*csc(x)^2=6*x*cot(x)+3*x^2*(-1-cot(x)^2));

testeq(6*x*cot(x) - 3*x^2*csc(x)^2=6*x*cot(x)+3*x^2*(-1-cot(x)^2));

                                                          true

                                                          true

restart;

f := plottools[transform]((x, y)->[x-(1/2)*y, y]):

A := plottools[polygon]([[-1, -1], [-1, 1], [1, 1], [1, -1]], style = line, color = blue):

B := POLYGONS(op(f(A)), COLOR(RGB, 1.0, 0., 0.)):

plots[display](A, B, scaling = constrained);

 

 

You have forgotten to call  plots  package. Replace  display  with  plots[display]. I have not found other errors in your code.

Exact factorization of the original polynomial is possible, but very cumbersome:


 

solve(x^3+x^2+2*x+1, explicit);

``(x+1/3+(1/6)*(44+12*69^(1/2))^(1/3)+(11/600)*(44+12*69^(1/2))^(2/3)-(1/200)*(44+12*69^(1/2))^(2/3)*69^(1/2))*``(x^2+(2/3)*x-(1/6)*x*(44+12*69^(1/2))^(1/3)-(11/600)*x*(44+12*69^(1/2))^(2/3)+(1/200)*x*(44+12*69^(1/2))^(2/3)*69^(1/2)+2/3-(7/60)*(44+12*69^(1/2))^(1/3)+(13/600)*(44+12*69^(1/2))^(2/3)+(1/600)*(44+12*69^(1/2))^(2/3)*69^(1/2)+(1/60)*(44+12*69^(1/2))^(1/3)*69^(1/2))

(1)

``


Download factorization.mw

You can use  usual polynomial interpolation.

Example:

Phi := [0, 1, 1.5, 2, 3]:

R := [1, 3, 3.5, 4.5, 6]:

f := unapply(CurveFitting[PolynomialInterpolation](Phi, R, phi), phi);

A := plot(R, Phi, coords = polar, style = point, color=blue, symbolsize=15):

B := plot(f(phi), phi = 0 .. 3, coords = polar):

plots[display](A, B, scaling=constrained);

 

 Addition: the same on polar grid:

plots[display](A, B, axiscoordinates = polar);

 

 

with(plots):
with(plottools):
with(SolveTools):
with(DocumentTools):
Sol := solve({(x-1)^2+(y-1/.8)^2 = (1/.8)^2, (x-1.2/(1+1.2))^2+y^2 = 1/(1+1.2)^2}, [x, y]):
x0 := rhs(Sol[2, 1]): y0 := rhs(Sol[2, 2]):
Point2 := disk([x0, y0], 0.02, color = red):
R := sqrt(x0^2+y0^2):
Do(sc = evalf(R)):
cir := circle([0, 0], sc):
display(cir, Point2, view = [-1 .. 1, -1 .. 1], scaling = constrained);

 

 

Expr:=-tau*alpha*sigma*omega*(tau-omega^(-sigma))/(s*L*(1-gamma-tau^2+tau^2*gamma))

-(sigma*alpha)/s*(1-tau*omega^sigma)/(omega^(sigma-1)*(1-gamma)*L*(1/tau-tau));

A:=factor(denom(op(1, Expr)));

subs(op(1,Expr)=numer(op(1,Expr))*1/A, Expr);

 

 

X:=[10,15,20,25,30,35,40]: 

Y:=[2.01,4.87,6.50,9.875,14.00,18.90,24.40]:


 f:=x->`if`(is(x in X), Y[ListTools[Search](x,X)], undefined):

 

Examples:

f(35);    f(1);


                  18.90

                undefined

 

If we assume that a solution exists and substitute into the equation  x = 0, we obtain  theta (0) = 0. But then, solving with these initial conditions, we have only the trivial solution:

eq:=(1+theta(x))*diff(theta(x),x)+x*diff(theta(x),x)^2+x*(1+theta(x))*diff(theta(x),x,x)-theta(x)^3-diff(theta(x),x)=0;

ics:=theta(0)=0, D(theta)(0) = 0;

Sol:=dsolve({eq, ics}, numeric);

plots[odeplot](Sol,[x,theta(x)], x=0..1, axes=box);

 

 

 

 

 

Here is step by step solution. I used my procedure  JordanGausse . This procedure step by step solves any system of linear equations by Gauss - Jordan elimination. In the procedure, the Russian text is used. After I prepare the English version, I will submit  code of the procedure to the mapleprimes forum.

Unfortunately, when loading the Russian text was distorted. Here is a translation into English:

Step 1: write the system in matrix form

Step 2: divide row 1 by 4

Step 3: row 1, multiplied by -2, add to row 2

Step 4: row 1, multiplied by -4, add to row 3

Step 5: swap the positions of columns 2 and 3

Step 6: divide row 2 by 3/2

and so on ...

 

Sys:=
     4*x1 + 2*x2 - 7*x3 - 11*x4 = 5,
         
     2*x1 + 1*x2 - 2*x3 - 4*x4 = 2,
         
     4*x1 + 2*x2 - 10*x3 - 14*x4 = 6:

X:= [x||(1..4)]:
A, V:= LinearAlgebra:-GenerateMatrix([Sys], X);

A, V := Matrix(3, 4, {(1, 1) = 4, (1, 2) = 2, (1, 3) = -7, (1, 4) = -11, (2, 1) = 2, (2, 2) = 1, (2, 3) = -2, (2, 4) = -4, (3, 1) = 4, (3, 2) = 2, (3, 3) = -10, (3, 4) = -14}), Vector(3, {(1) = 5, (2) = 2, (3) = 6})

(1)

JordanGausse(A, V);

`Çàäàííàÿ ñèñòåìà`

``

4*x[1]+2*x[2]-7*x[3]-11*x[4] = 5

2*x[1]+x[2]-2*x[3]-4*x[4] = 2

4*x[1]+2*x[2]-10*x[3]-14*x[4] = 6

``

``

`Øàã  ¹ 1:  çàïèøåì ñèñòåìó â ìàòðè÷íîé ôîðìå.`

`Ïîëó÷èì:`

``

"[[[x[1],x[2],x[3],x[4],,],[,,,,,],[4,2,-7,-11,,5],[2,1,-2,-4,,2],[4,2,-10,-14,,6]]]"

``

``

``

`Øàã  ¹ 2 : ïîäåëèì âñå ýëåìåíòû ñòðîêè  ¹  1  íà  4`

`Ïîëó÷èì:`

``

"[[[x[1],x[2],x[3],x[4],,],[,,,,,],[1,1/2,-7/4,-11/4,,5/4],[2,1,-2,-4,,2],[4,2,-10,-14,,6]]]"

``

``

``

`Øàã  ¹ 3:  ê ñòðîêå  ¹ 2  ïðèáàâèì ñòðîêó  ¹ 1  , óìíîæåííóþ íà      -2.`

`Ïîëó÷èì:`

``

"[[[x[1],x[2],x[3],x[4],,],[,,,,,],[1,1/2,-7/4,-11/4,,5/4],[0,0,3/2,3/2,,-1/2],[4,2,-10,-14,,6]]]"

``

``

``

`Øàã  ¹ 4:  ê ñòðîêå  ¹ 3  ïðèáàâèì ñòðîêó  ¹ 1  , óìíîæåííóþ íà      -4.`

`Ïîëó÷èì:`

``

"[[[x[1],x[2],x[3],x[4],,],[,,,,,],[1,1/2,-7/4,-11/4,,5/4],[0,0,3/2,3/2,,-1/2],[0,0,-3,-3,,1]]]"

``

``

``

`Øàã  ¹ 5:  ïîìåíÿåì ìåñòàìè ñòîëáåö  ¹ 2  è                ñòîëáåö  ¹ 3.`

`Ïîëó÷èì:`

``

"[[[x[1],x[3],x[2],x[4],,],[,,,,,],[1,-7/4,1/2,-11/4,,5/4],[0,3/2,0,3/2,,-1/2],[0,-3,0,-3,,1]]]"

``

``

``

`Øàã  ¹ 6 : ïîäåëèì âñå ýëåìåíòû ñòðîêè  ¹  2  íà  3/2`

`Ïîëó÷èì:`

``

"[[[x[1],x[3],x[2],x[4],,],[,,,,,],[1,-7/4,1/2,-11/4,,5/4],[0,1,0,1,,-1/3],[0,-3,0,-3,,1]]]"

``

``

``

`Øàã  ¹ 7:  ê ñòðîêå  ¹ 3  ïðèáàâèì ñòðîêó  ¹ 2  , óìíîæåííóþ íà      3.`

`Ïîëó÷èì:`

``

"[[[x[1],x[3],x[2],x[4],,],[,,,,,],[1,-7/4,1/2,-11/4,,5/4],[0,1,0,1,,-1/3],[0,0,0,0,,0]]]"

``

``

``

`Øàã  ¹ 8:  âû÷åðêíåì ñòðîêó  ¹ 3  ò.ê. îíà   ñîñòîèò èç îäíèõ íóëåé`

`Ïîëó÷èì:`

``

"[[[x[1],x[3],x[2],x[4],,],[,,,,,],[1,-7/4,1/2,-11/4,,5/4],[0,1,0,1,,-1/3]]]"

``

``

``

`Øàã  ¹ 9:  âûáåðåì â êà÷åñòâå áàçèñíûõ íåèçâåñòíûå, ñîîòâåòñòâóþùèå ïåðâûì   2   ñòîëáöàì.
  Îñòàëüíûì íåèçâåñòíûì ïðèäà¸ì ïðîèçâîëüíûå çíà÷åíèÿ    ` || (x[2] = C[1]) || (x[4] = C[2]) || ` è ñîîòâåòñòâóþùèå ñëàãàåìûå  ïåðåíîñèì â ïðàâûå ÷àñòè óðàâíåíèé`

`Ïîëó÷èì:`

``

"[[[x[1],x[3],,],[,,,],[1,-7/4,,5/4-1/2 C[1]+11/4 C[2]],[0,1,,-1/3-C[2]]]]"

``

``

``

`Øàã  ¹ 10:  ê ñòðîêå  ¹    1  ïðèáàâèì ñòðîêó  ¹   2  ,  óìíîæåííóþ   íà      7/4.`

`Ïîëó÷èì:`

``

"[[[x[1],x[3],,],[,,,],[1,0,,2/3-1/2 C[1]+C[2]],[0,1,,-1/3-C[2]]]]"

``

``

``

`Îòâåò:`

``

Vector(4, {(1) = x[1] = 2/3-(1/2)*C[1]+C[2], (2) = x[2] = C[1], (3) = x[3] = -1/3-C[2], (4) = x[4] = C[2]})

``

``

``

(2)

 

 

Download Gauss-Jordan.mws

 

It is well known that a square system has a unique solution if and only if it's main determinant is not 0.

restart;

A:= < k+3, 2, k-4, 3;

      0,   2,  -9, 5;

      0,   0, k^2+k-2, k-1 >;

B:=A[..,1..3];

V:=A[..,4];

LinearAlgebra[Determinant](B);

Sol:=[solve(%)];

 

We have a unique solution for any number  k  not included in this list.

 

Next solve separately for each number from  list  Sol:

for i from 1 to 3 do

'k'=Sol[i],  LinearAlgebra[LinearSolve](op(eval([B,V],'k'=Sol[i])), free=C);

od;

 

Thus for  k=-3  and  k=1  we have infinitely many solutions, for  k=-2  no solutions

You made ​​a few syntax errors, which I corrected.
Your nonlinear system has 5 parameters. Maple can not solve it symbolically for all values ​​of the parameters, but Maple can  solve this system for the specified parameters.

restart;

f := proc (E2, T, DHT, Ca, Cshbg)

local KsT, KaT, KsE2, KaE2, KsDHT, KaDHT, eq1, eq2, eq3;

KsT := 0.10e11; KaT := 4.6*0.10e6; KsE2 := 3.14*0.10e10; KaE2 := 4.21*0.10e6; KsDHT := 3*0.10e6; KaDHT := 3.5*0.10e6;

eq1 := E2 = fE2*(1+(KaE2+Ca)/(1+KaE2*fE2+KaT*fT+KaDHT*fDHT)+KsE2*Cshbg/(1+KsE2*fE2+KsT*fT+KsDHT*fDHT));

eq2 := T = fT*(1+KaT*Ca/(1+KaE2*fE2+KaT*fT+KaDHT*fDHT)+KsT*Cshbg/(1+KsE2*fE2+KsT*fT+KsDHT*fDHT));

eq3 := DHT = fDHT*(1+KaDHT*Ca/(1+KaE2*fE2+KaT*fT+KaDHT*fDHT)+KsDHT*Cshbg/(1+KsE2*fE2+KsT*fT+KsDHT*fDHT));

solve({eq1, eq2, eq3})

end proc:

 

Example:

f(1, 2, 3, 4, 5);

 

 

We got 10 solutions.

 

 

Procedure  UniqueColumns  returns  the unique columns of a Matrix.

 

UniqueColumns:=proc(A::Matrix)

local L;

uses LinearAlgebra, ListTools;

L:=[Categorize((x,y)->Equal(x,y), [seq(A[..,i],i=1..ColumnDimension(A))])];

op(map(op,select(x->is(nops(x)=1), L)))

end;

 

Your example:

Q := Matrix([[1,1,1,0,0,0,-2,-1], [0,0,0,1,1,1,0,-3]]);

UniqueColumns(Q);

 

 

 

 

Write your function as a procedure:

f:=proc()

your expression

end;

 

Example:

f:=proc()

add(args[i]^2, i=1..nargs)

end;

 

f(1, 2, 3);

       14

First 235 236 237 238 239 240 241 Last Page 237 of 289