augmentedphaseportrait

Matlab Code to create augmented phase portrait for planar difference equations

https://github.com/sabrinaheike/augmentedphaseportrait

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.9%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Matlab Code to create augmented phase portrait for planar difference equations

Basic Info
  • Host: GitHub
  • Owner: sabrinaheike
  • Language: MATLAB
  • Default Branch: main
  • Size: 4.99 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

AugmentedPhasePortrait

Matlab Code to create augmented phase portrait, introduced in S.H. Streipert, G.S.K. Wolkowicz: An augmented phase plane approach for discrete planar maps: Introducing next-iterate operators, https://doi.org/10.1016/j.mbs.2022.108924 [preprint: https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Farxiv.org%2Fabs%2F2210.07943&data=05%7C01%7Csas887%40pitt.edu%7Cb1fdc08fa1a7492c59af08daafd5bb23%7C9ef9f489e0a04eeb87cc3a526112fd0d%7C1%7C0%7C638015629806079141%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=HC6aRjnN8uMhCLHpqUollwkSvDdoda5nX9qL3wv0u0k%3D&reserved=0], for planar difference equations x(t+1)=f(xt,yt); y(t+1)=g(xt,yt).

Focus of the dynamics within the positive cone of planar maps.

Version 3.0: improved codes and standalone GUI; created February 2024 (Victoria Ralph, supervised by Gail S. K. Wolkowicz and Sabrina H. Streipert)

One program does it all (i.e. replaces augmentedxx, augmentedxy, augmentedyx, augmentedyy)

Standalone GUI: No need for MATLAB installed.

If you have MATLAB installed you can use augmentedimpicit.m to create phase portraits and addorbit.m to add orbits to your portrait.

Version 2.0: improved codes; created August 2023 (improved by: Victoria Ralph, supervised by Gail S. K. Wolkowicz and Sabrina H. Streipert)

Version 1.0: created August 2022 (written by: Sabrina Streipert)

In version 1.0 or 2.0:

Input: (f,g,minx, maxx, miny, maxy, acc^, cutoffx^, cutoffy^) ^ indicates optional parameters

f = functionhandle; right-hand side of the X-equation f = f(x,y) g = functionhandle; right-hand side of the Y-equation g = g(x,y) minx = number; minimum x-value to be considered for plotting maxx = number; maximum x-value to be considered for plotting miny = number; minimum y-value to be considered for plotting maxy = number; maximum y-value to be considered for plotting

optional parameters: acc = number; optional parameter for number of arrows and signs of next-iterate operators; default value = 20 cutoffx = number; if number given then a red dash-dotted curve is added in plot to show points (x,y) such that f(x,y)=cutoffx cutoffy = number; if number given then a orange dash-dotted curve is added in plot to show points (x,y) such that g(x,y)=cutoffy

Output: Plot of augmented phase portrait (dashed lines correspond to nullclines, solid lines to root-curves, signs to the sign of the next-iterate operator)

There are four programs, dependent on expressing the nullclines as functions in x or functions in y: augmentedxx: expresses the nullclines of the X- and the Y-equation as functions in x. augmentedxy: expresses the X-nullclines as functions in x and the Y-nullclines as functions in y. augmentedyx: expresses the X-nullclines as functions in Y and the Y-nullclines as functions in x. augmentedyy: expresses the nullclines of the X- and the Y-equation as functions in y.

If a nullcline is expresses as a function in x, that is, y=l(x), then the corresponding next-iterate operator is L=g(x,y)-l(f(,x,y)). If a nullcline is expresses as a function in y, that is, x=l(y), then the corresponding next-iterate operator is L=f(x,y)-l(g(,x,y)).

Note: Clear any x and y values you may have in your matlab memory by "clear x y" then type "syms x y" before calling the function

%%%%%%%%%%%%%%%%%%%%EXAMPLE 1:

To get the augmented phase portrait for the system: x(t+1) = 2xt/(1+xt+0.3yt), y(t+1) = 3yt/(1+2yt+0.6xt)

plotted in [0,2]x[0,3] with default values, type:

clear all

syms x y

augmented_xx(2 * x / (1 + x + 0.3 * y), 3 * y / (1 + 2 * y + 0.6 * x), 0, 2, 0, 3)

% [alternatively:]

f = 2 * x / (1 + x + 0.3 * y);

g = 3 * y / (1 + 2 * y + 0.6 * x);

augmented_xx(f,g,0,2,0,3)

[For this example, the nullclines can be expressed as functions in x or y, so any of the other codes will also work: augmentedxy, augmentedyx, augmented_yy]

%%%%%%%%%%%%%%%%%%%%EXAMPLE 2: Fig. 11 in S.H. Streipert, G.S.K. Wolkowicz: An augmented phase plane approach for discrete planar maps: Introducing next-iterate ...

% To get the augmented phase portrait for the system: x(t+1)=(1-0.4)xt-0.5xtyt+0.5, y(t+1)=0.4xty_t % plotted in [0,5]x[0,3] with fewer signs of the next-iterate operator and a line to check if solutions remain non-negative, type:

clear all

syms x y

augmented_xy((1-0.4) * x - 0.5 * x * y + 0.5, 0.5 * x * y, 0, 5, 0, 3, 15, 0, 0)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% For more examples, see Section 4 in S.H. Streipert, G.S.K. Wolkowicz: An augmented phase plane approach for discrete planar maps: Introducing next-iterate operators, submitted.

Owner

  • Login: sabrinaheike
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Ralph
    given-names: Victoria A.
  - family-names: Streipert
    given-names: Sabrina H. 
  - family-names: Wolkowicz
    given-names: Gail S. K. 
title: "Augmented Phase Portrait"
version: 2
date-released: 2023-09-04

GitHub Events

Total
  • Member event: 1
  • Push event: 17
Last Year
  • Member event: 1
  • Push event: 17

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • cgreysongaito (2)
Top Labels
Issue Labels
Pull Request Labels