MatCont and MatContM come with a lot of well written documentation. Before starting to work with these sophisticated packages it is highly recommended to read the documentation, work through the provided tutorials and look at the example programs.
I am sorry, but when write "when I enter them as per the rows of difference equations", then it is unclear what you do, a screenshot helps. Second, the way we insert maps is shown in the tutorials: x'=a*x*(1-x) That is, your syntax uses x(n) and that won't work as we choose a different way to specify systems. Meanwhile, for discrete-time systems, I hope you are using MatContM (version 5p4).
It is known that the difference equation x(n+1)=x(n)F(x(n),y(n)) y(n+1)=y(n)G(x(n),y(n)) How do I enter the equations to run them in matcont, when I enter them as per the rows of difference equations, it shows me that they are wrong and won't run.
MatCont deals with systems of smooth ODEs, so you cannot "just" include piecewise functions as it might lead to numerical issues. What you could do instead is to approximate your piecewise function, say you have a Heaviside, then H(x)=(1+tanh(ax))/2 is a smooth approximation. The higher value of the parameter a the steeper this sigmoidal approximation. You should still check if the results match what you expect.
Here is the detailed description of the problem in the Word document below. I sincerely appreciate any help you can provide in solving it!
Here is the detailed description of the problem in the Word document below. I sincerely appreciate any help you can provide in solving it!
Missing input or figure/screenshot?
After a new system is created, the equations are entered as follows
This is not useful, "I do something but I do not tell you what and now help me". Please be more specific: (1) What is the input? (2) sanity check; you are using MatContM?
When I enter the difference equation, it always says “Equations are in the wrong order, compared to the coordinates.”
I vaguely recall having seen this, but re-installing seemed to have solved it for that person, but as I do not have your platform, I cannot reproduce your problem.
The message displayed in the CL reads: first point found tangent vector to first point found label = LP, x = ( 0.619532 0.927986 0.256805 ) a=-5.311546e-01 Invalid or deleted object.
Hi, I have a similar issue trying to reproduce example 1 fromhere https://dercole.faculty.polimi.it/tds/matcont/6/equilibria.pdf When I calculate forward, I get the "Invalid or deleted object" at the fold. Likewise, in continguing backwards I get the smae message at the Hopf. There is no option to resume in either case. I am using Matcont7p4 on a Mac Book Air in the Matlab2024a version.
Ok, clear, this happens, just want to be sure there is no issue (left). Good luck.
I'm very sorry, Hil. The problem is not with Matcont, as I am a beginner and not very proficient in using Matcont. I apologize for any misunderstanding caused. Matcont is a very useful and powerful tool, and I really like it. Thank you for your help. Best wishes for you
Thank you very much, Hil. I have identified the cause of the problem, which is due to the incorrect setting of the derivative of the bogie model in matcont Thank you very much for your reply. Best wishes to you
Sorry, Hil, my description of the problem is not clear enough. I will provide additional explanation below. When I was using the integrator in Matcont to simulate the trajectory of a system of ordinary differential equations, I found that for the same dynamical system with the same initial values and integration range, the results were different from the simulation results in ode45 in Matlab. thank you!
I'm very sorry, Hill. The problem is not with Matcont, as I am a beginner and not very proficient in using Matcont. I apologize for any misunderstanding caused. Matcont is a very useful and powerful tool, and I really like it. Thank you for your help. Best wishes for you
Well, on the one hand it is nice that you solved your problem, on the other hand you write as if the problem is in MatCont. If so, this post does not clarify the issue.
Thank you very much, Hill. I have identified the cause of the problem, which is due to the incorrect setting of the derivative of the bogie model in matcont Thank you very much for your reply. Best wishes to you
For me, this does not appear to be a problem. My two timetraces are exactly and look like attached. If this differs from your simulation, then create something that works out-of-the-box as I have spent more time I would normally do regarding simulations.
Would it be convenient to have a look at the result graph of your simulation of this bogie My bogie system has different simulation results in the matcont and ode45 toolboxes Thank you very much. I still haven't found the problem
Hmm, I am sorry but there must be more steps that you do. I have tried with what you provide here, but I do not observe any strange things, except large numerical values that will make most numerical analysis tough.
This is a specific equation: x1'=x7 x2'=x8 x3'=x9 x4'=x10 x5'=x11 x6'=x12 x7'=-k11x1-k12x2-k13x5-k14x6-k15x7-k16x8-delta11x1^3-delta12x1^5 x8'=-k21x1-k22x2-k23x6-k24x7-k25x8 x9'=-k31x3-k32x4-k33x5-k34x6-k35x9-k36x10-delta31x3^3-delta32x3^5 x10'=-k41x3-k42x4-k43x6-k44x9-k45x10 x11'=-k51x1-k52x3-k53x5 x12'=-k60x1-k61x2-k62x3-k63x4-k64x6 Parameter values: k31=k11=7705.48484610213,k32=k12=-13644.7449293178,k33=k13=-7682.85187461586 k34=k14=-9603.56484326982,k35=k15=194.924927561682,k36=k16=-3.13229640480567...
This is a specific equation: x1'=x7 x2'=x8 x3'=x9 x4'=x10 x5'=x11 x6'=x12 x7'=-k11x1-k12x2-k13x5-k14x6-k15x7-k16x8-delta11x1^3-delta12x1^5 x8'=-k21x1-k22x2-k23x6-k24x7-k25x8 x9'=-k31x3-k32x4-k33x5-k34x6-k35x9-k36x10-delta31x3^3-delta32x3^5 x10'=-k41x3-k42x4-k43x6-k44x9-k45x10 x11'=-k51x1-k52x3-k53x5 x12'=-k60x1-k61x2-k62x3-k63x4-k64x6 Parameter values: k31=k11=7705.48484610213,k32=k12=-13644.7449293178,k33=k13=-7682.85187461586 k34=k14=-9603.56484326982,k35=k15=194.924927561682,k36=k16=-3.13229640480567...
Nice that you provide more details, but I do not know what your system "bogie" is, i.e. the equations, so this is still not a minimal working example that I can look into.
This is the result of the ode45 toolbox
This is the code information for the ode45 toolbox
This is the result information of the integrator in matcont
This is the setting information for the integrator in matcont
Sorry, Hill, my description of the problem is not clear enough. I will provide additional explanation below. When I was using the integrator in Matcont to simulate the trajectory of a system of ordinary differential equations, I found that for the same dynamical system with the same initial values and integration range, the results were different from the simulation results in ode45 in Matlab. thank you!
Thanks for asking, yes we use the standard ode45-command. But can you be a bit more specific? What is the inconsistency you see?!? Thi post without details does not indicate what's happening.
hello. May I ask if the trajectory of a system of differential equations in Matcont is drawn using the ode45 function in the Matlab toolbox? I compared the results of the two and found inconsistency thank you
hello. May I ask if the trajectory of a system of differential equations in Matcont is drawn using the ode45 function in the Matlab toolbox? I compared the results of the two and found inconsistency
Good to know, thanks for the update.
Update for anyone encountering the same issue I have resolved the issue by uninstalling MatCont7p3 and installing the latest version of the software, MatCont7p4.
Hello, I have downloaded and installed MatCont7p3; I am using Matlab 2023b. I am trying to reproduce the plots in "TUTORIAL I: Using MatCont for numerical integration of ODEs" by Yu.A. Kuznetsov and N. Neirynck. After loading the system and setting initial data for integration, when clicking on Compute|Forward, I receive the following error message: "Dimensions of arrays being concatenated are not consistent" I also receive the following error message on Matlab Command Window: Error using vertcat...
Hello, Is it possible to solve equations containing piecewise functions? If so, how can it be done? Thank you!
There's not such force to deroute the continuation. Your graph looks fully natural to me. What I would do instead: Very carefully inspect your equilibrium and see if you have two Hopf bifurcation points.
Last question.. Looking at the blue lines in the attached plot, with the x-axis representing my parameter and the y-axis representing the coordinate, I found that the branch between LPC1 and LPC2 is unstable (Multiplier > 1). Is it possible that, starting from LPC2, I can't find an additional unstable branch directed towards the Hopf point because the stable branch that starts at LPC2 'attracts' the continuation?"
Just repeating to fix terminology, I think you're doing continuation, not timestepping when computing that branch. Suppose some part of the branch with that other method corresponds to stable oscillations. Then you could use that as a starting point for numerical continuation of possibly another branch. I do not know your model but there is no guarantee that all solution branches are connected the way you expect.
The simulation from the Hopf point (L=520) goes to LPC_1 (L=590), then proceeds to LPC_2 (L=490). If I further extend the simulation, the LC increases to L > 1200. I did not complete the simulation, so I don't know if it reaches another LPC, but from another numerical method that I tried, I should find a branch from LPC_2 to the Hopf point.
>>However, extending the simulation doesn't work. It is not a simulation (timestepping), this is about continuation. The question is why extending does not work. Describe what happens? Also with the whole run starting from the Hopf, without restarting, but just extending (or set MaxNumPoints to 5000).
Thank you for the reply! Yes, I will use smaller step sizes in the final simulation. My goal for this one is to find the LPC points and their branches. - Extending the curve works too! It was midnight for me as well :) - I need to follow the branch beyond the turn at LPC = 490 down to H = 520. However, extending the simulation doesn't work.
Step 4: perhaps clear for you what you want, but not for me. You want to recompute the whole branch from the 2nd LPC to the first LPC to the Hopf, or you want to follow the branch beyond the turn? Why do steps 2&3 (stopping and restarting) at all? You could extend the curve. If I look at the amplitude db6.jpg, it is worth considering smaller stepsizes to get something more smooth. BTW for me it's midnight. Good luck. Hil
Good morning, MatCont team, and thank you for the amazing work you have done. I'm pretty new to numerical continuation techniques, but I think my computation is mostly correct. I just need help with the last part of the bifurcation analysis. I have implemented a large nonlinear system of 50+ equations in the following form (i = 1...50): Qa_i' = Qb_i Qb_i' = f(Qa_i,Qb_i,L,coefficients) I can't report the entire system since it is close to 120 pages long. The coefficients magnitude range is from very...
Good morning, MatCont team, and thank you for the amazing work you have done. I'm pretty new to numerical continuation techniques, but I think my computation is mostly correct. I just need help with the last part of the bifurcation analysis. I have implemented a large nonlinear system of 50+ equations in the following form (i = 1...50): Qa_i' = Qb_i Qb_i' = f(Qa_i,Qb_i,L) I can't report the entire system since it is close to 120 pages long. The coefficient range is from very small (1e-15) to very...
A simple test is that you can check if the derivatives in your system are NNNNN, which means that it is recommended to choose numerical integration (N) and symbolic integration (S) to be prone to the situation you mentioned.
如图所示
Excuse me, but what do you mean by the Hopf curve? I can currently find the Hopf point, but I don't know what to do next.
Once you find the Hopf point, you can double-click on this point to load the data from the point. Then select Limit Circle in Type. Next, set the layout in plot-2D, where one axis selects your parameters, the other selects yourcoordinate, and there will be Max, Min anddefaultoptions next to the coordinates。 Hope this could help you
I've had the same issue recently, and I haven't had this situation with any bifurcation charts before. So I chose to reinstall the software, and the result now shows that it does not converge at the equilibrium point LOL. I'm going to try it on a different computer...
I want to know exactly how to operate, for example, if I first draw a Hopf bifurcation diagram, should I choose the point in the type, equilibrium, or other options?
Hi, I have been working on related tasks recently and have encountered the same error. How did you resolve it? Thank you.
Hmmm, I know the destructor for the numeric panel has undesired behaviour for other cases, but not like this. What happens next? Can you proceed? Or does the continuation terminate?
Dear Hil, I am very sorry, I am a beginner in Matcont. I am using Matlab version R2023b and Matcont version 7p4. When the above invalid or deleted object error occurs, the Matlab command line window will display an error message as shown in the figure. I hope the above information is helpful for you in locating the error. Thank you very much.
So there is a problem and a solution, but no indication of what you did to have this error and what you did to solve this. It would be nice if you report to help others.
I have solved my problem, thank you
There is a system error 'The index at position 2 is outside the array boundary',and i don't know what caused the error.I just want to plot the equilibrium curve of the system. thank you
There is a system error 'The index at position 2 is outside the array boundary',and i don't know what caused the error.I just want to plot the equilibrium curve of the system. thank you
There is a system error 'The index at position 2 is outside the array boundary',and i don't know what caused the error.I just want to plot the equilibrium curve of the system!!
You report so few details that I cannot reproduce this, and so we cannot even start guessing the cause.
When I use Matcont to calculate hopf bifurcations, when I find the bifurcation point, I always get an error message saying that the object is invalid or has been deleted. What is the reason for this and how can I solve it?thank you
ok,thank you!
The choice Point --> Orbit initializes a simulation; if you want to find an equilibrium you should choose Curve type Equilibrium.
Hello everyone, Why can't I find the equilibrium point of the system by selecting the "point" in the initial point and set the time, while some systems can use this method?
Hi, I am new to Matcont. After locating a Hopf point, I just want to learn how continue a limit cycle and plot max and min of limit cycles on the bifurcation diagram. Thanks
Dear all: I want to use matcont to do some nonlinear dynamics work on my discrete ordinary differential equations ( ODES ).I found a paper in which the governing equations I put in the figure. I want to know how to define this system in the GUI interface of matcont, where M, C, K, R, F are all matrices. If not, I want to know if the command line is feasible. Thank you!
Thanks a lot for the quick reply @hilmeijer! I will do that and post how it went!
1 I advise to upgrade to 7p4 as the initializer from BT to Homoclinics has been improved, see https://epubs.siam.org/doi/10.1137/22M151354X. 2 Vary the "amplitude" in the starter window for the GH->LPC starter. Alternatively, pick up the LPC by continuation from a LC continuation starting from a Hopf.
Hi, I am looking for someone experienced who can help me with the continuation of homoclinics and limit point cycles. I am using MatCont to determine the bifurcations of a system, that (I believe) should show a Bogdanov-Takens-Cusp (BTC) bifurcation. I am able to recover some of the expected structures like a BT point, a Cusp, several GH points, Hopf- and Saddle-node lines, however, I am struggeling to recover the homoclinics as well as the full LPC lines. I would appreciate if someone with more...
Hi, I am looking for someone experienced who can help me with the continuation of homoclinics and limit point cycles. I am using MatCont to determine the bifurcations of a system, that (I believe) should show a Bogdanov-Takens-Cusp (BTC) bifurcation. I am able to recover some of the expected structures like a BT point, a Cusp, several GH points, Hopf- and Saddle-node lines, however, I am struggeling to recover the homoclinics as well as the full LPC lines. I would appreciate if someone with more...
Hii! I am working on oscillatory model like BL oscillations. I want to get homoclinic orbit from limit cycle. I have been trying in matcont but I am getting the error like 'dot indexing is not supported for variable of this type' when I start continuation from limit cycle as well as when I take the point type equilibrium and connecting the saddle via curve , I am getting the error like 'The wrong number of free connecting parameters is denoted' . Sometimes I also get the error like 'no convergence...
If 1D-arrays x and y have the same length, and you want a curve to be at height H, then try this: plot3(x,y,H*ones(x))
I guss the following code may be work in most cases: M=max(abs((x(1:N:end-2,:)))) h=plot3(x(end-1,:),(x(end,:)),M) However, I can't get a 2D curve in 3D space by this method (I want to draw some 2D curves in a 3D diagram). In the fig.1 the red curve will be obtained through the above code. In Fig.2, the two curves coincide perfectly at view(90,0). I believe I can't extract the x and y coordinates accurately. Another question is how to determine the value of N. It is found that N shuold be equal to...
I am tring to export 3D curves from Matcont(GUI). I found some topics about exporting the 2D plot, and they worked well. Dear hilmeijer has given the solution and helped me a lot: https://sourceforge.net/p/matcont/discussion/762215/thread/49a33e32/#fe79 https://sourceforge.net/p/matcont/discussion/762215/thread/c3f8c9e0/?limit=25#b097 May I ask if there is a simple case for exporting 3D data as given in the second topic above? Many thanks in advance!
I was able to continue the bifurcation curve of the saddle node of the limit cycles with "amplitude" 1e-1 Thank you so much for your help
Dear Sergey, In the starter window, there is an option "amplitude" default value 1e-6. This value says how close to the GH/Bautin point we have to start using the predictor. A good value is problem-dependent. You can think of increasing it to 1e-4 or 1e-2. Best regards, Hil
Hello, I am trying to continue the saddle-node bifurcation curve of limit cycles from the generalized Hopf bifurcation. When starting the curve calculation, matcont freezes for several minutes and does not respond in any way. Then completes the curve calculation. When I check the calculated curve, I see only 1-10 points there. I've tried changing the fun tolerance, the test tolerance, and the var tolerance. Increasing the tolerance to 1e-04 caused the matcont hang to disappear, and the calculation...
Dear hilmeijer, I am a beginner, thank you very much for your response.
You have a space in the name of your system "Limit[space]cycle" That won't work, use a subscript _ or remove the space. Van: discussion@matcont.p.re.sourceforge.net discussion@matcont.p.re.sourceforge.net namens Lily lilycc@users.sourceforge.net Verzonden: vrijdag 1 maart 2024 08:19 Aan: [matcont:discussion] 762215@discussion.matcont.p.re.sourceforge.net Onderwerp: [matcont:discussion] the Invalid Expression I select a new system and input the expressions as shown in the picture. Why it always shows...
I select a new system and input the expressions as shown in the picture. Why it always shows that the first expression is invalid?
I select a new system and input the expressions as shown in the picture. Why it always shows that the first expression is invalid?
Dear Hil, thank you for your fast and insightful response. I will check the system for possible redundancies, as you suggest. Best regards, Dionysios Moutevelis
One thing to check, if you have so many equations, that there are no redundancies. Your simulation can run, but if there is a conserved quantity, then the continuation will fail. This is something you can check when looking into newtcorr.m, and then the matrix B should have full rank. If not, then this is very likely the problem. To remedy this, you need to reformulate your problem without this dependency. Best regards, Hil Meijer Van: discussion@matcont.p.re.sourceforge.net discussion@matcont.p.re.sourceforge.net...