Maple 2015 Questions and Posts

These are Posts and Questions associated with the product, Maple 2015

I am trying to adapt the code with Direct Search 2 for my needs but do not quite understand the syntaxis :( . I have system with 8 first order but nonlinear odes and 20 parameters but for starters I fix most of them (to estimate time consumption for full calculations etc). The part of the code where it ``breaks'' looks as follows:

#argument
X0:=Vector([24, 36, 48, 60, 72, 84], datatype = float):
#value
Y0:=Vector([13.8e+9, 12.13333333e+9, 10.7e+9, 10.5e+9, 9.8e+9, 10.1e+9], datatype = float):

#so this is the data - time in X0 and corresponding observables (at that time instances) at Y0


par_sol:=dsolve(dsys, numeric, range=0..85,  parameters=[eta_L, L0]);

#parametric numerical solution with eta_L parameter of the model and L0 initial condition to fit

ffit2 := proc(etaLValue, L0Value, tValue) global old_eta, old_L0; local res;
if not [etaLValue, L0Value,tValue]::list(numeric) then
      return 'procname'(args); end if;
if old_eta<>etaLValue and old_L0<>L0Value then
      (old_eta,old_L0) := etaLValue,L0Value;
      par_sol('parameters'=[eta_L=etaLValue,L0=L0Value]);
   end if;
   res:=rhs(par_sol(tValue)[4]); end proc;


# this is just adapted copy of your function

 

par_sol(parameters=[eta_L=0.004, L0=1.1e10]);

par_sol(84)[4];ffit2(0.004, 1.1e10, 84);

#their output coincide OK; same for another trio of parameters

DS2:=CodeTools:-Usage(
        DirectSearch:-DataFit(ffit2,X0,Y0,t,
                              [ eta_L=0.001 .. 0.1, L0=1.5e10 .. 1.7e10
 #                               
                              ] )
);

#and here it breaks:

Warning, initial point [L0Value = .9, tValue = .9] does not satisfy the inequality constraints; trying to find a feasible initial point
Error, (in DirectSearch:-Search) cannot find feasible initial point; specify a new one


But tValue is a time variable - I integrate over it, it is not a parameter to fit - I evaluate ffit2 at it. So basically ffit2 return exactly the model value which need to be fited with data in Y0 at times specified in X0. I thought it is easier than the other problems I saw in examples with Direct Search 2 and still I can't get through syntax neither with it not with NonlinearFit of core Maple...

I would appreciate if you could point me what I am doing wrong. Just in case I also attach full version of the file.01test.mw

Thank you in advance!

Hey everyone!

I am trying to merge two vectors into a matrix. Let us say that both of the vectors has only one line and 4 columns:
A:=[a1,a2,a3];B:=[b1,b2,b3,b4];
Therefore, the matrix that I am trying to get should have this form:
M=Matrix([[a1,b1,0,0,0,0,0,0],[0,0,a2,b2,0,0,0,0],[0,0,0,0,a3,b3,0,0],[0,0,0,0,0,0,a4,b4]]);
Thanks in advance!

restart; N := 100; dx := evalf(2*Pi/N)

100

 

0.6283185308e-1

(1)

f1 := proc (x) options operator, arrow; sin(x) end proc;

proc (x) options operator, arrow; sin(x) end proc

(2)

DiscX := proc (N, dx) local i, xv; xv := Vector(N); for i to N do xv[i] := evalf((i-(1/2)*N-1)*dx) end do; return xv end proc:

Xfun := proc (f1) local i, xa1, xa2; xa1 := Vector(N); xa2 := Vector(N); for i to N do xa1[i] := evalf(subs(x = a[i], f1(x))) end do; return xa1 end proc:

IntNum := proc (N, a, c) local i, xv1; xv1 := Vector(N); for i from 2 to N-1 do xv1[i] := evalf((1/2)*(a[i]-a[i+1])*(c[i]+c[i+1])) end do; return xv1 end proc:

a := DiscX(N, dx); a[1]; a[100]

a := Vector(4, {(1) = ` 1 .. 100 `*Vector[column], (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

 

-3.141592654

 

3.078760801

(3)

c := Xfun(f1); c[1]

c := Vector(4, {(1) = ` 1 .. 100 `*Vector[column], (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

 

0.4102067615e-9

(4)

k := IntNum(N, a, c)

k := Vector(4, {(1) = ` 1 .. 100 `*Vector[column], (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

(5)

plot([seq([a[i], k[i]], i = 2 .. N)], style = line, title = typeset("Integ_of_sin(x)"), titlefont = [times, bold, 30]);

 

``

Download test.mw

Hey everyone!

I would like to plot the integral of a discrete function. For simplicity, I choose the function sin(x) between –Pi and Pi, which has as an integral -cos(x). I tried to implement that in Maple using the Trapezoidal rule, but the result is simply wrong. Any help would be much appreciated!

I need to declare a whole set of variables as local. The variable names are generates algorithmically using assign. Like so:

seq(seq(assign(cat(S,i,j)=Vector(datatype=float)),i=1..9),j=1..9);

Stand-alone, this works and creates all these Vectors for later use. But this:

local seq(seq(assign(cat(S,i,j)=Vector(datatype=float)),i=1..9),j=1..9);

does not work; I get an "error; '(' unexpected".

I really do not want to type all these by hand... on the other hand, if I do not declare these as local I get 99 warnings about implicit local declaration; not nice.

Is there a way to do this?

Thanks,

M.D.

PS: I do not upload as the one line really is all that is needed. At the lowest level one does not get the implicit-declaration warning, but with "local" it still fails.

hello,my friends.I got a problem in using maple.

I want project a cuboid on a plane, and integrate function on that area.

for example, a cuboid which have a spatial diagonal between (0,0,0) and (1,2,1).
Then it was projected to a plane defined by three points (-1,0,0), (0,-1,0) and (0,0,-1).
Finally, a function x^2+y^2 was integrated on that projected area.

I found the cuboid can be defined with plottools:-cuboid and projected with plottools:-project in maple.
but how to integration next?
I can't find any commands in maple can do the integration with that irregular area.

I need some help.Thank you very much in advance.

Dear Useres!

Hope everyone is fine here! I want to compare the coeficient of exp(k*eta[3]+m*eta[1]+n*eta[2]) for k=0,1,2,3,...,N,n=0,1,2,3,...,N and m=0,1,2,3,...,N for N=10 in the following attached file. But I got some error, please have a look and try to fix it as early as possible. Please take care and thanks

Compare_coeff.mw

I am interested in the inner workings of SignalProcessing:-Convolution. I know I can list it with a higher setting of verboseproc:

with(SignalProcessing);
interface(verboseproc=3); # actually, 2 is enough here...
eval(Convolution);

and get

Obviously the real work happens in IPP:-Convolution, but that seems unknown. How can I list that??

TIA,

Mac Dude

Convolution.mw

I want to estimate numerically the value of P (that is the probability that f exceeds the value 12 when x, y and z are uniformly distributed within the box [-Pi, Pi]3).

restart
f := sin(x)+7*sin(y)^2+0.1*z^4*sin(x);
Omega := [x, y, z] =~ [(-Pi..Pi)$3]:
                                2        4       
               sin(x) + 7 sin(y)  + 0.1 z  sin(x)


h := Heaviside(f-12):
P := Int(h, Omega);


Here is a simple Monte Carlo estimation of P.

f_MC  := x -> sin(x[1])+7*sin(x[2])^2+0.1*x[3]^4*sin(x[1]); 
h_MC  := x -> Heaviside(f_MC(x) - 12);
omega := -Pi, Pi;
                         
P_MC := proc(N)
  local Z := Statistics:-Sample(Uniform(omega), [N, 3]):
  local F := Vector(N, n -> h_MC(Z[n])):
  local K := add(F):
  local P := evalf(add(F)/N):
  local q := Statistics:-Quantile(Normal(0, 1), 0.005, numeric):
  local e := -q*sqrt(P*(1-P)/N):
  printf("A bilateral 99%% confidence interval that Prob(f > 12) is %1.3e +/- %1.2e\n", P, e);
end proc:

P_MC(10^6)
A bilateral 99% confidence interval that Prob(f > 12) is 1.643e-02 +/- 3.27e-04

 

I was hoping to get a value for P using  evalf/Int with some method.
But I didn't succeed with any of the methods for multiple integration:

  • The following command returns 0 for n=1 and 2 and Int(h, Omega) if n >=3
    evalf( Int(h, Omega, 'epsilon=1e-n', 'method=_MonteCarlo') );
    

     

  • And all my attempts with methods from the Cuba library have resulted in an unevaluated Int(h, Omega) integral. 
     

Could you help me to estimate P using  evalf/Int ?
TIA

Hi,
Can anyone tell me what's going wrong with int(Heaviside(f-1/2), x=0..1, y=0..1); ?
 

restart:

f := x*y:

JH := int(Heaviside(f-1/2), x=0..1, y=0..1);  #???
                               1
                               -
                               4

 JP := int(piecewise(x*y>1/2, 1, 0), x=0..1, y=0..1); 
                          1   1      
                          - - - ln(2)
                          2   2      

# integrate "1" over the domain where f > 1/2

S := solve(f=1/2, x):
JS := int(1, x=S..1, y=1/2..1);
                          1   1      
                          - - - ln(2)
                          2   2      

Thanks in advance
 

Hi,

I solve numerically an ODE system which depends on 25 parameters.
I want to know the maximum value of the time at which a specific event is triggered, when these parameters vary (independently the one of the other) within a 25 dimensional hyperbox.

To solve this maximization problem, which I assume is local1, I would like to use NLPSolve

The attached zip (I use Mac OSX) contains:

  • a file that gives a full description of the problem (the original ".pages" file and its export as pdf),
  • an m file wich contains the solution procedure plus a few other variables needed to solve the problem,
  • the mw file which contains:
    • the reading of the m file,
    • the procedure (OBJ) which returns the trigerring time,
    • many attemps to find its maximum value using NLPSolve.

None of my attempts at using NLPSolve gave me the expected answer

Could you help me to fix this?

Thanks in advance

mw_and_m_files.zip

1: Initializing a local method (see the explanation file) with different points gave me different optimizers but all of them led to rather close values of the objective function. Thus the problem is either global instead of local, or convergence might not be achieved for all the initialization points (but keep in mind that I'm not interested in the location of the minimizer(s) but in the maximum value of if the time when the event is triggered).

Hi!

The so called Haar system is given as the follwoing sequence of functions:

 

 

Someboy know how to code the above functions? For a given n, I think that the rpoblem is to find the numbre k in the above definition.

Many thanks in advance for you comments.

In a calculation I am encountering expressions of the following kind:

-.27059805007310*sin(.12+epsilon)+.27059805007310*sqrt(1.-cos(.12+epsilon)^2)

As is known, for epsilon < Pi-0.12, the two terms are equal but opposite in sign and the result should be zero (ok, maybe a few 1E-15 for round-off). But for the heck of it I cannot get Maple to simplify this with the assumption e.g. epsilon < 0.1.

This can probably be simplified by squaring the two terms and then subtracting them, but that can possibly lead to other "interesting" effects and besides is a bit cumbersome.

Has anybody found a good way of  doing this?

Thanks,

M.D.

Dear Users! Hope everything fine here. For any vales of M and N I generated the system of equation.

for j from 2 while j <= N do
for i while i <= M do

omega[2]*(2-b[1])*u[i, j]+(2*b[1]*omega[2]-b[2]*omega[2]-omega[2]+1)*u[i, j-1]-omega[2]*(sum((b[l+2]-2*b[l+1]+b[l])*u[i, j-l-1], l = 1 .. j-2))
end do end do

But I want to convert it into matrix for example if N = 3 and M = 4, I need the following form

I am waiting for your response.

Hi!

I see that from Maple 2018 there is a command to compute the so called Radial Basis Function Interpolation:

https://www.maplesoft.com/support/help/Maple/view.aspx?path=Interpolation%2FRadialBasisFunctionInterpolation

I am trying to implement that code in Maple 2015, but it returns the error

Error, (in h) bad index into Vector

Displaying the vectors computed with the procedure, they seem correct, but the function that I want to return seems to fail (it is a summatory).

Attached the maple file

RBF_Interpolation.mw

I will appreciate any suggestion. Many thanks in advance for your comments!

BR,

GGM

It seems that DrawGraph cannot display the weights of more than 45 arcs of a directed graphs (the arcs themselves are keeping to be displayed correctly).

Maybe a version issue?

WeightedGraphs.mw

4 5 6 7 8 9 10 Last Page 6 of 72