MaplePrimes Questions

Hi dear community!

 

The following code produces a table, however it always has the text "Tabulate0" as an output as well. Is it possible to supress that? Ordinary : dont work unfortunately.

 

with(DocumentTools):
with(ArrayTools):
nUnten:=2:
nOben:=8:
InitialisierungDF:=Vector[column](nOben-nUnten+1, fill=oE): #Erstellen der auszugebenden Tabelle
InitialisierungSpalte:=Vector[row](nOben-nUnten+1, i->n=nUnten-1+i):
DF:= DataFrame( Concatenate( 2, InitialisierungDF $ 10),
                   columns = [ GKAbs, GKRel, PZPAbs, PZPRel, PZMAbs, PZMRel, PYAbs, PYRel, DAbs, DRel],
                   rows = InitialisierungSpalte);
print(Tabulate(DF));

 

Thank you very much!

Hi there!

The first time I compile the following code, I get the error message

"Error, cannot split rhs into multiple assignment."

when trying to solve an issue with the procedure. I then have to compile the procedure over and over again, until it finally works (which it does eventually, without changing the code.) The problematic line is

Knoten, Eigenvektoren := Eigenvectors(evalf[15](M));

it is one of the last lines within the code below. Is it possible to get rid of that issue? It is annoying and unprofessional to have to compile a code over and over again until it finally works.

 

 

 

GaußKronrodQuadraturKurz:= proc(Unten, Oben, f,G,n)::real;
 
  #Unten:= Untere Intervallgrenze; Oben:= Obere Intervallgrenze; G:= Gewicht;
  #f:= zu untersuchende Funktion; n:= Berechnung der Knotenanzahl mittels 2*n+1
local
A,B,P,S,T, #Listen
a,b,p,s,t, #Listenelemente
i,j,k, #Laufvariablen
M, #werdende Gauss-Kronrod-Jacobi-Matrix
m, #Matrixeinträge
u,l, #Hilfsvariablen Gemischte Momente
RekursivesZwischenergebnis,Gewichte,Knoten,Eigenvektoren,AktuellerNormierterVektor,Hilfsvariable,Endergebnis;

with(LinearAlgebra):
 
A := [seq(a[i], i = 0 .. n)];
B := [seq(b[i], i = 0 .. n)];
P := [seq(p[i], i = -1 .. ceil(3*n/2)+1)];  
S := [seq(s[i], i = -1 .. floor(n/2))];
T := [seq(t[i], i = -1 .. floor(n/2))];
p[-1]:= 0;
p[0]:=1;
for i from -1 to floor(n/2) do
  s[i]:=0;
  t[i]:=0
end do;
for j from 1 to 2*n+1 do
  RekursivesZwischenergebnis:= x^j;
  for i from 0 to j-1 do
    RekursivesZwischenergebnis:= RekursivesZwischenergebnis -
    (int(x^j*p[i],x=Unten..Oben)/int(p[i]*p[i],x=Unten..Oben))*p[i]                  #Gram-Schmidt algorithm
  end do;
  p[j]:=RekursivesZwischenergebnis;
end do;
a[0]:=-coeff(p[1],x,0);

  #p[0+1]=(x-a[0])*p[0]-b[0]*p[0-1] -> p[1]=x*p[0]-a[0]*p[0]-b[0]*p[-1] ->
  #p[1]=x*1-a[0]*1-0 -> a[0]=x-p[1] -> a[0]= -coeff(p[1],x,0), da p[1] monisch ist und von Grad 1    #ist
 
b[0]:=int(p[0]^2, x=Unten..Oben); #by definition
for j from 1 to ceil(3*n/2) do
 
  #Genau genommen muss a nur bis floor(3/(2*n)) initialisiert werden, allerdings wird der Wert       #ohnehin für die Berechnung von b gebraucht. Die Initialisierung schadet nicht.
    
                                     
  a[j]:= coeff(p[j],x,j-1)- coeff(p[j+1],x,j);
    
    #p[j+1]=(x-a[j])*p[j]-b[j]*p[j-1] -> p[j+1]=x*p[j]-a[j]*p[j]-b[j]p[j-1] ->
    #coeff(p[j+1],x,j)=coeff(x*p[j],x,j)-coeff(a[j]*p[j],x,j)
      #(da b[j]*p[j-1] vom Grad j-1 ist) ->
    #coeff(p[j+1],x,j)=coeff(x*p[j],x,j)-a[j], da p[j] monisch ist ->
    #coeff(p[j+1],x,j)=coeff(p[j],x,j-1)-a[j]->
    #a[j]=coeff(p[j],x,j-1)-coeff(p[j+1],x,j)
 
  b[j]:=  quo((x-a[j])*p[j]-p[j+1],p[j-1],x);
    

     #p[j+1]=(x-a[j])*p[j]-b[j]*p[j-1] -> -p[j+1]+(x-a[j])*p[j]= b[j]*p[j-1]
     #b[j]=((x-a[j])*p[j]-p[j+1])/p[j-1]

