Unanswered Questions

This page lists MaplePrimes questions that have not yet received an answer

Dear Friends,

My present problem is to calculate the coefficients  

of ODES based on the experiment data. In order to simulate the actual experiment, a set of  is given with . Then the experiment data (yexp) can be calculated. Finally, the least-squares method (lsq) is used to calculate the coefficient values. Now the NLPSolve function can be used. However, the globalsolve cant run.

 

If it is convenient for you, wish you can solve it.

 

Code:

 

restart;
cdm_ode := diff(y1(t), t) = c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t)), diff(y2(t), t) = ks*y2(t)^(1/3)*(1-y2(t)), diff(y3(t), t) = h1*(1-y3(t)/h2)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(sigma*(1-y2(t))), diff(y4(t), t) = (1/3)*kp*(1-y4(t))^4, diff(y5(t), t) = A*B*y1(t)^(B-1)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t)), diff(y6(t), t) = y6(t)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t));

 

tol_t := 3600;
sol := dsolve([cdm_ode, y1(0) = 0, y2(0) = 0, y3(0) = 0, y4(0) = 0, y5(0) = 0, y6(0) = 175], numeric, range = 0 .. tol_t, output = listprocedure, parameters = [c0, n, sigma, s0, ks, h1, h2, kp, A, B]);

sol(parameters = [5.7*10^(-6), 10.186, 175, 200, 5*10^(-8), 10000, .269, 1.5*10^(-7), 1.5, 2]);

t := [seq(i^2, i = 0 .. 50, 1)];

y1data := subs(sol, y1(t));
 
y1exp := [seq(y1data(t[i]), i = 1 .. 51)];

err := proc (c0, n, s0, ks, h1, h2, kp, A, B) local y1cal, y1val, lsq; sol(parameters = [c0, n, 175, s0, ks, h1, h2, kp, A, B]); y1cal := subs(sol, y1(t)); y1val := [seq(y1cal(t[i]), i = 1 .. 51)]; lsq := add((y1val[i]-y1exp[i])^2, i = 1 .. 51); lsq end proc;

with(Optimization);
val := NLPSolve(err, 10^(-8) .. 10^(-4), 2 .. 20, 150 .. 250, 10^(-2) .. 1, 100 .. 20000, 10^(-5) .. .4, 10^(-5) .. 1, .5 .. 2, 1 .. 10);
GlobalSolve(err, 10^(-10) .. 10^(-4), 2 .. 20, 150 .. 250, 0 .. 1, 100 .. 15000, 0 .. .5, 0 .. 1, .5 .. 2, 1 .. 5);


Error, (in GlobalOptimization:-GlobalSolve) `InertForms` does not evaluate to a module

 

 

 

 

 


#DeHoog f4(t)

F4 := proc (F::procedure, Tol, M, t) local T, gamma1, Fc, e, q, d, A, B, i, r, m, n, h2M, R2M, A2M, B2M, a, z; T := evalf(2*t); gamma1 := evalf((-1)*.5*ln(Tol)/T); Fc := Array(0 .. 2*M); e := Array(0 .. 2*M, 0 .. 2*M); q := Array(0 .. 2*M, 0 .. 2*M); d := Array(0 .. 2*M); A := Array(-1 .. 2*M); B := Array(-1 .. 2*M); Fc[0] := evalf(.5*F(gamma1)); for i to 2*M do a := gamma1+I*i*Pi/T; Fc[i] := evalf(F(a), 25) end do; for i from 0 to 2*M do e[0, i] := 0 end do; for i from 0 to 2*M-1 do q[1, i] := evalf(Fc[i+1]/Fc[i]) end do; for r to M do for i from 2*M-2*r+1 by -1 to 0 do if 1 < r then q[r, i] := evalf(q[r-1, i+1]*e[r-1, i+1]/e[r-1, i]) end if; if i < 2*M-2*r+1 then e[r, i] := evalf(q[r, i+1]-q[r, i]+e[r-1, i+1]) end if end do end do; d[0] := Fc[0]; for m to M do d[2*m-1] := -q[m, 0]; d[2*m] := -e[m, 0] end do; z := evalf(exp(I*Pi*t/T)); A[-1] := 0; B[-1] := 1; A[0] := d[0]; B[0] := 1; for n to 2*M do A[n] := A[n-1]+d[n]*z*A[n-2]; B[n] := B[n-1]+d[n]*z*B[n-2] end do; h2M := evalf(.5+((1/2)*d[2*M-1]-(1/2)*d[2*M])*z); R2M := evalf(-h2M-h2M*sqrt(1+d[2*M]*z/h2M^2)); A2M := A[2*M-1]+R2M*A[2*M-2]; B2M := B[2*M-1]+R2M*B[2*M-2]; evalf(exp(gamma1*t)*Re(A2M/B2M)/T) end proc;

