I am trying to solve (numerically) the following system of differential equations using dsolve (Maple 9):
DGLS:=seq(seq(diff(B[i,k](t),t)=add(add(W(j,l,i,k)*B[j,l](t)-W(i,k,j,l)*B[i,k](t),l=1..N),j=1..N),k=1..N),i=1..N); The problem is posed by the coefficients W(i,k,j,l). I want to make the W(i,j,k,l) dependent on the unknown functions B[i,k](t). For that purpose I wrote a Maple program W := proc(i::integer, k::integer, j::integer, l::integer) which calculates a "transition probability" Wtrans. If Wtrans does not depend on the B[j,l] (e.g. Wtrans:=1/N^2;), everything works nice. However, if I try to use the B[i,k] somehow (e.g. if NKrit_jl > B[j,l] then Wtrans := 0.5 fi;), then error messages from the procedure W result like "Error, invalid terms in product".
When you try to differentiate a Maple expression with respect to one of the constituents (of expression) which is not simple atomic symbol, Maple could not perform operation, e.g.
> diff( sin(x(t)), x(t));
Error, invalid input: diff received x(t), which is not valid for its 2nd argument
. One solution to handle this problem is described in book (Maple book Chap.12
)of Walter Ganz (Walter Ganz
). In his trick structured symbol is temporarily replaced (via substitution) with a local variable, differentiation is performed with respect to local variable and finally local variable is replaced with original structured symbol.
Suppose you want to sort a list L ( of numbers ) and also determine order of elements as a list of indices corresponding to elements of original list L, that is, you want such a integer list "I" that
to be equivalent to sorted list. This functionality is present in MATLAB in
"[B,IX] = sort(...)"
syntax and i come up with this problem while trying to convert a MATLAB function (GaussQuadratureWeights
) to maple. The procedure described resolves problem using a few MAPLE commands including MAPLE's built-in sort function.
What is an efficient, robust, way to extract an integer coefficient from a single term? My first thought was using lcoeff, however, it doesn't work if the term contains constants (say Pi) or floats. Currently I'm using patmatch,
icoeff := proc(t)
return `if`(patmatch(t, k::'nonunit'(integer)*x::anything,kx)
map(icoeff, [0, 1, -3.0, -3, -0., 3.0*Pi, 4*Pi, -12/5*I]);
[0, 1, 1, -3, 1, 1, 4, 1]
One of my friends told me that Maple used in Linux(SUSE) is unstable,^_^，what he said may be wrong.I need more information about these,Anyone has even used maple in Linux(SUSE)? Can you tell me the difference of maple using in between Linux(SUSE) and Linux(RedHat)? I want to install maple V10 in SuperComputer Center for parallel computing.
A colleague is trying to evaluate some contour integrals numerically using evalf(Int(f,t=0..1)). Unfortunately f involves square and higher roots and Maple is getting an incorrect answer because it is not choosing the branch for these roots continuously through the range of integration.
Apparantly Mathematica has an option in numerical integration which forces a continuous choice of branch for the integrand. Is there any reasonably simple way to achieve the same with Maple?
I am trying to do a 3d plot from 3 datapoints from a text file. I have the file DATA with 4000 data points in the following format:
-1 -1 2
-1 -0.976522 2
-1 -0.952609 2
-1 -0.915507 2
Where columns respectivly are the x, y, and z values that I want plotted. I figured that this command should plot the points:
listplot3d(readdata("DATA",3), axes=boxed, labels=[x, y, z]);
I do get a graph here, but instead of plotting the points x, y, z, I get the x value correspoindng to the line number, a y value that seems to be the value of the y column + 2, and the actual z value that I want. So, my question is, how do I just plot the three values that I am inputting?
I have a lot of programs made by fortran77, can i use this programs under maple10?
How to solve 12 nonlinear equations with 6 unknowns with Maple 10 or other software but analytic, not numeric?
I was tried with solve(). After waiting 24h computation I was interrupt it. And I don't think that Maple will solve that problem.
In begining CPU usage was 100% but latter was 0% and HD always read or write something without stoping.
I want a function depending on n1 and n2, and a1 and a2, more or less in the following way:
sum( sum( ((if ((j1*k1/n1 +j2*k2/n2+k2/n2 > 1/2) &and
(j1*k1/n1 +j2*k2/n2 >1/2)) 1 else 0), j1=0..n1), j2=0..n2).
How do I write in maple the previous expresion?.
That is.. how may I write
MYfunction( n1, n2) = sum( sum( BOOLEAN , j1=0..n1),j2=0..n2);
where BOOLEAN stands for terms involving j1,j2,n1,n2 and other "constants"?
Thanks in advance!
several beams are connected by gemel one after another, the 1st is fixed at one end on the roof, and the last is driven by a force(fx,fy vector summation) at the end point.
i am using lagrange method for the virtual displacement of angle theta[i] , and momentum balance in 2 direction (x,and y)to build the model.
in the last step, i got an ODE system of 2nd order, but i cant code in maple to solve it. i think it is solveable, (6 equations, 6 unknowns).
Kindly let me know how to write the code to solve it!
below is the code.
with( plots ): with( plottools ):
with( DEtools ): with( PDEtools ):
#initialization function of each beam,in this function, we should give 3 variables, n=the number of this #beam, la=the length of this beam, ma=the mass of this beam
l[n]:=la: #length of beam n
m[n]:=ma: #mass of beam n
#initialize the positions of each beam
x[n]:=0: #the x position of the end point of each beam
y[n]:=0: #the x position of the end point of each beam
x[n]:=0: #the y position of the center point of each beam
y[n]:=0: #the y position of the center point of each beam
#define the forces that applied on the end of beam n
Consider the task of sorting a list of complex floating-point numbers by magnitude.
The usual method to do this in Maple is with the sort
procedure. By passing a boolean-valued function that computes then compares the magnitudes of two complex numbers, we can sort the list. The following procedure shows how this is accomplished.
sort1 := proc(L)
return sort(L, proc(z1,z2) abs(z1) <= abs(z2) end proc);
A disadvantage of this approach is that the absolute-value procedure is called twice every time a pair of numbers is compared. For a long list, the time spent in the absolute value routine dominates the computation time.
Is there a way to do a Symbolic Computations under Max-Plus Algebra? For instance, linear algebra computations under under Max-Plus Algebra. I would like to appreciate any comments on it.
I need to search for primitive polynomials of degree n over finite fields GF(q), where q is a PRIME POWER. I have major difficulties doing that, especially when I wish to fix one of the coefficients of the polynomial. On the other hand, polynomials over GF(p) pose no problem. Does anybody have any experience in this? PLEASE HELP!