end do;    
t[0]:=b[n+1]; #t[0]:= /hat{b}[0], Beginn der ostwärtigen Phase
for i from 0 to n-2 do # n-2 ist die Anzahl der zu berechnenden Diagonalen
  u:=0;
  for k from floor((i+1)/2) to 0 by -1 do # aufgrund des diagonalen Vorgehens ist nur bei jedem
                                          # zweiten Schleifendurchlauf eine Inkrementierung
                                          # vorzunehmen
    l:=i-k;
    u:=u+(a[k+n+1]-a[l])*t[k]+b[k+n+1]*s[k-1]-b[l]*s[k]; # Ausrechnen gemischter Momente über die
                                                         # fünfgliedrige Rekursion
    s[k]:=u
  end do;
  for j from -1 to floor(n/2) do  # Durchrotieren der Werte der gemischten Momente, da ein                                           # jeweiliges gemischtes Moment beim zweiten auf die Generierung                                    # folgenden
                                  # Schleifendurchlauf das letzte mal benötigt und danach über-
                                  # schrieben wird. Die am Ende vorliegenden Werte sind gerade
                                  # die, die bei der südwärtigen Phase benötigt werden.
    Hilfsvariable:=s[j];
    s[j]:=t[j];
    t[j]:=Hilfsvariable
  end do;
end do;
for j from floor(n/2) to 0 by -1 do
    s[j]:=s[j-1]
end do;
for i from n-1 to 2*n-3 do #entspricht der Anzahl der restlichen Diagonalen
  u:=0;
  for k from i+1-n to floor((i-1)/2) do #berechnet die gemischten Momente innerhalb einer
                                        #Diagonalen, von oben rechts nach unten links.
    l:=i-k;
    j:=n-1-l;
    u:=u-(a[k+n+1]-a[l])*t[j]-b[k+n+1]*s[j]+b[l]*s[j+1];
    s[j]:=u
  end do;
  if i mod 2 = 0 then #Ausrechnen eines fehlenden Koeffizienzen über die fünfgliedrige Rekursion                         #am Eintrag (k,k)
    k:= i/2;
    a[k+n+1]:=a[k]+(s[j]-b[k+n+1]*s[j+1])/t[j+1]
  else                #Ausrechnen eines fehlenden Koeffizienzen über die fünfgliedrige Rekursion                         #am Eintrag (k,k-1)
    k:=(i+1)/2;
    b[k+n+1]:=s[j]/s[j+1]
  end if;
  for j from -1 to floor(n/2) do #Erneutes Durchrotieren der Werte der gemischten Momente
    Hilfsvariable:=s[j];
    s[j]:=t[j];
    t[j]:=Hilfsvariable
  end do;
end do;
a[2*n]:=a[n-1]-b[2*n]*s[0]/t[0]; #Berechnung des letzten fehlenden Koeffizienten über die                                           #fünfgliedrige Rekursion am Eintrag (n-1,n-1)

M:=Matrix(2*n+1, shape=symmetric);#definieren der werdenden Gauß-Krondrod-Matrix
M(1,1):=a[0];
for m from 2 to (2*n+1) do #generieren der Gauss-Kronrod-Matrix
  M(m-1,m):= sqrt(b[m-1]);
  M(m,m-1):= sqrt(b[m-1]);
  M(m,m):= a[m-1];
end do;
Knoten, Eigenvektoren := Eigenvectors(evalf[15](M));# "Die gesuchten Knoten sind die Eigenwerte #dieser Matrix, und die Gewichte sind proportional zu den ersten Komponenten der normalisierten #Eigenvektoren"

 

for m from 1 to 2*n+1 do
  AktuellerNormierterVektor:= Normalize(Column(Eigenvektoren,m),Euclidean);
 
 
  Gewichte[m]:=AktuellerNormierterVektor[1]^2*b[0]

end do;

Endergebnis:=Re(add(Gewichte[i]*eval(f*diff(G,x),x=Knoten[i]),i=1..2*n+1));

 

end proc

 

An example of an application of the procedure is

 

GaußKronrodQuadraturKurz(-2, 1, 3*x*3*x^2*sin(x),x,3)

 

Thank you very much!

 

Hi,

How to add a moving texte ( for example  notation of vector v and vector a ) to my animation ?

Thanks

 

TESTAnimVitesse.mw

I am looking to have Maple run the algorithm I am given:

function Crunch (x∈ R)

if x ≥ 100 then

return x/100

else

return x+Crunch(10*x)

I am looking to be able to input 4 different numbers for x and have the algorithm execute. I understand how to arrive at the answers manually but as algorithms get more complex, I won't be able to. Thank you!

I want to find a weak form to Navier equations and obtain a solution formulation . I am interested in solving this problem using a finite element solver for which we need to introduce these equations in weak form. Can anyone help me in this regard? What is a higher-order continuity in the FEM approximation. This is challenge with the FEM which is based the Lagrange basis functions. To overcome the shortcomings, should we use the isogemetric analysis being based on the NURBS basis functions? How FEM cover this shortage for solving this type of equations?

Thanks in advance for your guidance.

