## error in dsolve.....

I have a problem for converging dsolve?

"matrix is singular" and '"initial Newton iteration is not converging"'

thanks

 >
 >
 >
 (1)
 >
 (2)
 >
 (3)
 >
 >

 >
 (4)
 >
 (5)
 >
 >
 >
 >

## problem in dsolve...

hi..i have a problem with dsolve.

 >
 >
 >
 >
 >
 >
 >

## invalid input: PDEtools/NumerDenom...

ode1a := diff(a(t), t) = 1.342398800*10^5*a(t)+round(89591.20000)*b(t)+round(44647.44000)*c(t);
ode2a := diff(b(t), t) = round(89591.20000)*a(t)+round(89803.24000)*b(t)+round(44901.60000)*c(t);
ode3a := diff(c(t), t) = round(44647.44000)*a(t)+round(44901.60000)*b(t)+round(44859.24000)*c(t);
sol := dsolve([ode1a=exp(t), ode2a=exp(t), ode3a=exp(t)], [a(t),b(t),c(t)]);

Error, (in dsolve) invalid input: `PDEtools/NumerDenom` expects its 1st argument, ee, to be of type algebraic, but received diff(a(t), t) = (3355997/25)*a(t)+89591*b(t)+44647*c(t)

initially i guess the error come from decimal number coefficient

but after round it, still have error

## Need Numerical solutions of system of ODEs...

Dear friends!

Hope you would be fine. I want to solve the following system of ODEs

restart; L := 1; with(plots); Digits := 30;

a[1] := 0; a[2] := 1; a[3] := 2; a[4] := .2; a[5] := 4; a[6] := 6;

S := 1; Pr := 6.2; a := 1; a1 := 1; a2 := 1; lambda := 1; delta := 1; Bi := 1; A := 1; B := 1;

HA := [a[1], a[2], a[3]];

Eq1 := diff(F(eta), eta, eta, eta)+a*(a1*((F(eta)+G(eta))*(diff(F(eta), eta, eta))-(diff(F(eta), eta))^2)-M1*(diff(F(eta), eta))) = 0;

Eq2 := diff(G(eta), eta, eta, eta)+a*(a1*((F(eta)+G(eta))*(diff(G(eta), eta, eta))-(diff(G(eta), eta))^2)-M1*(diff(G(eta), eta))) = 0;

Eq3 := (A+B)*(diff(H(eta), eta, eta))+a2*Pr*(F(eta)+G(eta))*(diff(H(eta), eta)) = 0;

IC1 := F(0)+G(0)=0, (D(F))(0) = 1+delta*((D@@2)(F))(0), (D(G))(0) = lambda+delta*((D@@2)(G))(0), (D(H))(0) = -Bi*(1-H(0)), (D(F))(L) = 0, (D(G))(L) = 0, H(L) = 0;

params := {B111 = .2};
associated with the above (mentioned as red) boundary conditions. The problem which I faced in first condition i.e., F(0)+G(0)=0 because its combine condition for F(eta) and G(eta) which should be use for both function. The rest part of my program is below:

for k to nops(HA) do;

P || k := plots:-odeplot(dsolve(eval({Eq1, Eq2, Eq3, IC1}, `union`(params, {M1 = .5, phi = HA[k]})), numeric), [[eta, diff(F(eta), eta)]], linestyle = [solid, solid, solid, solid][k], color = [red, green, blue, red][k], labels = [eta, f], thickness = 3) end do;

f1 := plots:-display(P || (1 .. nops(HA)));

display(f1, axes = boxed, size = [380, 310], title = "Ethylene glycol/Cu: M = 2, S = -5", titlefont = ["Arial", 12, bold]);

Please fix my problem ASAP. I also attach the maple file. Thanks in advance.

Help.mw

## Error, (in dsolve/numeric/bvp) cannot determine a ...

Can anyone help me with this problem. I am trying to solve it and its given me an error message "Error, (in dsolve/numeric/bvp) cannot determine a suitable initial profile, please specify an approximate initial solution".

 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 (1)
 >
 >
 >

Looking forward to your favorable response.

Kind regard

## A new and efficient code in Maple for Boundary...

Maple

A new code based on higher derivative method has been implemented in Maple. A sample code is given below and explained. Because of the symbolic nature of Maple, this method works very well for a wide range of BVP problems.

The code solves BVPs written in the first order form dy/dx = f (Maple’s dsolve numeric converts general BVPs to this form and solves).

The code can handle unknown parameters in the model if sufficient boundary conditions are provided.

This code has been tested from Maple 8 to Maple 2017. For Digits:=15 or less, this code works in all of the Maple versions tested.

Most problems can be solved with Digits:=15 with atol = 1e-10 or so. This code can be used to get a tolerance value of 1e-20 or any high precision as needed by changing the number of Digits accordingly. This may be needed if the original variables are not properly sacled. With arbitrarily high Digits, the code fails in Maple 18 or later version, etc because Maple does not support SparseDirect Solver at high precision in some of the versions (hopefuly this bug can be removed in the future versions).

For simple problems, Maple’s dsolve/numeric is superior to the code developed as it is implemented in hardware floats. For large scale problems and stiff problems, the method developed is much more superior to Maple and comparable to (and often times better than) state of the art codes for BVPs - bvp4c (MATLAB), COLSYS,TWPBVP, etc.