proc (F::procedure, Tol, M, t) local T, gamma1, Fc, e, q, d, A, B, i, r, m, n, h2M, R2M, A2M, B2M, a, z; T := evalf(2*t); gamma1 := evalf((-1)*.5*ln(Tol)/T); Fc := Array(0 .. 2*M); e := Array(0 .. 2*M, 0 .. 2*M); q := Array(0 .. 2*M, 0 .. 2*M); d := Array(0 .. 2*M); A := Array(-1 .. 2*M); B := Array(-1 .. 2*M); Fc[0] := evalf(.5*F(gamma1)); for i to 2*M do a := gamma1+I*i*Pi/T; Fc[i] := evalf(F(a), 25) end do; for i from 0 to 2*M do e[0, i] := 0 end do; for i from 0 to 2*M-1 do q[1, i] := evalf(Fc[i+1]/Fc[i]) end do; for r to M do for i from 2*M-2*r+1 by -1 to 0 do if 1 < r then q[r, i] := evalf(q[r-1, i+1]*e[r-1, i+1]/e[r-1, i]) end if; if i < 2*M-2*r+1 then e[r, i] := evalf(q[r, i+1]-q[r, i]+e[r-1, i+1]) end if end do end do; d[0] := Fc[0]; for m to M do d[2*m-1] := -q[m, 0]; d[2*m] := -e[m, 0] end do; z := evalf(exp(I*Pi*t/T)); A[-1] := 0; B[-1] := 1; A[0] := d[0]; B[0] := 1; for n to 2*M do A[n] := A[n-1]+d[n]*z*A[n-2]; B[n] := B[n-1]+d[n]*z*B[n-2] end do; h2M := evalf(.5+((1/2)*d[2*M-1]-(1/2)*d[2*M])*z); R2M := evalf(-h2M-h2M*sqrt(1+d[2*M]*z/h2M^2)); A2M := A[2*M-1]+R2M*A[2*M-2]; B2M := B[2*M-1]+R2M*B[2*M-2]; evalf(exp(gamma1*t)*Re(A2M/B2M)/T) end proc

(1)

F4(proc (p) options operator, arrow; int(12*Dirac(a)*BesselJ(0, 2*a)/(a*p), a = 0 .. .100) end proc, 0.1e-4, 4, 10);

Float(undefined)

(2)

``

``


Download dehoog.mw

How is it possible to numerically integrate the function containing Diract delta function.

The following code for example is failed to answer and makes computer memory full.

 

       

 

 

I have a fairly old laptop, a Toshiba S10 Tecra, windows 7 64 bit and 4 Gb RAM.  It has an NVidia Quadro NVS 150m video card inside and according to NVidia CUDA capable of a compute level to 1.1 which is ok for float[4] but not float[8].  Inititiating the computecabability in maple does indeed bring a score level of 1.1.

Doing any LinearAlgebra matrix calculations with CUDA enabled is maybe 5x's slower than with it disabled.  I run into BLAS errors and screen blankouts at matrix values of 2000.  The video driver is the latest from Toshiba (2010) but not NVidia (2014) I suppose there would be an increased performace with newer drivers but if I'm going to run into the same issue of slower calculations with CUDA enabled there's no point in even testing the newer drivers on an otherwise fine running machine. 

Since it is a low end video card is CUDA even worthwhile, will I even notice a speed up with updated drivers?

                                                                          

Dear Maple Experts,

i am new to maple and I am trying to write a maple algorithm in order to calculate the GCD of two functions. 

I have defined the two functions and written the algorithm, but I get an error "Unable to Parse".

Here is my code:

restart; with(Algebraic); with(LinearAlgebra[Generic]); with(RegularChains); with(FastArithmeticTools); with(ChainTools); interface(rtablesize = 15);

f := (y^2-1)*((y+1)*x^4+(y^2-1)*x^3+(y^3-1)*x^2+(y^4-1)*x+y^5-1);

g := (y-1)*x^5+(y^2-1)*x^4+(y^3-1)*x^3+(y^4-1)*x^2+(y^5-1)*x+y^6-1;

