Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

hello i have the following set of ode's:

ode_sub := diff(S(t), t) = -k1*S(t)-S(t)/T1_s;
ode_P1 := diff(P1(t), t) = k1*S(t)-k2*(P1(t)-P2(t)/keq)-P1(t)/T1_p1;
ode_P2 := diff(P2(t), t) = -k2*(-keq*P1(t)+P2(t))/keq-k4*P2(t)-P2(t)/T1_p2;
ode_P2e := diff(P2_e(t), t) = k4*P2(t)-P2_e(t)/T1_p2_e;

ode_system := ode_sub, ode_P1, ode_P2, ode_P2e;

with these parameters:
s0 := 10000;
k2 := 1000; T1_s := 14; T1_p2_e := 35; T1_p2 := T1_p1;
 

i want to find the unkown parameters : T1_p1, k1, keq and k4

my idea was this:

init:=S(0)=s0,P1(0)=0,P2(0)=0,P2_e(0)=0

dsolve({ode_system,init})

sol := combine(expand(%));
PS := subs(sol, [S(t), P1(t), P2(t), P2_e(t)]);
 

P1fu := unapply(PS[2],t);
Sfu := unapply(PS[1],t);
P2fu := unapply(PS[3],t);
P2e_fu := unapply(PS[4],t);
P2_total := unapply(P2fu+P2e_fu, t);
 

the following data is given:

T:=<0,2,4,6,8>

S:=<9999.99913146527,8328.870587730016,6937.009129218748,5777.745632133724,4812.209983843559>

P1:=<0.0,67.86790056712294,114.88787098501874,145.95438088662502,164.85650644237887>

P2_P2e:=<0.0,271.68492651947497,461.9130396605823,589.3710176125417,668.9967533337124> # data from P2(t)+P2_e(t)

 

making the rediduals:

RP1 := convert(P1-P1fu~(T), list);
RS := convert(S-Sfu~(T), list);
RP2_P2e := convert(P2_P2_e-P2_total~(T), list);
 

RPs := [op(RS), op(RP2_P2_e), op(RP1)]

res := Optimization:-LSSolve(RPs, k1 = 0 .. 1, keq = 0 .. 10, k4 = 0 .. 1, T1_p1 = 0 .. 100)

i dont know wheter or not the last step work to get the parameters becuase it takes to long to compute. is there a smarter way to obtain the parameters of the ode's? a numeric approch ?

i tried with dsolve({ode_sysytem,init},numeric,'parameters'=[k1,keq,k4,T1_p1]) however it doesnt seem to get my anywhere since i need to know the parameters to use this (i think)

hope someone can help:)

 

 

In the creation of this animation the technique from here  was used.

 

                    

 

The code of this animation:

with(plots): with(plottools):
SmallHeart:=plot([1/20*sin(t)^3, 1/20*(13*cos(t)/16-5*cos(2*t)/16-2*cos(3*t)/16-cos(4*t)/16), t = 0 .. 2*Pi], color = "Red", thickness=3, filled):
F:=t->[sin(t)^3, 13*cos(t)/16-5*cos(2*t)/16-2*cos(3*t)/16-cos(4*t)/16]:
Gf:=display(translate(SmallHeart, 0,0.37)):
Gl:=display(translate(SmallHeart, 0,-1)):
G:=t->display(translate(SmallHeart, F(t)[])):
A:=display(seq(display(op([Gf,seq(G(-Pi/20*t), t=3..k),seq(G(Pi/20*t), t=3..k)]))$4,k=2..17),display(op([Gf,seq(G(-Pi/20*t), t=3..17),seq(G(Pi/20*t), t=3..17),Gl]))$30, insequence=true, size=[600,600]):
B:=animate(textplot,[[-0.6,0.25, "Happy"[1..round(n)]],color="Orange", font=[times,bolditalic,40], align=right],n=0..5,frames=18, paraminfo=false):
C:=animate(textplot,[[-0.2,0, "Valentine's"[1..round(n)]],color=green, font=[times,bolditalic,40], align=right],n=1..11,frames=35, paraminfo=false):
E:=animate(textplot,[[-0.3,-0.25, "Day!"[1..round(n)]],color="Blue", font=[times,bolditalic,40], align=right],n=1..4,frames=41, paraminfo=false):
T:=display([B, display(op([1,-1,1],B),C), display(op([1,-1,1],B),op([1,-1,1],C),E)], insequence=true):
K:=display(A, T, axes=none):
K;


The last frame of this animation:

display(op([1,-1],K), size=[600,600], axes=none);  # The last frame

                          

 

ValentinelDay.mw
 

Edit. The code was edited - the number of frames has been increased.

Let us consider the linear integer programming problem:

A := Matrix([[1, 7, 1, 3], [1, 6, 4, 6], [17, 1, 5, 1], [1, 6, 10, 4]]):
 n := 4; z := add(add(A[i, j]*x[i, j], j = 1 .. n), i = 1 .. n):
