20444 Reputation

16 years, 60 days

Procedure for this...

```f := (x1, t1)->eval(u(x, t), (pds:-value(t = t1))(x1)):

# Examples
f(0, 0.1);
f(0, 0.7);
f(0.3, 0.3);```

While...

For example you can do this using the loop with while :

```restart;
n:=294912: d:=8:
r:=irem(n,d):
while r=0 do
n:=n/d; r:=irem(n,d);
od:
n;
```

9

Solution...

```restart;
R:=Student:-MultivariateCalculus:-LagrangeMultipliers(z,[4*x-3*y+8*z-5,z^2-x^2-y^2], [x,y,z], output=detailed);
P1:=plots:-intersectplot(4*x-3*y+8*z-5=0,z^2-x^2-y^2=0, x=-1.7..1.4, y=-1.4..1.4, z=-0.4..2.1, color=blue, thickness=2, axes=normal):
P2:=plots:-pointplot3d([eval([x,y,z],R[1]),eval([x,y,z],R[2])], color=red, symbolsize=12, symbol=solidsphere):
plots:-display(P1,P2);

```

Numerical solution...

Using the  Student:-Calculus1:-Roots  command, we find 2 real roots of the equation  log[2](7*x/10)=log[3](3*x-1)  and, based on the plot, find the solution to the inequality:

```restart;
Student:-Calculus1:-Roots(log[2](7*x/10)=log[3](3*x-1));
plot([log[2](7*x/10),log[3](3*x-1)], x=0..20, -3..4, color=[red,blue], numpoints=5000, size=[800,400]);
```

So the result is   0.3730125034<= x <= 16.60731835

Simplification...

I replaced your operators  Not, Or  and so on (I never used them)  with more standard ones (not, or, and, implies) in prefix form . As a result of simplifications in 2 ways, we get  false , that is, your expression is internally contradictory for any values of the variables  x  and  y , just as, for example, x and not x  is contradictory.

```restart;
expr:=`and`(
`not`(`or`(`or`(0 >- 0, y^3=x),
`and`(((y*x - 0^0)^2 + (y^2 - x^2)^2)*(y^2 + x^2) >
0, 0 <- (y^3 - x)*(y - x^3)^3,
`implies`(y + 2*x >= 2*y^3 + x^3,
`or`(y + x < y^3 + x^3)), `not`((y^3 - x)*(y - x^3) = 0),
0 >= 0), y <> x^3)));
convert(expr, 'boolean_function'); # The first way
Logic:-BooleanSimplify(expr); # The second way
```

factor...

Do

`factor(simplify((2)));`

A way...

```restart;
with(plots): with(plottools):
Sph:=display(sphere(),spacecurve([cos(t),sin(t),0], t=0..2*Pi, color=red, thickness=3), orientation=[60,60,20]):
animate(display@rotate,[Sph,phi,[[0,0,0],[0,0,1]]], phi=0..2*Pi, frames=90, axes=none, paraminfo=false);
```

Correct results...

In my opinion, all 3 limits were found correctly. We obtain the first limit if we substitute gamma = 0  in A and simplify. The second limit is the generic result for arbitrary parameter values. The third limit does not contradict the second, since  subject to conditions on parameters  sigma__e>0 , sigma__v>0 , sigma__d>0  will be  -sigma__d*sigma__e^2+sqrt(sigma__d^2*sigma__e^4) = 0

subsop...

```restart;
parms:=[colour=red,thickness=0,linestyle =dash]:
i:=ListTools:-Search(thickness=0, parms);
if leader=0 then parms:=subsop(i=(thickness=3),parms) fi:
parms;
plots:-display(plottools:-line([1,2], [3,4]),op(parms));
```

Sublist concepts and testing them...

Let us introduce the concept of sublists of a given list and somewhat generalize the problem.

Definitions1. A list  N  is called a sublist of  L  if every element of  N  is included in  L  and these elements in L are in the same order as in  .

Definitions2. The list  N  is called a sublist of the list  L  in the sense of definition1; moreover, the elements of  N  are in  L  next to each other.

The procedure  IsSubList  tests in the sense of the first or second definition. This is indicated by the third formal parameter.