SubRes:=proc(f,g,var): local  i,a, delta, beta, psi: if degree(f,var)<degree(g,var) then a[0]:=Algebraic:-PrimitivePart(g,var): a[1]:=Algebraic:-PrimitivePart(f,var): else a[0]=Algebraic:-PrimitivePart(f,var): a[1]:=Algebraic:-PrimitivePart(g,var): fi: delta[0]:=degree(a[0],var)-degree(a[1],var): beta[2]:=(-1)^((delta[0]+1)): psi[2]:=-1: i:=1: while a[i]<>0 do a[i+1]:=(prem(a[i-1], a[i], var))/(beta[i+1]): delta[i]:=degree(a[i],var)-degree(a[i+1], var): i:=i+1: psi[i+1]:=((-lcoeff(a[i-1],var))^((delta[i-2])))*((psi[i])^((1-delta[i-2]))): beta[i+1]:=-lcoeff(a[i-1],var)*(psi[i+1])^((delta[i-1])): od: print("Last Non-Zero Subresultant: ", sort(simplify(a[i-1])),y): return (Algebraic:-PrimitivePart(a[i-1],var)): end proc

and I get this error:

Error, unable to parse

Would you kindly help me to fix this issue?

Kind Regards,

Ash

 

Please I need someone to help out with how to solve the below ODE numerically using finite difference method with the necessary maple code:

 

█( S〗_h〗^' (t)=Λ_h-αβ_m I_v S_h-μ_h S_h+πI_m,  

〖I_m〗^' (t)=αβ_m I_v S_h-(σ_m+π+μ_h ) I_m

〖 S〗_v〗^' (t)=Λ_v-αβ_v I_m S_v-μ_v S_v

〖I_v〗^' (t)=αβ_v I_m S_v-μ_v I_v )

The initial conditions can be assumed. Suppose i want to include controls, how do I solve the problem and equally plot the graph.

 

Thank you.

ADENIYI MICHAEL

 

http://i.imgur.com/JGObjn5.png

 

I tried with and without evalf. Do I need to import something? or something like with Linear Algebra? 

This is pretty similar to my last question. but I found this maple code on a website that is suppose to find a vertex coloring of a graph G. The output is is supposed to be a list for example like [3, table([y = 1, k = 2, c = 2, m = 3, h = 1, x = 1] where the first part (in this case 3) is the number of colors and 1,2,3 in the second part are the colors to which each vertex is assigned.  However, no matter what graph I run this on I get everything equal to 1. such as [1, table([y = 1, k = 1, c = 1, m = 1, h = 1, x = 1])]. Why is this happening?  
color:=proc(G)
  local i, j, C, U, V, total_used;
  V:=Vertices(G); total_used:=1;
  C[V[1]]:=1;
  for i from 2 to nops(V) do
    C[V[i]]:=0;
  end do;
  for i from 2 to nops(V) do
    U:={};
      for j from 1 to nops(neighbors(V[i], G)) do
      U:=U union C[neighbors(V[i], G)[j]];
       end do;
    j:=1;
    while member(j, U) do
      j:=j+1;
     end do;
    C[V[i]]:=j;
    if j>total_used then
      total_used:=j;
    end if;
   end do;
  [total_used, eval(C)];
end:

Egor has two parents, four grandparents, and so on.
Write an explicit formula and a recursive formula for the number of ancestors Egor has if we go back n generations.                

what would be the figure back to 25 generations ?

Hej everyone,

I am trying to run a Maple script for multiple parameters on our cluster, so far so good. I found that I can pass for example a:=1 and b:=2 to a Maple script using

maple -c "a:=1;" -c "b:=2;" < script.mpl

Is that the best/only way? For convenience I would like to read the parameters from a file, my first idea was to work with sed, so I tried

maple $(sed -n 1'p' data) < script.mpl

This should take the first line from data (which is -c "a:=1;" -c "b:=2;"), so that I would expect to get the same result.
Unfortunately, this is not the case, only the first parameter a:=1 is passed correctly and non of the further parameters.

I've appended the files, I used.

This may be not a Maple problem but rather me making a mistake using sed, but maybe you can see where I made a mistake.

Thanks in advance,

Sören

 

a

b

c

Download script.mw

The mw-file has to be exported as an mpl-file first. In my case data just contains one line: -c "a:=1;" -c "b:=2;" -c "c:=3;" (I couldn't upload either)

I'm brand new to Maple and was assigned a problem to modify a code provided by my professor to incorporate variable window size. However, I don't know where to begin or what I'm doing. I've attached the link to the problem below. Plz help.  NA1_Project_IDW_01.2014_Fall.pdf

Let (G, ·) be a group and X any set. Let F be the set of functions with domain

X and range G. Define a binary operation ∗ on F by (f ∗ g)(x) := f(x) · g(x). Is

prove that this is so.

Yes, (F, ∗) is a group.

prove it.

First 247 248 249 250 251 252 253 Last Page 249 of 363