mmcdara

6149 Reputation

17 Badges

9 years, 62 days

MaplePrimes Activity


These are answers submitted by mmcdara

For your system to be a PDE system it has to contain partial derivatives wrt both x AND t.
As no derivative wrt t is present, you have a simple ODE system.

You already noticed that writting eq3 and eq4, and then did right solving this system.
If what puzzles you is that the solution doesn't depend on arbtrary functions of t you can do somethinh like that:
in the file below f(t) and g(t) are arbitrary functions of t, those who Maple would name _F1(t) and _F2(t)
 

restart

eq1 := diff(p(x, t), x) = p(x, t)*(1/(p(x, t)^2*q(x, t)^(1/3)))

diff(p(x, t), x) = 1/(p(x, t)*q(x, t)^(1/3))

(1)

eq2 := diff(q(x, t), x) = -(-3*q(x, t))*(1/(p(x, t)^2*q(x, t)^(1/3)))

diff(q(x, t), x) = 3*q(x, t)^(2/3)/p(x, t)^2

(2)

sys := {eq1, eq2}:

SYS := eval(sys, {p(x, t)=P(x), q(x, t)=Q(x)});

{diff(P(x), x) = 1/(P(x)*Q(x)^(1/3)), diff(Q(x), x) = 3*Q(x)^(2/3)/P(x)^2}

(3)

SOL := dsolve(SYS);

[{Q(x) = _C1*x+_C2}, {P(x) = 3^(1/2)*((diff(Q(x), x))*Q(x)^(2/3))^(1/2)/(diff(Q(x), x)), P(x) = -3^(1/2)*((diff(Q(x), x))*Q(x)^(2/3))^(1/2)/(diff(Q(x), x))}]

(4)

sol := eval(SOL, {P(x)=p(x, t), Q(x)=q(x, t)});

[{q(x, t) = _C1*x+_C2}, {p(x, t) = 3^(1/2)*((diff(q(x, t), x))*q(x, t)^(2/3))^(1/2)/(diff(q(x, t), x)), p(x, t) = -3^(1/2)*((diff(q(x, t), x))*q(x, t)^(2/3))^(1/2)/(diff(q(x, t), x))}]

(5)

sol := eval(sol, {_C1=f(t), _C2=g(t)}):

# check if the initial system is verified for the first solution

sol_1 := [op(sol[1]), eval(op(sol[2])[1], op(sol[1]))];
eval([sys[]], sol_1);
is~(%)

[q(x, t) = f(t)*x+g(t), p(x, t) = 3^(1/2)*(f(t)*(f(t)*x+g(t))^(2/3))^(1/2)/f(t)]

 

[(1/3)*f(t)*3^(1/2)/((f(t)*(f(t)*x+g(t))^(2/3))^(1/2)*(f(t)*x+g(t))^(1/3)) = (1/3)*f(t)*3^(1/2)/((f(t)*(f(t)*x+g(t))^(2/3))^(1/2)*(f(t)*x+g(t))^(1/3)), f(t) = f(t)]

 

[true, true]

(6)

# check if the initial system is verified for the second solution

sol_2 := [op(sol[1]), eval(op(sol[2])[2], op(sol[1]))];
eval([sys[]], sol_1);
is~(%)

[q(x, t) = f(t)*x+g(t), p(x, t) = -3^(1/2)*(f(t)*(f(t)*x+g(t))^(2/3))^(1/2)/f(t)]

 

[-(1/3)*f(t)*3^(1/2)/((f(t)*(f(t)*x+g(t))^(2/3))^(1/2)*(f(t)*x+g(t))^(1/3)) = -(1/3)*f(t)*3^(1/2)/((f(t)*(f(t)*x+g(t))^(2/3))^(1/2)*(f(t)*x+g(t))^(1/3)), f(t) = f(t)]

 

[true, true]

(7)

# complete solution

print~(sol_1):
print(cat("-"$80)):
print~(sol_2):