The code, as written, cannot be used for problems with a singularity at end points (doable in the future). In addition, mixed boundary conditions are not supported in this version of the code (for example, y1(1)=y2(0)). Future updates will include the application of this approach for DAE-BVPs, currently not supported by Maple’s dsolve/numeric command.

A paper has been submitted to JCAM. I welcome feedback on the code and solicit input from Mapleprimes members if they are able to test (and break this code) for any BVP.

PDF of the paper submitted, example maple code and the solver as a text file needed are uploaded here. Additional examples are hosted on my website at http://depts.washington.edu/maple/HDM.html

 >

##################################################################################

Troesch's problem
This is an inherently unstable, difficult, nonlinear, two-point BVP formulated by Weibel and Troesch that describes the confinement of a place column by radiation pressure. Increasing epsilon increases the stiffness of the ODE.
1. E.S. Weibel, On the confinement of a plasma by magnetostatic fields, Phys. Fluids. 2 (1959) 52-56.
2. B. Troesch, A simple approach to a sensitive two-point boundary value problem, J. Comput. Phys. 21 (1976) 279-290.

Introduction
The package HDM solves boundary value problems (BVPs) using higher derivative methods (HDM) in Maple®. We explain how to solve BVPs using this package. HDM can numerically solve BVPs of ordinary differential equations (ODEs) of the form shown is the fowllowing example.

###################################################################################

 >
 >

Reset the program to clear the memory from previous execution command.

 > restart:
 >

Read the txt file which contains the HDM solver for BVPs.

 >

Declare the precision for the entire Maple® sheet.

 > Digits:=15;
 (1)
 >

Enter the first-order ODEs into EqODEs list.

 > EqODEs:=[diff(y1(x),x)=y2(x),diff(y2(x),x)=epsilon*sinh(epsilon*y1(x))];
 (2)
 >

Define the left boundary condition (bc1), and the right boundary condition (bc2). One should collect all the terms in one side.

 > bc1:=evalf([y1(x)]);
 (3)
 > bc2:=evalf([y1(x)-1]);
 (4)
 >

Define the range (bc1 to bc2) of this BVP.

 > Range:=[0.,1.];
 (5)
 >

List any known parameters in the list.

 > pars:=[epsilon=2];
 (6)
 >

List any unknown parameters in the list. When there is no unknown parameter, use [ ].

 > unknownpars:=[];
 (7)
 >

Define the initial derivative in nder (default is 5 for 10th order) and the number of the nodes in nele (default is 10 and distributed evenly across the range provided by the user). The code adapts to increase the order. For many problems, 10th order method with 10 elements are sufficient.

 > nder:=5;nele:=10;
 (8)
 >

Define the absolute and relative tolerance for the local error. The error calculation is done based on the norm of both the 9th and 10th order simulation results.

 > atol:=1e-6;rtol:=atol/100;
 (9)
 >

Call HDMadapt procedure, input all the information entered above and save the solution in sol. HDMadapt procedure does not need the initial guess for the mesh.

 >

Present some details of the solution.

 > sol[4]; # final derivative
 (10)
 > sol[5]; # Maximum local RMSE
 (11)
 >

Store the dimension of the solution (after adjusting the mesh) to NN.

 > NN:=nops(sol[3])+1;
 (12)
 >

Plot the interested variable (the ath ODE variable will be sol[1][i+NN*(a-1)] )

 > node:=nops(EqODEs); odevars:=select(type,map(op,map(lhs,EqODEs)),'function');
 (13)
 > xx:=Vector(NN):
 > xx[1]:=Range[1]:
 > for i from 1 to nops(sol[3]) do xx[i+1]:=xx[i]+sol[3][i]: od:
 > for j from 1 to node do   plot([seq([xx[i],rhs(sol[1][i+NN*(j-1)])],i=1..NN)],axes=boxed,labels=[x,odevars[j]],style=point); end do;
 >

## conditional if ...

Hello everyone,

I need your helps .I have this code to solve equation numerically with random coefficients, but sometimes the solution find a singularity, for that I create conditional if to avoid it , but its does not work.

Thank you a lot.

 >
 >

 >

 >

 > amin:=0.1;amax:=0.2;

 > bmin:=15;bmax:=24;

 >

## how to dsolve for x(t) in this case?...

in the steps below, it is not fluent to do, and appear diff(1,t)

KineticEnergy := 1/2*m*diff(x(t), t)^2;
PotentialEnergy := subs(x=x(t),int((1/R^2)^2,x));
Action := KineticEnergy - PotentialEnergy;
AA := diff(Action,x(t)) - diff(diff(Action, diff(x(t),t)),t) = 0 <-------- Dsolve this
AA := eval(subs(diff(1,t)=0,diff(Action,x(t))) - Diff(subs(p=Diff(x(t),t),diff(subs(Diff(x(t),t)=p, Action), p)),t)) = 0
dsolve(AA, x(t));

Where R is constant

## how I can dsolve this differential equation...

hi...

how I can dsolve this differential equations. parameter p is unkown.

I want to gain w(x) and u(x) and psi(x) and p.

thanks

 >
 (1)
 >
 (2)
 >
 (3)
 >
 >
 > with(PDEtools, casesplit, declare);
 (4)
 >

## how i can dsolve this differential equations........

hi...

how i can dsolve this differential equations and obtain w(x) and U(x) and phi(x) analytical or numerically?

thanks

 (1)

 (2)

 (3)