Kitonum

8977 Reputation

17 Badges

9 years, 40 days

MaplePrimes Activity


These are answers submitted by Kitonum

For example:

r:=rand(-9..9):
k:=0:
do
a,b:=r(),r();
if igcd(a,b)=1 then k:=k+1; L[k]:=a*x+b fi;
if k=4 then break fi;
od:
convert(L, list);

In Help we can read "Note: The algsubs command currently works only with integer exponents". The positive integer exponents are here implied.

The toy example:
algsubs(x=t, x+1/x);
                                    
 t+1/x


In your the first example Maple simply makes constant  1/x  outside the integral and calculates the remaining integral. 


The second example is done correctly:

int(1/sin(x), x);
simplify(%);
convert(%, tan);
applyop(normal, 1, %);
                            

 or

int(1/sin(x), x);
diff(%, x);
simplify(%);

                                  

 

 

In the expression  u  in the last fraction in the numerator and in the denominator, sqrt(sigma)  is present. I removed it and now everything is working:

restart;
u := c-6*mu*(1+lambda*sqrt(-mu)*coth(A+sqrt(-mu)*(x+y+mu*t)))/((a+b)*sqrt(-mu)*coth(A+sqrt(-mu)*(x+y+mu*t)))+6*mu*sqrt((1-coth(A+sqrt(-mu)*(x+y+mu*t))^2))/((a+b)*sqrt(-mu)*coth(A+sqrt(-mu)*(x+y+mu*t)));

c := 1:                                     
mu := -1.5:                                     
lambda := 1.5:                                     
a := 1:                                      
b := 1:                                      
A := 0.5:                                     
y := 0:

plot3d(abs(u), x = -10 .. 3, t = -10 .. 3);

DeleteZeroLines:=proc(A::Matrix)
local m, n, ZR, L1, B, m1, ZC, L2;
uses LinearAlgebra;
m, n:=op(1, A);
ZR:=ZeroVector[row](n);
L1:=[seq(`if`(Equal(A[i], ZR), i, NULL), i=1..m)];
B:=DeleteRow(A, L1);
m1:=op([1,1], B);
ZC:=ZeroVector(m1);
L2:=[seq(`if`(Equal(B[..,i], ZC), i, NULL), i=1..n)];
DeleteColumn(B, L2);
end proc:


Example of use:

A:=RandomMatrix(8, 10, density = 0.1, generator = 1..9);
DeleteZeroLines(A);

                        

DeleteZeroLines.mw

Of course, this conversion can be done by direct calculation (without  convert  command):

z := arctan(x/sqrt(a^2-x^2)):
t:=op(1,z):
simplify(arcsin(t/sqrt(1+t^2)))  assuming a>0, x^2<a^2;

                                            arcsin(x/a)

convert((t-1)/(-1+2*t), parfrac);

                                 1/2-1/(2*(-1+2*t))

Replace the comma after  l2c2:=0  with a colon:

l2c1:= 2*k:  l2c2:=0:  l2c3:=8-k:
plots:-spacecurve([l2c1, l2c2, l2c3], k=-10..10, color=red);

A procedure for this:

restart;
MakeColored:=(s,c)->Typesetting:-mo(convert(s,string), mathcolor = c):


Examples of use:

x:=MakeColored(x, "Red"):
y:=MakeColored(y, "Blue"):
z:=MakeColored(z, "Green"):
x, y, z;
(x+y)/(x-z);

                          


See these threads for details:

http://www.mapleprimes.com/questions/203931-Print-Hello-In-Green

http://www.mapleprimes.com/questions/126174-How-Do-You-Color-Text-Output-From-Command-Line

 

Edit.

 

I think that this is the case when it is easier to solve by hand, because it is easy to express exp(x) rationally through tanh(x/2). If you need to perform a similar conversion more than once, the procedure called  Convert  will be useful. It converts any occurrence of  exp  function into  tanh  function:

restart;
Convert:=proc(Expr)
local A;
convert(tanh(z), exp);
combine(normal(subs(exp(-z)=1/exp(z), %)));
solve(%=tanh(z), exp(2*z));
A:=subs(z=z/2, %);
simplify(applyrule(exp(z::anything)=A, Expr));
end proc:


Examples of use:

Convert(exp(x));
Expr:=-(exp(-a*s)-1)*kw/((exp(-a*s)+1)*s^2);
Convert(Expr);  
# The initial example


 

Maple uses radians by default, so should be Pi/2 instead of 90.

 

Output := Array(-10 .. 10, -10 .. 10, (i, j)->i^2+j^2):
M:=convert(Output, listlist):
plots:-listcontplot(M, axes=none);

lambda:=2.6:
fsolve(sum(lambda^k*exp(-lambda)/k!, k=0..n)=0.95);

                                  4.980237188

Example:

restart;
sol:=solve({x-2*y=5, x+3*y=1});
eval(x, sol);  
# The first way
eval(y, sol);
assign(sol);  
# The second way
x, y;

                        

If you need decimals, use  fsolve  instead of  solve.

Temporarily replace symbols by unique numeric constants.

Example:
P:=a*x^5+a*y^5-b*x*y+c:
Q:=subs([a=Pi, b=exp(1), c=gamma], P);
convert(Q, elsymfun);
subs([Pi=a, exp(1)=b, gamma=c], %);

                           

I did not understand how you define matrix  A  for your example, I used  rand  command for this.

restart;
lavplot := proc() 
local i, j, feltfarver, points, colors, x, y; 
global A;
uses LinearAlgebra, plots; 
x := ColumnDimension(A); 
y := RowDimension(A); 
points := []; 
feltfarver := [blue, green, "PeachPuff", "DarkGreen", "Gold", "Silver", "Chocolate", yellow]; 
colors := []; 
for i to y do 
for j to `if`(i::odd, x, x-1) do 
if A[i, j] <> 0 then points := [op(points), [`if`(i::odd, j, j+1/2), (x+1-i)*sqrt(3)/2]]; colors := [op(colors), feltfarver[A[i, j]]] end if; 
end do; end do; 
pointplot(points, symbol = solidcircle, color = colors, symbolsize = 60, axes = none, scaling=constrained); 
end proc:


Example of use:

r := rand(1 .. 8): 
A := Matrix(7, 10, (i, j)->r()); 
lavplot();

                               

 

Edit.

1 2 3 4 5 6 7 Last Page 1 of 138