restr := {seq(add(x[i, j], i = 1 .. n) = 1, j = 1 .. n), seq(add(x[i, j], j = 1 .. n) = 1, i = 1 .. n)}:
 sol := Optimization[LPSolve](z, restr, assume = binary);

Error, (in Optimization:-LPSolve) no feasible integer point found; 
use feasibilitytolerance option to adjust tolerance

sol1 := Optimization[LPSolve](z, restr, assume = binary, feasibilitytolerance = 100, integertolerance = 1);

Error, (in Optimization:-LPSolve) no feasible integer point found;
 use feasibilitytolerance option to adjust tolerance

That was OK in Maple 16, outputting

.

The bug in one of the principal Maple commands lasts since Maple 2015, where the above code causes "Kernel connection has been lost". The SCRs about it were submitted three times (see http://www.mapleprimes.com/questions/204750-Bug-In-LPSolve-In-Maple-20151).

how to convert a^2*b+c to func2(func1(func1(abc[1],abc[1]),abc[2]),abc[3])

when i use custom function func2 to represent plus, func1 to represent multiply

input 3 parameters,

one is a^2*b + c one is [func1, func2] and second is [abc[1],abc[2],abc[3]] corresponding to a, b, c
a^2*b + c = func2(func1(func1(abc[1],abc[1]),abc[2]),abc[3]);

This is simplified from a larger example.  I never saw Maple exit from a numercal calculation.

> 123456789 ^ 987654321:
Execution stopped: Stack limit reached.

Process Maple R2016 exited abnormally with code 158

> kernelopts(maxdigits);
                                  38654705646

> lprint(123456789. ^ 987654321.);
.4339566080e7991619731

kernelopts(memusage) shows about 2~3 meg bytes used.

The system has 16G Ram.  16G swap.

Seems like something maple should have caught.

I need help to create a program that will find all the positive integers n, where n < 1000, such that
(n 􏰀-1)!= 􏰁 􏰀-1 (mod n^2 ) . program has to be in full and state the values of n obtained. 

Try solve 

restart; with(PDEtools);
U := diff_table(u(x, y, z));

pde[1] := x*y*U[z]+x*U[x]+2*y*U[y] = 0;

bc[1] := eval(U[], z = 0) = x^2+y^2;
sys[1] := [pde[1], bc[1]];
pdsolve(sys[1])

Maple nothing returned. Where my mistake ?? Thank you.

restart;
eq1 := T - M*g = 0;
eq2 := T1*sin(theta1) + T2*sin(theta2) - T = 0;
eq3 := -T1*cos(theta1) + T2*cos(theta2) = 0;
soln := solve({eq1,eq2,eq3},{T,T1,T2});

limit(subs(theta2=theta1,soln[3]),theta1=0);

This returns a limit -> ... expression.  Since there is a sin(theta1) in the denominator, this should be undefined or infinity.

I don't know where to ask this.  Sorry if this is the wrong forum.

I use maplev-mode

;; Version:    2.155
;; X-RCS:      $Id: maplev.el,v 1.14 2006-06-02 14:02:38 joe Exp $
 

I am attempting to modify it so
  f1 invokes maplev-cmaple-send-line
  f2 invokes maplev-cmaple-send-region
  f3 invokes maplev-cmaple-send-buffer
 

tried adding
(define-key map [(control c) (control c) ?l] 'maplev-cmaple-send-line)
(define-key map [(f1)]  'maplev-cmaple-send-line)

but, emacs seems to not recognize this.  I can change the global keymap to get this behavior.
Is there a way to do this in maplev.el?
 

Tom Dean

Hey everyone!

My question is pretty straightforward: I have a second degree tensor and I need a fourth degree order one from it.

In Python, there is a command that performs the action, would there be one in Maple? Or any kind of process to go through to get the result?

 

Thanks

My code :

> restart; with*PDEtools;

> PDE := diff(u(x, t), `$`(t, 2)) = 4*(diff(u(x, t), `$`(x, 2)));

> pdsolve({PDE, u(x, 0) = cos((1/2)*x), (D[1](u))(x, 0) = 0}, u(x, t));
 

And i get Error, (in pdsolve/BC) invalid input: indets expects 1 or 2 arguments, but received 3.Please help me find my Error.Thank you!!!

I would like to see the list of metrics recognize by Maple with their acornym.  For example,:

>Setup(coordinates = spherical, metric = kerr)

What can i do in this case? I,m traying solve a system of non linear equation like this, i want to know Rs and Rsh:


Dear friends

I have a long-running code that sometimes takes an hour to complete. I wonder is there a way to find out what line of code is currently running in a long-running maple code or to show an update of the variables. I have some print commands but are shown just after completion not before. 

Thank you in advance for your time.

Ok, I'm  a confident Matlab user, but for some reason Maple befuddles me.

Let's say I have two functions, x=f(t) and y=g(t) and I want to fill both two vectors with values, with t=-n:n.  How do I construct a loop to do that?

First 1019 1020 1021 1022 1023 1024 1025 Last Page 1021 of 2247