```restart;
IsSubList:=proc(N::list,L::list,i::posint)
local n, P, T, k, M;
uses ListTools, combinat;
n:=nops(N);
P:=map([ListTools:-SearchAll],N,L);
T:= cartprod(P);
k := 0;
while not T[finished] do k := k+1; M[k] := T[nextvalue]() end do: M:=convert(M, list):
if i=1 then
if not (convert(N,set) subset convert(L,set)) then return false else if `or`(seq(`and`(seq(m[j]<m[j+1],j=1..nops(N)-1)), m=M)) then true else false fi; fi; else
if not (convert(N,set) subset convert(L,set)) then return false else if `or`(seq(`and`(seq(m[j]<m[j+1] and m[j]+1=m[j+1] ,j=1..nops(N)-1)), m=M)) then true else false fi; fi;
fi;
end proc:
```

Examples of use:

```N:=[7,2,4]:
L1:=[7,4,2,7,2,4]:
L2:=[7,7,7,7,2,2,2,7,4]:
L3:=[7,2,2,7]:

IsSubList(N,L1,1);
IsSubList(N,L2,1);
IsSubList(N,L1,2);
IsSubList(N,L2,2);
IsSubList(N,L3,1);
IsSubList(N,L3,2);
```

true
true
true
false
false
false

Procedure for this...

A procedure named  IsSameOrder  does this. For the comparison to be correct, all other elements of the lists L1  and L2  must differ from the elements of the list  N  in order to uniquely determine the positions of the elements of the list  N  in the lists  L1  and  L2 . So I changed 2 elements in  L1  and  L2 .

```restart;
IsSameOrder:=proc(N,L)
local n, P;
uses ListTools;
n:=nops(N);
P:=map(ListTools:-Search,N,L);
if `and`(seq(P[i+1]-P[i]>0, i=1..n-1)) then true else false fi;
end proc:
```

Examples of use:

```N:=[7,2,4]:
L1:=[1,6,5,7,3,2,9,4]:
L2:=[2,1,4,5,6,7,3,9]:
IsSameOrder(N,L1);
IsSameOrder(N,L2);
```

true
false

Solution...

```restart;
p:=2345: q:=1536:
dp:=convert(p,base,10);
dq:=convert(q,base,10);
S:=`intersect`(convert~([dp,dq],set)[]);
dp1:=remove(`in`, dp, S);
dq1:=remove(`in`, dq, S);

```

Without loops...

We can easily do without loops when making animation. I also multiplied each frame 10 times so that the frames did not flash too often. Now each frame lasts approximately 1 second. In addition, the scales along the axes have been adjusted to make the plot look more realistic:

```restart;
with(plots):
display(seq(plot(sin(j*x)^j, x=0..2*Pi, color=red, scaling=constrained) \$ 10,j=1..10), insequence);```

:= not =...

You should use the assignment operator, not the equality one:

```f(x):=x^5+x:
g(x):=f(x-2)+3:
plot([f(x), g(x)], x=-3..5, y=-10..10, color=[red,blue]);```

Solution...

To solve we must first introduce a coordinate system. The vertex with an angle of 52 degrees will be denoted by  A(0,0,0) , the second vertex by  B(12,0,0) . To find the coordinates of the third vertex  C  of this tetrahedron opposite side  AB , we use the law of sines. The vertex of this tetrahedron is designated by  S .

```restart;
with(geom3d):
AC:=fsolve(AC/sin(103*Pi/180)=12/sin(Pi-(52+103)*Pi/180)):
BC:=fsolve(BC/sin(52*Pi/180)=12/sin(Pi-(52+103)*Pi/180)):
point(A,0,0,0): point(B,12,0,0): point(C,AC*cos(52*Pi/180),AC*sin(52*Pi/180),0):
h:=AC*tan(34*Pi/180):
point(S,coordinates(C)[1..2][],h):
geom3d:-gtetrahedron(T, [A,B,C,S]):
draw(T, color="LightBlue", scaling=constrained, transparency=0.8, labels=[x,y,z], orientation=[-65,60]);
```

I think you can easily do the rest yourself.

 2 3 4 5 6 7 8 Last Page 4 of 283
﻿