q(x, t) = f(t)*x+g(t)

 

p(x, t) = -3^(1/2)*(f(t)*(f(t)*x+g(t))^(2/3))^(1/2)/f(t)

 

"--------------------------------------------------------------------------------"

 

q(x, t) = f(t)*x+g(t)

 

p(x, t) = -3^(1/2)*(f(t)*(f(t)*x+g(t))^(2/3))^(1/2)/f(t)

(8)

 

Download Solve_as_an_ODE_system.mw

When I get some "counter-contuitive" result, I use to try and figure out what could have happened, for instance by seeking to the problem otherwise (please don't take this as a critic).
In your case I would have done this:

  • Seek if there exist real solutions by checking if the operands under each square root are positive on a non empty interval.
  • If not, replace x by y*I*z and operate explicitely in the  C field.
  • Observe the solutions.
    Evaluate y*I*z for these solutions.

You will see that the result of this last step (1/9 and 2) is exactely the result that Maple gave you.
So I guess thet Maple takes the same path that I described above (?)

restart

a1 := sqrt(x^2-10*x+1):
a2 := sqrt(-8*x^2+9*x-1):

s1 := solve(op(1, a1) >= 0);
s2 := solve(op(1, a2) >= 0);

RealRange(-infinity, 5-2*6^(1/2)), RealRange(5+2*6^(1/2), infinity)

 

RealRange(1/8, 1)

(1)

infolevel[solve] := 4:
s12 := solve({op(1, a1) >= 0, op(1, a2) >= 0} );

Main: Entering solver with 2 equations in 1 variable
Main: attempting to solve as a linear system
Main: system cannot be directly solved as a linear system
Main: attempting to solve as a semi-algebraic system

Main: Semi-algebraic solver successful. Exiting solver returning 1 solution
solve: Warning: no solutions found

 

# There is thus no real root to f


f:= a1-a2:
plots:-complexplot(f, x=-1..1, gridlines=true, numpoints=400)

 

# as there exist no real value of sucg tht f=0,
# let's write x=y+z*I

If := eval(f, x = y+I*z)

((y+I*z)^2-10*y-(10*I)*z+1)^(1/2)-(-8*(y+I*z)^2+9*y+(9*I)*z-1)^(1/2)

(2)

sol := solve(If)

Main: Entering solver with 1 equation in 2 variables

Main: attempting to solve as a linear system

Dispatch: dispatching to Radicals handler

Transformer:   solving for linear equation in _S000001
Recurse: recursively solving 1 equations in 2 variables
Dispatch: handling a single polynomial
Main: polynomial system split into 1 parts under preprocessing
Main: subsystem is essentially univariate
UnivariateHandler: subsystem has only one equation

UnivariateHandler: subsystem has only one equation
UnivariateHandler: solving as if univariate in y
Polynomial: solving a linear polynomial
UnivariateHandler: subsystem has only one equation
UnivariateHandler: solving as if univariate in y
Polynomial: solving a linear polynomial
Main: solving successful - now forming solutions
Main: Exiting solver returning 2 solutions

 

{y = -I*z+2, z = z}, {y = -I*z+1/9, z = z}

(3)

eval(If, sol[1]);
eval(If, sol[2]);

0

 

0

(4)

 

Download Another_POV.mw

Finally:

eval(y+I*z, sol[1]), eval(y+I*z, sol[2]);
                                 1
                              2, -
                                 9

 

If you really want the term within the parenthesis to  be of the form xn-1*((n+1)*x-2n), you can do this

map(collect, simplify(eval(f, x^n='x'*x^(n-1)), size), x)

                                      (n - 1)
                   ((n + 1) x - 2 n) x       

"Proof" is within the worksheet

 

restart

a1 := 1;

1

(1)

g[2] := -S0*eta[2]+b+r;

-S0*eta[2]+b+r

(2)

NULL

a[1] := c+epsilon+g[2];

-S0*eta[2]+b+c+epsilon+r

(3)

a[2] := epsilon*g[2]+c*(epsilon+g[2])-S0*b*eta[3];

epsilon*(-S0*eta[2]+b+r)+c*(-S0*eta[2]+b+epsilon+r)-S0*b*eta[3]

(4)

a[3] := -S0*Pi*b*eta[1]+c*(-S0*b*eta[3]+epsilon*g[2])

-S0*Pi*b*eta[1]+c*(-S0*b*eta[3]+epsilon*(-S0*eta[2]+b+r))

(5)

eq := lambda^3+lambda^2*a[1]+lambda*a[2]+a[3]

lambda^3+lambda^2*(-S0*eta[2]+b+c+epsilon+r)+lambda*(epsilon*(-S0*eta[2]+b+r)+c*(-S0*eta[2]+b+epsilon+r)-S0*b*eta[3])-S0*Pi*b*eta[1]+c*(-S0*b*eta[3]+epsilon*(-S0*eta[2]+b+r))

(6)

# eq has either 1 or 3 real roots.

with(LargeExpressions):
collect(eval(eq, lambda=u-a[1]/3), u, Veil[C]);

R := 4* (-1/3*C[1]) + 27 * (-1/27*C[2])^2:

Unveil[C](R):

R := simplify(%, size);




 

u^3-(1/3)*C[1]*u-(1/27)*C[2]

 

-(4/3)*S0^2*eta[2]^2+(8/3)*S0*b*eta[2]-4*S0*b*eta[3]-(4/3)*S0*c*eta[2]-(4/3)*S0*epsilon*eta[2]+(8/3)*S0*r*eta[2]-(4/3)*b^2+(4/3)*b*c+(4/3)*b*epsilon-(8/3)*b*r-(4/3)*c^2+(4/3)*c*epsilon+(4/3)*c*r-(4/3)*epsilon^2+(4/3)*epsilon*r-(4/3)*r^2+(4/27)*(b^3+((-3*eta[2]+(9/2)*eta[3])*S0-(3/2)*c+3*r-(3/2)*epsilon)*b^2+(3*eta[2]*(eta[2]-(3/2)*eta[3])*S0^2+((3*eta[2]-9*eta[3])*c+(-6*eta[2]+(9/2)*eta[3])*r+(3*eta[2]+(9/2)*eta[3])*epsilon-(27/2)*Pi*eta[1])*S0-(3/2)*c^2+(-3*r+6*epsilon)*c-3*epsilon*r+3*r^2-(3/2)*epsilon^2)*b+((1/2)*S0*eta[2]+c-(1/2)*r-(1/2)*epsilon)*(-S0*eta[2]+c-2*epsilon+r)*(2*S0*eta[2]+c+epsilon-2*r))^2

(7)

# R > 0 ==> only one real root
# R = 0 ==> a double real root and a simple real root
# R < 0 ==> three different real roots
#
# R depends on 8 parameters

params := indets(R, name) minus {Pi};

# And so there ar all the chances at world for R to be a non positive or a non negative
# function, which means that one can probably find stes of values for these 8 parameters
# such that R <, or R=0, or R > 0.
# For instance

collect(R, eta[1], Veil[K]);  # R being a degree 2 polynomial wrt eta[1] there exists potentially
                              # two real values of eta[1] such that R=0 for any choice of the 7
                              # remaining parameters.
                              # Let u the lower root and v the upper one (assuming they are both
                              # real: depending on the sign of K[1], R > 0 (or R < 0) within
                              # (u, v) and R < 0 (or R > 0) within (-oo, u) union (v, +oo).
                              #
                              # Which means that having set to numerical values all the parameters
                              # but eta[1] can potentially lead to R < 0, or R = 0, or R > 0...
                              # ... unless v is always less than 0 in which case, as eta[1] is
                              # assumed positive, R has always the same sign.
 

{S0, b, c, epsilon, r, eta[1], eta[2], eta[3]}

 

27*K[1]*eta[1]^2+2*K[2]*eta[1]+(1/27)*K[3]

(8)

# the analysis is far more complex several other parameters for R is then a 6th degree polynomial
# equation of any of them.

print~( map(u -> [u, collect(R, u, Veil[K])], params) ):

[S0, (4/27)*K[11]*S0^6-(4/9)*K[12]*S0^5+(1/9)*K[13]*S0^4-(2/27)*K[14]*S0^3+(1/9)*K[15]*S0^2-(2/9)*K[16]*S0+(1/27)*K[17]]

 

[b, (4/27)*b^6-(4/9)*K[18]*b^5+(1/9)*K[19]*b^4-(2/27)*K[20]*b^3+(1/9)*K[21]*b^2-(2/9)*K[22]*b+(1/27)*K[23]]

 

[c, (4/27)*c^6+(4/9)*K[24]*c^5-(1/9)*K[25]*c^4-(2/27)*K[26]*c^3-(1/9)*K[27]*c^2+(2/9)*K[28]*c+(1/27)*K[29]]

 

[epsilon, (4/27)*epsilon^6+(4/9)*K[30]*epsilon^5-(1/9)*K[31]*epsilon^4-(2/27)*K[32]*epsilon^3-(1/9)*K[33]*epsilon^2+(2/9)*K[34]*epsilon+(1/27)*K[35]]

 

[r, (4/27)*r^6-(4/9)*K[36]*r^5+(1/9)*K[37]*r^4-(2/27)*K[38]*r^3+(1/9)*K[39]*r^2-(2/9)*K[40]*r+(1/27)*K[41]]

 

[eta[1], 27*K[1]*eta[1]^2+2*K[2]*eta[1]+(1/27)*K[3]]

 

[eta[2], (4/27)*K[4]*eta[2]^6-(4/9)*K[5]*eta[2]^5+(1/9)*K[6]*eta[2]^4-(2/27)*K[7]*eta[2]^3+(1/9)*K[8]*eta[2]^2-(2/9)*K[9]*eta[2]+(1/27)*K[10]]

 

[eta[3], 3*K[42]*eta[3]^2+(2/3)*K[43]*eta[3]+(1/27)*K[44]]

(9)

# then is completely impossible to assess the number of real lambda roots not even
# saying their signs

Download roots.mw

If I understand correctly, here is a solution
(I sorted the selected columns: if you don't want to sort them modify my code accordingly)

restart:

# Let A some N by M matrix, for instance

A := (N, M) -> Matrix(N, M, (i, j) -> i+N*j):

ChooseColumns := proc(Mat::Matrix, k::posint)
  local m, n, choice:
  n, m := LinearAlgebra:-Dimensions(Mat):
  if k > m-1 then
    error  cat("k (", k, ") must be lower the the number of tows (", m, ")")
  end if:
  choice := sort(combinat:-randperm([$1..m-1])[1..k]):
  return Mat[.., [choice[], m]]
end proc:

B := A(10, 5):
B, ChooseColumns(B, 3);

Matrix(10, 5, {(1, 1) = 11, (1, 2) = 21, (1, 3) = 31, (1, 4) = 41, (1, 5) = 51, (2, 1) = 12, (2, 2) = 22, (2, 3) = 32, (2, 4) = 42, (2, 5) = 52, (3, 1) = 13, (3, 2) = 23, (3, 3) = 33, (3, 4) = 43, (3, 5) = 53, (4, 1) = 14, (4, 2) = 24, (4, 3) = 34, (4, 4) = 44, (4, 5) = 54, (5, 1) = 15, (5, 2) = 25, (5, 3) = 35, (5, 4) = 45, (5, 5) = 55, (6, 1) = 16, (6, 2) = 26, (6, 3) = 36, (6, 4) = 46, (6, 5) = 56, (7, 1) = 17, (7, 2) = 27, (7, 3) = 37, (7, 4) = 47, (7, 5) = 57, (8, 1) = 18, (8, 2) = 28, (8, 3) = 38, (8, 4) = 48, (8, 5) = 58, (9, 1) = 19, (9, 2) = 29, (9, 3) = 39, (9, 4) = 49, (9, 5) = 59, (10, 1) = 20, (10, 2) = 30, (10, 3) = 40, (10, 4) = 50, (10, 5) = 60}), Matrix(10, 4, {(1, 1) = 11, (1, 2) = 21, (1, 3) = 31, (1, 4) = 51, (2, 1) = 12, (2, 2) = 22, (2, 3) = 32, (2, 4) = 52, (3, 1) = 13, (3, 2) = 23, (3, 3) = 33, (3, 4) = 53, (4, 1) = 14, (4, 2) = 24, (4, 3) = 34, (4, 4) = 54, (5, 1) = 15, (5, 2) = 25, (5, 3) = 35, (5, 4) = 55, (6, 1) = 16, (6, 2) = 26, (6, 3) = 36, (6, 4) = 56, (7, 1) = 17, (7, 2) = 27, (7, 3) = 37, (7, 4) = 57, (8, 1) = 18, (8, 2) = 28, (8, 3) = 38, (8, 4) = 58, (9, 1) = 19, (9, 2) = 29, (9, 3) = 39, (9, 4) = 59, (10, 1) = 20, (10, 2) = 30, (10, 3) = 40, (10, 4) = 60})

(1)

 

Download ChooseColumns.mw

BTW, did you succeed in loading the PLS_PCR_Linnerund.mw file ? 
(see my las t replyy to the related thread).

This has nothing to do with you loading packages Statistics and SignalProcessing (even if this can generate some confusion)
The fact that Statistics:-AutoCorrelation gives a wrong result, is more profound than that.

The formula used in this function is basically wrong and based on a kind of generalisation of the statistical correlation between two vectors.
The best proof this formula is wrong, IMO, comes from the computation of the Statistics:-CrossCorrelation : CrossCor(V, V) = AutoCor(V) up to a shifting of N/2 along the horizontal axis.

You will see in the attached file that (up to this x-shifting) CrosCor(V, V) is correct as AutoCor(V) is not.
Comparing the formulas used, CrosCor(V, V) operates on the raw vector V, while AutoCor(V) operates on the centered W=V-Mean(V) (mu= Mean(V) hereafter)
But Autocor(W)[k] = CrossCor((V-mu), (V-mu))[k] ~ CrossCor(V, V)[k]- mu^2*(N-k) (which becomes negative for k large enough)

Here are a lot of comparisons of different wys to compute the autocorrelation function.

autoC_mmcdara.mw

This way

restart

y := xi -> 1/2-1/2/tan(xi)

proc (xi) options operator, arrow; 1/2-(1/2)/tan(xi) end proc

(1)

Y := unapply(y(k*x+w*t), (k, w))

proc (k, w) options operator, arrow; 1/2-(1/2)/tan(k*x+t*w) end proc

(2)

p := plot3d(
  Y(sqrt(2)/4, -3/4)
  , t=0..1
  , x=-2..2
  , view=[default, default, -5..15]
  , orientation=[-144, 76, 6]
):

plots:-display(p);

 

plotsetup(
  cps
  , plotoutput = cat(currentdir(), "/Desktop/plot.ps")
  , plotoptions = `color=cmyk, width=4in, height=3in, noborder, width=1000, height=500`
);

plots:-display(p);

plotsetup(default)

 

Download plotsetup_ps.mw

I can't visualize ps file on my Imac and online ps document viewer don't seem compatible with the ps file generated by Maple.

So I saved with jpeg format (plotsetup(jpeg, ...)) used an online converter (https://anyconv.com/fr/convertisseur-de-jpg-en-ps/) to generate the desired ps file.
The result can't be loaded on this site bus is in all points identical to the image below.

Here is the ps file (I added a pdf extension in order to upload it).
AnyConv.com_plot.ps.pdf
Remove the pdf extension and visualize the ps file.

EDO b5 and b6 both contain the unknown function f (= f(x)), which is not allowed if you use the option numeric.

Remedy: instantiate f and apply dsolve; for instance

c5 := dsolve({bcs1, eval(b5, f(x) = x)}, numeric); c5(0); 
c6 := dsolve({bcs1, eval(b6, f(x) = x)}, numeric); c6(0);

Same comments as  @dharr, one fixed the "parameters" problem it remains the one of Q(t).
Covid19_Simulation_mmcdara.mw

What happens if you use the first strategy described at the end of this worksheet:

# First strategy
# define Q(t) (notional example)
MyQ := Q(t) = t:

# remove tee last IC
init_conds := subsop(-1=NULL, [init_conds]):

# form the new system
sys    := {Asymp, Exp, Immun, Inf, Quar, Suscep, Vacc, init_conds[]}:
sys    := eval(sys,MyQ):
params := convert(indets(sys, name) minus {t}, list):

# dsolve it
sol    := dsolve(sys, numeric, parameters = params, method = rkf45):

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

The reason is likely that you have two different equations of the same form:
                            diff(I(t), t) = xxx  and  diff(I(t), t) = yyy  with xxx <> yyy
So you need to remove one or write something like

diff(I(t), t) = piecewise(condition, xxx, yyy)

For instance, removing the equation Inf enables dsolve to find a solution:

sys    := {Asymp, Exp, Immun, Quar, Suscep, Vacc, init_conds[]}:
sys    := eval(sys,MyQ):
params := convert(indets(sys, name) minus {t}, list):
sol    := dsolve(sys, numeric, parameters = params, method = rkf45)
                  proc(x_rkf45)  ...  end;



As I don't want to interfere with @Carl Love I'll just give you a quick reply.
 

P := (p, q) -> X -> op(0, X)(subsop(p=[op(X)][q], q=[op(X)][p], [op(X)])[]):
P(2, 3)(X(i, j, k));
                           X(i, k, j)
P(3, 2)(%);
                           X(i, j, k)
P(2, 3)(U("a", 3, z));
                          U("a", z, 3)
P(3, 2)(%);
                          U("a", 3, z)


A sketch of a more general permutation than a 2-by-2 exchange

P := (Before, After) -> X -> op(0, X)(subsop((Before =~ [op(X)][After])[], [op(X)])[]):
P([1, 2, 4], [4, 1, 2])(F(p, q, r, s, t))

                        F(s, p, r, q, t)

Here the detail of the exchanges is

p, q, r, s, t;  # original sequence
s, q, r, s, t;  # op 1 receives the value of op 4 from the original sequence
s, p, r, s, t;  # op 2 receives the value of op 1 from the original sequence
s, p, r, q, t;  # op 4 receives the value of op 2 from the original sequence

Thus subsop does the replacements all at once by refering to the original sequence.
Maybe you could want these replacements made iteratively, in which case you can get 

p, q, r, s, t; # original sequence
s, q, r, s, t; # op 1 receives the value of op 4 from the original sequence
s, s, r, s, t; # op 2 receives the value of op 1 from the previous sequence
s, s, r, s, t; # op 4 receives the value of op 2 from the previous sequence

 

of what @dharr already did.

The first one seems closer to to what you have been asked.
The second one is more concise as it uses GraphTheory features, but is less close to your step by step request.

Download Graph_mmcdara.mw

No procedure is given so that you can see the results of the different steps.

Here are two codes, one for multivariate PLS, the other for PCR.

As I told you from the office (sand15), I extracted these codes from a larger application which contains it's own (proprietary) documentation.
So it will be probably quite difficut to understand what the two codes return (in particular for PLS) if you are not already familiar with the two factor analysis they implement.
I've tried to give a minimum of informations and references, specifically for PLS. Unfortunately (maybe?) as I'm French these references are a course and a text book both written in french.

I don't know what is your knowledge in factor analysis, but all these methods, and even the "simplest" PCA (see MAPLE help pages), require a certain amount of practice for their outputs to be correctly interpreted.
This is all the more tru for PLS.
If you have a correct understanding of regression and PCA, you should not have any difficulty to understand PCR outputs (which I named ACPVI in my worksheet) for it is nothing but a regression on the synthetic variables a PCA produces.

This first file contains PLS and PCR algorithms plus a test case named "Linnerud"
see here for a short description of these data  https://www.rdocumentation.org/packages/ropls/versions/1.4.2/topics/linnerud
PLS+PCR_Linnerund.mw

This second file contains PLS algorithm plus a test case named "Russett"
see here for a short description of these data  https://search.r-project.org/CRAN/refmans/RGCCA/html/Russett.html
PLS_Russett.mw



A in all factor analysismethods, more important than the algorith itself are the many plots or matrices you have to display to unfold the analysis correctly.
The variety of these "analysis tools" is that large that only a few are provided in these two worksheets.

So, please consider the PLS I delivered you as a "MINIMAL" version of the method. Writting a complete  and operational implementation of PLS in Maple is equivalent to develop a complete dedicated package and would take a week or so, not speeaking of the help pages.
Go get an idea of that look here the content of the R pls package:
https://cran.r-project.org/web/packages/pls/pls.pdf

If you just want to have indentation (for instance for "for...do " or a "if..then..else" structure) to verfy your code, you can use NOTEPAD++ :

  • export your worksheet as mpl format.
  • open the mpll within NOTEPAD++
    (ice on the cake: the Maple code will be displayed using syntactic coloring)
    here is an old thread https://www.mapleprimes.com/posts/129552-Maple-In-All-Colours-Of-Rainbow-
     

If you want to have automatic indentation like "in other languages" while writting your code in the worksheet, my answer is "I don't know if it'is possible".
Wait for someone else's answer

Firstly remove these unavoided "*" after display, draw and textplot.

Secondly, it's not 

draw[A(color = black, symbol = solidcircle, symbolsize = 6), 
B(color = black, symbol = solidcircle, symbolsize = 6), 
C(color = black, symbol = solidcircle, symbolsize = 6), 
ABC(color = blue)]

but

draw([A(color = black, symbol = solidcircle, symbolsize = 6), 
B(color = black, symbol = solidcircle, symbolsize = 6), 
C(color = black, symbol = solidcircle, symbolsize = 6), 
ABC(color = blue)])

 

use the big green up-arrow to load your worksheet.

Nevertheless the message is rather clear: you use a variable named "v" that Maple doesn't know what to do with....

The reason is also rather clear: you claimed you need "help in solving the following system of partial differential equations" but you hvaveonly differential equations.
Alllf the unknown equations a(t, v), c(t, v) ... appear in expressions like diff(a(t, v), t), diff(c(t, v), t) ...
Then "v" is something whish is not (from the point of view of dsolve(..., numeric) ) a dependent variable, nor an independent one.

Lookk at this piece of code

restart

sys := {diff(f(t, v), t)=t, f(0, 0)=0};
dsolve(sys)

{diff(f(t, v), t) = t, f(0, 0) = 0}

 

f(t, v) = (1/2)*t^2

(1)

sys := {diff(f(t, v), t)=t, f(0, 0)=0};
dsolve(sys, numeric)

{diff(f(t, v), t) = t, f(0, 0) = 0}

 

Error, (in dsolve/numeric/process_input) input system must be an ODE system, found {f(t, v)}

 

 

Download WhereYourErrorComesFrom.mw

I suggest you correct yourself your own worksheet and come back to this same thread if you still have difficulties (which is very likely given the equations eq1..eq9 you wrote).

First 14 15 16 17 18 19 20 Last Page 16 of 52