Paras31

245 Reputation

9 Badges

1 years, 91 days
Hellenic Open University
Mathematician

Social Networks and Content at Maplesoft.com

Teacher of Mathematics with a proven track record of working in education management. Proficient in Ease of Adaptation, Course Design, and Instructional Technology. Holds a Bachelor's degree in Mathematics from the University of the Aegean and a Master's in Applied Mathematics at the Hellenic Open University, focusing on Ordinary and Partial Differential Equations. His enthusiasm lies in the application of mathematical models to real-world contexts, such as epidemiology and population growth. Aside from his passion for teaching, Athanasios enjoys football, basketball, and spending time with his dogs.

MaplePrimes Activity


These are questions asked by Paras31

I am preparing some examples to start the year in the differential equations lesson. And I was wondering if there is any other way to represent the equilibrium points than the following which I found and then plotted using pointplot.

restart

NULL

alpha := 0.4e-1; beta := 0.8e-2; sys := {diff(g(t), t) = -.25*g(t)+beta*p(t)*g(t), diff(p(t), t) = .7*p(t)*(1-(1/100)*p(t))-alpha*p(t)*g(t)}; ics := {g(0) = 5, p(0) = 20}
 

sol := dsolve(`union`(sys, ics), {g(t), p(t)}, numeric, range = 0 .. 50); with(plots); plots:-display(plots:-odeplot(sol, [t, p(t)], 0 .. 50, color = blue, legend = ["p(t)"]), plots:-odeplot(sol, [t, g(t)], 0 .. 50, color = red, legend = ["gt)"]), labels = ["t", "Population"], title = "Population Dynamics")

 

eqns := {.7*p(t)*(1-(1/100)*p(t))-alpha*p(t)*g(t) = 0, -.25*g(t)+beta*p(t)*g(t) = 0}; eq_points := solve(eqns, {g(t), p(t)}); eq_points

{g(t) = 0., p(t) = 0.}, {g(t) = 0., p(t) = 100.}, {g(t) = 12.03125000, p(t) = 31.25000000}

(1)

eqpoints := pointplot([[0, 0], [100, 0], [31.25000000, 12.03125000]], color = [red], symbol = diamond, symbolsize = 15)

``
phaseplot := odeplot(sol, [p(t), g(t)], 0 .. 35, color = green, thickness = 2)

with(DEtools); vectorfield_plot := dfieldplot([diff(p(t), t) = .7*p(t)*(1-(1/100)*p(t))-alpha*p(t)*g(t), diff(g(t), t) = -.25*g(t)+beta*p(t)*g(t)], [p(t), g(t)], t = 0 .. 35, p = 0 .. 150, g = 0 .. 30, arrows = small, color = blue, axes = boxed)

 

 

display([vectorfield_plot, phaseplot, eqpoints])

 

NULL


 

Download aquarium.mw

I was looking at the application center about attractors and found the Rossler attractor app that illustrates the Rossler Attractor with animations, as you can see below. But when I try to run it on my laptop  the two last plots remain empty. Why is this happening?

Rossler Flow System - Rossler Attractor

by Yufang Hao, <yhao@student.math.uwaterloo.ca>

This worksheet contains the images of the Rossler Attractor and the animations that follow the trajectory.

restart; with(DEtools): with(plots):

Warning, the name changecoords has been redefined

 

The Rossler attractor is defined by a set of three Differential equations:

x' = -(y+z)

y' = x+a*y

z' = b + x*z - c*z

where the coefficients a, b, and c are adjustable constants.

rosslerEqns := [
diff(x(t),t) = -(y(t)+z(t)),
diff(y(t),t) = x(t) + a*y(t),
diff(z(t),t) = b + x(t)*z(t) - c*z(t) ];

rosslerEqns := [diff(x(t), t) = -y(t)-z(t), diff(y(t), t) = x(t)+a*y(t), diff(z(t), t) = b+x(t)*z(t)-c*z(t)]

(1)

a:=0.17: b:=0.4: c:=8.5:
DEplot3d(rosslerEqns, {x(t),y(t),z(t)}, t=0..300,
         [[x(0)=0, y(0)=0, z(0)=0]],
         x =-15..15, y=-15..15,z=-5..25,
         stepsize=0.05, linecolour=1+sin(t*Pi/3)/2,
         thickness=1, orientation = [-110,71]);

 

a:=0.17: b:=0.4: c:=8.5:
display(
  [seq(
    DEplot3d(rosslerEqns, {x(t),y(t),z(t)}, t=0..4*i,
         [[x(0)=0, y(0)=0, z(0)=0]],
         x =-15..15, y=-15..15,z=-5..25,
         stepsize=0.05, linecolour=1+sin((i-t)*Pi/5)/2,
         thickness=2, orientation = [-110,71]),
    i=1..25) # end seq
  ], # end DEplot3d list
insequence=true);

 

a:=0.17: b:=0.4: c:=8.5:
display(
  [seq(
    DEplot3d(rosslerEqns, {x(t),y(t),z(t)}, t=0..4*i,
         [[x(0)=0, y(0)=0, z(0)=0]],
         x =-15..15, y=-15..15,z=-5..25,
         stepsize=0.05, linecolour=1+sin((i-t)*Pi/5)/2,
         thickness=2, orientation = [-110,71]),
    i=1..25) # end seq
  ], # end DEplot3d list
insequence=true);

 

 

 

 


 

Download rossler_attractor.mws

I'm looking for a comprehensive ebook on mathematical modeling, specificaly focused on dynamical systems and how to use Maple for simulations and analysis. Does anyone have any recommendations for a good resource or textbook that covers these topics thoroughly?