HI all, I obtained a solution to a system solved by Maple but it seems not to be correct. And I couldn't detect where the mistake lies!

 

solution_bug_or.....mw

I find some book named automatic construction of graph for CAD

Then searched some paper related with it about geometric constraint solver

then find YouTube has AutoCAD can automatic design

Do maple has these things?

I have no idea in design, which input should be for these automatic design from nothing?

is there any mechanical knowledge as constraint by default in this automatic design?

We can write a list, set, MutableSet and array type together with their entries types. For example list(polynom) or array(array(integer)). But what about a table? For example how can I emphasize a type table with indices of the type integer and entries a list of integers? I was guessing table(integer,list(integer)) which is not working, so my guess is not correct. I tried some other combinations which they didn't work too. I can't see anything in the programming guide and the help of Maple or a post here that is addressing this question.

Example:

test:=table([1=[1,2,3],2=[6,5,4]]):
type(test,table(integer,list(integer))): # which of course is not working.

 

Hello,

HazardRate seems not to work for a convolution - it always returns zero.

restart;
with(plots);
with(Statistics);
X1 := RandomVariable(Uniform(0, 1));
X2 := RandomVariable(Uniform(0, 1));
HazardRate(1/2*X1 + 1/2*X2, 0.4); #returns zero
plot(HazardRate(1/2*X1 + 1/2*X2, t), t = 0 .. 0.9, legend = "Hazard Rate"); #plots zero
#writing hazard rate explicitly works fine
plot(PDF(1/2*X1 + 1/2*X2, t)/(1 - CDF(1/2*X1 + 1/2*X2, t)), t = 0 .. 0.9, legend = "Hazard Rate explicitly");

Thank you!

 

Let $\triangle ABC$ be an equilateral triangle and $\angle BAC$=$20^\circ$, take point $D$ is on $AC$ such that $AD$ $=$ $BC$. Find $\angle ABD$= ?

 

Use the Symmetric Power method to approximate the most dominant eigenvalue of the matrix A=Matrix([[4, 2, -1], [2, 0, 2], [-1, 2, 0]]) , Use x_0 = (-1,0, 1)^t.  Iterate until a tolerance of 10^-4 is achieved or until the number of iterations exceeds 25. 

I tried but failed to get full evaluation (numbers only).

with(LinearAlgebra);

A := Matrix([[4, 2, -1], [2, 0, 2], [-1, 2, 0]]);
x_0 := <-1, 0, 1>;
Tol := 0.0001;
k := 15;
y_k := evalf(A*x[k - 1]);
mu_k := evalf(Transpose(x_k - 1)*y_k);
x_k = y_k/Norm(y_k, 2);
 

Q5_Ch_9.3.pdf

 

Hi,

An important application of vectors is their use to represent velocity and acceleration.it would ideal to see how the velocity and acceleration vectors behave and how they interact, as a point moves along a curved path. I want to create an animation to do that.

I have some difficulties with arrow animations.

Ideas?

Thanks

 

 

TESTAnimVitesse.mw

Consider 1-dimensional arrays in Maple. To add one element at the end of an array, there is a pre-defined command ArrayTools:-Append (or using ArrayTools:-Insert if one wants to add an element at another location of the array) and to remove one entry from an array there is another pre-defined command ArrayTools:-Remove. Now let's say I want to add several elements and remove several elements. If I want to add all of the new elements at the end of the array, there is a predefined command ArrayTools:-Extend. If I want to remove several entries that are sequal, then I can give the second argument of ArrayTools:-Remove as a range n1..n2. But now let's say I want to remove several entries that are not sequal, for examples entries with indices in [5,8,14]. Is there any special efficient way to do it or just defining a loop to do the removals one by one? Removing by a loop is not very nice since the number of indices will change after each removal. Then another idea is to redefine the whole array using a select or a seq. But I'm guessing that none of these are the best way to do so. If I was dealing with MutableSet, I would use &minus, but I can't use MutableSets in every situation, because MutableSets change the order of elements and have more special properties like no repeated elements etc.

Hello,

I plot a pdf of the average of two iid random variables, and get that it is negative. What am I doing wrong?

Here is an example:

restart;
with(plots);
with(Statistics);
X1 := RandomVariable(BetaDistribution(4, 4));
X2 := RandomVariable(BetaDistribution(4, 4));
plot([PDF(X1, t), PDF(0.5*X1 + 0.5*X2, t)], t = 0 .. 1, color = [red, blue], legend = ["PDF X1", "PDF average"]);

Hello everyone 

 

I have the following issue :

I want to create a different plots (2d/3d) with varying variables ( I mean expression contains different variables and I am changing their values in order to get different results ) 

 

for example: 

u=a*x^2+b*y^2

a=1

b=1

plot3d(u, x = -2 .. 2, y = -2 .. 2)

and I am getting an error 

 

could you please tell me how to plot in that way , that first i define the function with unknown variables , then i am giving them different values ( idea is that i have lots of variables and lots of ranges so it will not be convenient to change them manually into the expression ) and at the end to have a plot 

Thank you very  very much 

First 419 420 421 422 423 424 425 Last Page 421 of 2427