Items tagged with numeric

Hello friends!

I have one question, whenever I solved system of ODEs using numerical solution (bilton command i.e., dsolve(dsys1, numeric, output = listprocedure, range = 0 .. 1)), its accutacy always like 10 or 12 digits not above at all. I want to how i improve the accuracy. I am waiting your postive answer.

Respected member!
Please help me to find the solution of attached problem,  I am a new user so please forgive any

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:



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:




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:)



Way back in Maple 10 (I'd like to pay special attention to it was suggested even hinted by a Maplesoft employee that this availability would be in a future version of Maple. 

Since then there have been numerous requests on how to get Maple to change to scientific or engineering notation of the sorts. 

So what is that now, v11 v12 v13 v14 v15 v16 v17 v18 v2015 v2016 ... 10 versions!  and no implementation of engineering / scientific notation conversions. 

We rely today on printf or sprintf for e notations however I could't come up with an output of converting 3530 to simply 3.53 x 103 .  Can someone produce a proc to do so, I have tried and I can not. 

Is there a way to change the numeric formatting of 'Scientific' to use a cdot instead of a cross to represent multiplication?


z0:= a0^2/(4*lambda);  









Hi guys,

I run my code and after a point all the numerical values are followed by a dot. Why is that? Also the symbolic variables have a 1. before them.

Thanks a lot!

Hello! Hope everyone would be fine. I want to solve the following system of ODEs please help to find the numerical solution

N := .6; alpha := .4; beta := .1; Nt := .2; Pr := .5; Nb := .1; s := .2; lambda[1] := 1; delta := .5; gm := 1; Sc := 1:L:=1:

Eq1 := (alpha*s+1)*(diff(F(eta), eta, eta, eta))-(F(eta)+(1/2)*s*eta)*(diff(F(eta), eta, eta))+((1/2)*(diff(F(eta), eta))-s)*(diff(F(eta), eta))-2*(G(eta)^2-(1-gm)^2)-2*lambda[1]*(H(eta)+N*Y(eta))-(alpha+beta-(1/4)*delta*(diff(F(eta), eta, eta, eta)))*(diff(F(eta), eta, eta))^2-(alpha-2*beta)*(diff(F(eta), eta))*(diff(F(eta), eta, eta, eta))-(2*(alpha-beta-(1/4)*delta*(diff(F(eta), eta, eta, eta))))*(diff(G(eta), eta))^2-(2*(alpha-(1/4)*delta*(diff(F(eta), eta, eta))))*G(eta)*(diff(G(eta), eta, eta)) = 0; Eq2 := (alpha*s+1)*(diff(G(eta), eta, eta))-F(eta)*(diff(G(eta), eta))+G(eta)*(diff(F(eta), eta))+s*(1-gm-G(eta)-(1/2)*eta*(diff(G(eta), eta)))-(1/2)*alpha*s*eta*(diff(G(eta), eta, eta, eta))+((3/2)*alpha+beta)*G(eta)*(diff(F(eta), eta, eta, eta))-((1/2)*alpha+beta)*(diff(F(eta), eta))*(diff(G(eta), eta, eta))-delta*((diff(F(eta), eta, eta))^2+6*(diff(G(eta), eta))^2)*(diff(G(eta), eta, eta)) = 0; Eq3 := (diff(H(eta), eta, eta))/Pr-F(eta)*(diff(H(eta), eta))+(1/2)*H(eta)*(diff(F(eta), eta))-s*(2*H(eta)+(1/2)*eta*(diff(H(eta), eta)))+Nb*(diff(H(eta), eta))*(diff(Y(eta), eta))+Nt*(diff(H(eta), eta))^2 = 0; Eq4 := (diff(Y(eta), eta, eta))/Sc-F(eta)*(diff(Y(eta), eta))+(1/2)*Y(eta)*(diff(F(eta), eta))-s*(2*Y(eta)+(1/2)*eta*(diff(Y(eta), eta)))+Nt*(diff(H(eta), eta, eta))/Nb = 0;

IC1 := F(0) = 0, (D(F))(0) = 0, G(0) = gm, H(0) = 1, Y(0) = 1; IC2 := (D(F))(L) = 0, G(L) = 1-gm, (D(G))(L) = 0, H(L) = 0, Y(L) = 0; dsys1 := {Eq1, Eq2, Eq3, Eq4, IC1, IC2}; dsol1 := dsolve(dsys1, numeric, output = listprocedure, range = 0 .. L);

dsol1f := subs(dsol1, F(eta));

dsol1g := subs(dsol1, G(eta)); dsol1h := subs(dsol1, H(eta)); dsol1y := subs(dsol1, Y(eta));

With my best regards and sincerely.


how i can dsolve this differential equations?


restart; Digits := 50; dsol1 := dsolve({diff(F(eta), eta, eta, eta)+.5*H(eta)*((diff(F(eta), eta))^2+F(eta)*(diff(F(eta), eta, eta)))/G(eta)^2+2*(diff(G(eta), eta))*(diff(F(eta), eta, eta))/G(eta)-(diff(H(eta), eta))*(diff(F(eta), eta, eta))/H(eta) = 0, diff(G(eta), eta, eta)+H(eta)*((diff(F(eta), eta))*G(eta)+.5*F(eta)*(diff(eta, eta)))/G(eta)^2+2*(diff(G(eta), eta))^2/G(eta)-((diff(H(eta), eta))*(diff(H(eta), eta)))/H(eta)+(diff(F(eta), eta, eta))^2-(H(eta)/G(eta))^2 = 0, diff(H(eta), eta, eta)+(.5*1.3)*H(eta)*(5*(diff(F(eta), eta))*H(eta)+F(eta)*(diff(H(eta), eta)))/G(eta)^2+2*(diff(G(eta), eta))*(diff(H(eta), eta))/G(eta)-(diff(H(eta), eta))^2/H(eta)+(1.3*1.44)*H(eta)*(diff(F(eta), eta, eta))/G(eta)-(1.3*1.92)*(H(eta)/G(eta))^3 = 0, F(0) = 0, G(0) = 0, H(0) = 0, (D(F))(0) = 1, (D(F))(1) = 0, (D(G))(0) = 0, (D(H))(0) = 0}, 'maxmesh' = 900, numeric, output = listprocedure, method = bvp[middefer], abserr = 0.1e-2); fy := eval(F(eta), dsol1)

Error, invalid input: eval received dsol1, which is not valid for its 2nd argument, eqns







Let us consider

restart; Digits := 20; evalf(Int(abs(cos(1/t)), t = 0 .. 0.1e-1), 3);

Pay your attention to the minus sign. Simply no words. Mma produces 0.006377.


I'm trying to solve a system of 9 ODE in a model of a chemical reactor. But, unfortunately, when I try to plot the curves, I get the following error message: Error, (in f) unable to store '[Float(undefined)]+8.5809018712796' when datatype=float[8]

Can anyone help me please? I read some related problems here, but couldnt find a solution yet.

Thanks for your time

Best regards

i have solved the coupled equations .... and want to subtract a constant

i want to subtract constant from the result of last equation


Hope everything fine with you. I want to solve the attached problem by numarically and want to plot it but failed. Please see the attachement and correct it. I am waiting your positive respone.

With my best regards and sincerely.

Muhammad Usman

School of Mathematical Sciences 
Peking University, Beijing, China

i don't know much about maple, i need to solve the following odes system... I study a little on the help page of maple about numeric[midrich] that takes bvp and deal singularity as well but dint know how to used in the following system

Respected member!
Please help me to find the solution of attached problem, I am a new user so pleaes forgive any mistakes.







R := 2.0



ODEforNum := r^3*((D@@4)(F))(r)+r^2*R*((D@@3)(F))(r)*(F(r)-2/R)+R*((D(F))(r)-r*((D@@2)(F))(r))*(r*(D(F))(r)+3*(F(r)-1/R)) = 0:

numsol := dsolve({BCSforNum, ODEforNum}, numeric, output = listprocedure)

Error, (in dsolve/numeric/bvp/convertsys) unable to convert to an explicit first-order system





1 2 3 4 5 6 7 Last Page 1 of 26