I have created a document on my computer that runs normally in Maple 2024.1. However, when I upload this document to MaplePrimes, it shows an error or behaves unexpectedly. The document contains a system of differential equations, which I solved numerically and plotted, but the plots and equilibrium points do not display correctly after uploading.

 

When I run this code on my local machine, it works perfectly. However, after uploading the document to MaplePrimes, it does not run as expected. What could be causing this issue? Is there a known problem with Maple 2024.1 when uploading documents, or could there be a compatibility issue with MaplePrimes?

Any help or suggestions would be greatly appreciated. Thank you!

This project discusses the predator-prey system, particularly the Lotka-Volterra equations, which model the interaction between two species: prey and predators. Let's solve the Lotka-Volterra equations numerically and visualize the results.

NULL

NULL

alpha := 1.0; beta := .1; g := 1.5; delta := 0.75e-1; ode1 := diff(x(t), t) = alpha*x(t)-beta*x(t)*y(t); ode2 := diff(y(t), t) = delta*x(t)*y(t)-g*y(t); eq1 := -beta*x*y+alpha*x = 0; eq2 := delta*x*y-g*y = 0; equilibria := solve({eq1, eq2}, {x, y}); print("Equilibrium Points: ", equilibria); initial_conditions := x(0) = 40, y(0) = 9; sol := dsolve({ode1, ode2, initial_conditions}, {x(t), y(t)}, numeric); eq_points := [seq([rhs(eq[1]), rhs(eq[2])], `in`(eq, equilibria))]

[[0., 0.], [20., 10.]]

(1)

plots[odeplot](sol, [[t, x(t)], [t, y(t)]], t = 0 .. 100, legend = ["Rabbits", "Wolves"], title = "Prey-Predator Dynamics", labels = ["Time", "Population"])

 

``

NULL

NULL

sol_plot := plots:-odeplot(sol, [[x(t), y(t)]], 0 .. 100, color = "blue"); equilibrium_plot := plots:-pointplot(eq_points, color = "red", symbol = solidcircle, symbolsize = 15); plots:-display([sol_plot, equilibrium_plot], title = "Phase Portrait with Equilibrium Points", labels = ["Rabbits", "Wolves"])

 

Now, we need to handle a modified version of the Lotka-Volterra equations. These modified equations incorporate logistic growth fot the prey population.

 

 

restart

alpha := 1.0; beta := .1; g := 1.5; delta := 0.75e-1; k := 100; ode1 := diff(x(t), t) = alpha*x(t)*(1-x(t)/k)-beta*x(t)*y(t); ode2 := diff(y(t), t) = delta*x(t)*y(t)-g*y(t); eq1 := alpha*x*(1-x/k)-beta*x*y = 0; eq2 := delta*x*y-g*y = 0; equilibria := solve({eq1, eq2}, {x, y}); print("Equilibrium Points: ", equilibria); initial_conditions := x(0) = 40, y(0) = 9; sol := dsolve({ode1, ode2, initial_conditions}, {x(t), y(t)}, numeric); eq_points := [seq([rhs(eq[1]), rhs(eq[2])], `in`(eq, equilibria))]

[[0., 0.], [100., 0.], [20., 8.]]

(2)

plots[odeplot](sol, [[t, x(t)], [t, y(t)]], t = 0 .. 100, legend = ["Rabbits", "Wolves"], title = "Prey-Predator Dynamics", labels = ["Time", "Population"])

 

``

 

 

plots:-odeplot(sol, [[x(t), y(t)]], 0 .. 50, color = "blue"); equilibrium_plot := plots:-pointplot(eq_points, color = "red", symbol = solidcircle, symbolsize = 15); plots:-display([plots:-odeplot(sol, [[x(t), y(t)]], 0 .. 50, color = "blue"), equilibrium_plot], title = "Phase Portrait with Equilibrium Points", labels = ["Rabbits", "Wolves"])

 

NULL


 

Download predator_prey.mw

In this exercise, we are going back to the simple SIR model, without births or deaths, to look at the effect of vaccination. The aim of this activity is to represent vaccination in a very simple way - we are assuming it already happened before we run our model! By changing the initial conditions, we can prepare the population so that it has received a certain coverage of vaccination.

We are starting with the transmission and recovery parameters b = 0.4 days-1 and  c=0.1 days-1. To incorporate immunity from vaccination in the model, we assume that a proportion p of the total population starts in the recovered compartment, representing the vaccine coverage and assuming the vaccine is perfectly effective. Again, we assume the epidemic starts with a single infected case introduced into the population.​
We are going to model this scenario for a duration of 2 years, assuming that the vaccine coverage is 50%, and plot the prevalence in each compartment over time.

I have used the following code to solve this problem but I face difficulties when I am trying to define and plot the effective reproduction number.

Any suggestions? Thank you in advance!
with(Physics, diff);
with(LinearAlgebra);

with(plots);
with(DEtools);

b := 0.4;
c := 0.1;
n := 10^6;
p := 0.5;
deS := diff(S(t), t) = -b*S(t)*I0(t);
deI := diff(I0(t), t) = b*S(t)*I0(t) - c*I0(t);
deR := diff(R(t), t) = c*I0(t);

F := dsolve([deS, deI, deR, S(0) = 1 - p, I0(0) = 1/n, R(0) = p], [S(t), I0(t), R(t)], numeric, method = rkf45, maxfun = 100000)

odeplot(F, [[t, S(t)], [t, I0(t)], [t, R(t)]], t = 0 .. 730, colour = [blue, red, green], legend = ["S(t)", "I0(t)", "R(t)"], labels = ["Time (days)", "Proportion of Population"], title = "SIR Model with vaccination")


#define the effective reproduction number
Reff := t -> b*1/c*S(t)*1/n;
Reff(100);

4 5 6 7 Page 6 of 7