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...
Dear Matcont community, I am trying to apply equilibrium continuation on a converter based version of the IEEE 9 bus power system. Although the time domain integration looks correct and all state variables settle to an equilibrium point, I get a 'No convergence at x0' error when I try to use the equilibrium continuation routine. The dynamic system is of order 53 and the definition of the system is included in the attached files under the name of ieee9bus_fullconv. I am using script version of Matcont7p4...
So, the initial newton corrections converge to a different point on the equilibrium curve. Yes, this can happen. Possible remedies (A) Start closer to the equilibrium, (B) in the Continuer window, switch off Moore-Penrose Continuation.
After providing information about the equilibrium point, the system calculates bifurcations that do not start from the equilibrium point. The differential equations, initial values, and bifurcation curve of the system are as follows:
After providing information about the equilibrium point, the system calculates bifurcations that do not start from the equilibrium point. The differential equations, initial values, and bifurcation curve of the system are as follows:
After providing information about the equilibrium point, the system calculates bifurcations that do not start from the equilibrium point. The differential equations, initial values, and bifurcation curve of the system are as follows:
Thank you so much~
For me, the second part is more a general question regarding bifurcation theory and not something about the software. Have a look at http://www.scholarpedia.org/article/Period_doubling In the discrete-time and continuous time case (maps and ODEs) the original cycle persists (still exists when we vary parameters) (figures 1&2). So, why would we expect the software to jump to the new branch. If we weren't checking for stability and bifurcations, it would simply compute a one-parameter branch of periodic...
I believe nothing mysterious is happening here. First, you provide very few details, but let's assume you work on the 4D Hodgkin-Huxley model with some variant...? Depending on the discretization the PD is there or not, it shouldn't be there but near I_{app}=3-5 the continuation has to go through a numerically challenging region. Second, the period is a (continuous) function of the parameters. Only if you switch to the other branch from a PD point, you'll see a jump with a factor two.
I believe nothing mysterious is happening here. First, you provide very details, but let's assume you work on the 4D Hodgkin-Huxley model with some variant...? Depending on the discretization the PD is there or not, it shouldn't be there but near I_{app}=3-5 the continuation has to go through a numerically challenging region. Second, the period is a (continuous) function of the parameters. Only if you switch to the other branch from a PD point, you'll see a jump with a factor two.
Hi, my classmate encountered a similar issue last time, and it turned out that there was an error in the numerical values used for the initial points in his calculations.
Thanks for your attention. I'm studying the classical 4D HH model. The parameters I set results in PD at I_{app}=7.849537 and a NS at about I_{app}=8.1882383. This is the result of many calculations. But the position where the NS point occurs will be biased within 0.0000006 each time. I want to know what changes are brought about by PD and NS, two points that occur between the unstable limit cycles? Because the number of limit cycles changes when LPC occurs. So what is the cause of PD and NS? Doesn't...
I believe nothing mysterious is happening here. First, you provide very details, but let's assume you work on the 4D Hodgkin-Huxley model with some variant...? Depending on the discretization the PD is there or not, it shouldn't be there but near I_{app}=3-5 the continuation has to go through a numerically challenging region. Second, the period is a (continuous) function of the parameters. Only if you switch to the other branch from a PD point, you'll see a jump with a factor two. Van: discussion@matcont.p.re.sourceforge.net...
when I use matcont to study the nonlinear dynamics of 4D HH model. I found that there is a PD. However, the datas of the period of limit cycles shows no big difference near the PD point. why? the datas of period around PD is [17.5719276850819 17.4770399778285 17.3819737164476 17.2867354342781 17.1913162846944 17.1585207788563 17.0957439815399 16.9997338618487 16.9035855896974 16.8073058075185 16.7137971376567 16.7105303213614 16.6136390438427 16.5162669325102], PD happens at 17.1585207788563.![]
Thanks to your guidance, my system is now running successfully.
A few more comments: 1. Write py1' (with apostrophe) to declare an ODE 2. If z is a coordinate, then provide an ODE for it. 3. The expressions f1...f7 and g1...g4 should be put before the ODEs. 4. The factor 100000 will later make continuation difficult; you can probably relax this to 100 or 10 and get similar results.
I hope this message finds you well. I greatly appreciate your prompt response and valuable guidance on the system definition. Following your suggestions, I have made modifications to the equations, ensuring that expressions precede the differential equations. However, despite these changes, I still encounter the same error as before. It's possible that I may have misunderstood your instructions. Could you please provide additional guidance or clarification on the modifications? I am eager to learn...
Hi there! I hope this message finds you well. I am currently working on a dynamic systems analysis using MatCont, and I encountered an error that I'm seeking assistance with. The error message I received is: "Equations are in the wrong order, compared to the coordinates." Based on my understanding, this suggests a mismatch between the order of the equations and the order of the coordinates or parameters. I have reviewed my input file and made adjustments, but the issue persists. I am attaching the...
Two things to improve for defining your system 1. Yes, you can use expressions, but these have to come before the differential equations. 2. Do not use indexed arrays or functions, so change g4(re2)=2.8re2+0.5 to g4=2.8re2+0.5, and then use g4 and alike in your equations. Good luck.
Hi there! I hope this message finds you well. I am currently working on a dynamic systems analysis using MatCont, and I encountered an error that I'm seeking assistance with. The error message I received is: "Equations are in the wrong order, compared to the coordinates." Based on my understanding, this suggests a mismatch between the order of the equations and the order of the coordinates or parameters. I have reviewed my input file and made adjustments, but the issue persists. I am attaching the...
Dear MatCont team, first of all: Merry Christmas, Happy New Year and a quiet and comfortable holiday time! I encountered some problems when playing (again) around with the Mathieu equation: Fixing the excitation amplitude and varying the excitation frequency ny along the trivial solution the program locates the period doubling points and some BPCs, where the Floquet multiplier becomes 1. When trying to find the BPCs in the (a, ny) plane, MatCont throws the error "Not enough input arguments". I guess...
to edit mine such that the spacing of the limit cycles makes it obvious how the limit cycle change Not really, but you could try to adjust "MaxStepSize" in the Continuer window to a larger value. The problem is that the closer you get to epsilon=0, the smaller the step in the parameter and the larger in phase space, and the period too, and this is not independent. So at some point the cycles will appear to not vary a lot as the parameter does not change a lot (while the period does). to not have...
I'm trying to produce a limit cycle as in "Advances in numerical continuation software: MatCont" tutorial C, and I am able to continue a limit cycle of interest in my system. My problem comes with trying to control how the limit cycle is continue, specifically I seem to have no control over when a limit cycle is graphed with a given parameter value. Attached is two images, one of my solution (which is a blob) and the other is the solution given in the paper. I would like to edit mine such that the...
Thank you very much sir.
You have not given all context of what you're doing, but I suppose you have computed a Hopf curve and the test function of a degenerate Hopf (Bautin) was active too. From the MatCont folder, first load the data into Workspace: load Systems/(model name)/diagram/(name of Hopf curve eg H_H(1).mat)) Next plot the test function (which equals the first Lyapunov coefficient) with plot(x(end,:), h(ii,end)) %typically the index ii=4, but it depends on the precise settings of what you did and did not comp...
I am studing a 2D system having bautin bifurcation. I want to plot a parameter vs 1st Lyapunov coefficient in Hopf bifurcation. How to do that? Please provide me where I can get the data of 1st Lyapunov coefficient when varying a system parameter?
I am studing a 2D system having bautin bifurcation. I want to plot a parameter vs 1st Lyapunov coefficient plot. How to do that? Please provide me where I can get the data of 1st Lyapunov coefficient when varying a system parameter?
Hello, it is still not clear, what you tried to do: After you obtained the approximate limit cycle, did you tell MatCont, that you are looking for limit cycles? (I think, MatCont automatically selects that choice, after it finds the approximate circle.) Did you select a proper bifucation parameter? Looking at your parameters: w is quite close to w1 and w2. You could try to start at e.g. w=4 and decrease it. Since you have two quite similar modes, I would expect a lot of resonances near w=w1=w2. (PS.:...
Can Matcont solve piecewise function?Thank you!
This is not a support request, but a general requiry, hence marked as closed.
Your question is quite general. If you can approximate it by some continuous function then perhaps. But without details or specific cases, I cannot say whether it is possible or not.
Can Matcont solve piecewise function?Thank you!
The steps I did were all based on the following tutorial。I don't know if it can do the same with a 2-degree-of-freedom system。It would be nice if you could give me some advice, thank you very much。 FrequencyResponse.pdfhttps://wwwhome.ewi.utwente.nl/~meijerhge/FrequencyResponse.pdf。
I‘m sorry to waste your times because of lacking detailed description.,I'm going to describe some of my steps in more detail。 First, after establishing my two degree of freedom system, click on the "Initial point" option in the "Type" option and then click on the "Point" option to set my initial value. Afterwards, open the "Window/Output" option and open "2Dplot "in "Graphic "to create visualizations of x1, y1, x2, and y2. Next, set the "Interval" in the "Integrator Window"to ensure that it reaches...
Well, these are still just a few steps, and not telling me what you do exactly.
Thanks for your answer,I followed the steps of a duffing equation.Here are my some of my steps.I also try many times,but,I just get the answer"NO,convergence at x0,".
How do you draw the branches of x,y,z with respect to the parameter q in a graph? Besides, I have found the hopf bifurcation point, and I want to draw the maximum and minimum curves on this basis to represent the bifurcation, but I can only do this separately, I can't put them in a graph, how do I need to put these in a graph
Whether your system can be investigated with limit cycle continuation only, depends on the response. Do a simulation first, including forcing Do you see a single frequency, or do you see a response with multiple frequencies (torus)? With a single frequency, you would be able to use continuation, otherwise I suggest to use simulations as torus-continuation is hard. Showing the "no convergence" does not help, as you give no details how you got it, it could come from any step.
Hello,I am solving the amplitude frequency response of a non autonomous two degree of freedom system, but I have encountered some problems and hope to receive assistance.Hope to get the help, I would offer my sincere thanks.
Have a look at the package SlideCont.
How to perform bifurcation analysis in the Filippov systems. In particularly, on discontinuous boundaries
Thank you for help
As stated on the homepage, provide details for help. With just a figure and no description of the steps, we cannot see what you tried.
Indeed, along your curve you follow a neutral saddle, not a Hopf point. The test function checks if the sum of two eigenvalues is zero, in this case they are real, so this is correct. This probably happened because you started from a BT point and then in one direction you'll have a true Hopf curve, and in the other direction it follows the neutral saddles.
I conduct a limit cycle oscillation analysis,and obtained the LCO as shown in Fig.1. Then, based on this LCO, I was about to conduct a bifurcation analysis of LCO with changes in one of the parameters, but matcont prompted me with "No convergence at x0."(Fig. 2.) I would like to seek effective solutions to this issue,I sincerely thank you!
Hello, I see that there are no complex conjugate numbers with a purely imaginary part on the Hopf curve. I don't quite understand if this is really a Hopf curve or something else. Thank you for help
Hello, I see that there are no complex conjugate numbers with a purely imaginary part on the Hopf curve. I don't quite understand if this is really a Hopf curve or something else. Thank you for help
This information you will have to process separately, see this tutorial how to do that post-processing on the commandline: https://wwwhome.ewi.utwente.nl/~meijerhge/MatCont/MatCont_Tutorial_NMM.pdf You can adapt that script to your needs.
Hello, I am not a member of the Matcont team. Your description is quite vague: I guess you have rewritten your differential integral algebraic equation as some regular set of ordinary differential equations (or at least a set of n equations in n unknowns (and some parameters)). If you have found a regular solution (without zero eigenvalues), it should normally work to pass it to MatCont as initial guess and start a continuation. You might have to play around with some continuation settings (initial...
Hello Matcont team. I was working on a system of nonlinear equations from my master's thesis when I came up to matcont package. The system of equations is an algebric-differential-integral one. I discritized my system and used matlab "fsolve" and "lsqnonlin" to solve it. However, after changing the initial guess I couldn't find a stable solution (having all eigen values with negative real parts). In one of the articles it was mentioned that "steady-state conditions have been solved using a variable...
1 Have a look at GUI/CompConfigurations.m 2 Won't you update to 7p4?
Have a look at GUI/CompConfigurations.m
What file in matcont 7p2 will you think will allow me to add a ode solver to the dropbox in integrator window?
After some additional emails back and forth, the way to make this work is to change a setting in the file Continuer/newtcorr.m manually, on line 20 it says "for t=1:2" (which is a Broyden update), but for this case we need "for t=1:1" for the continuation to start. We're going to close this discussion for now, but there is some numerics to be sorted.
I think, that the description in the very first contribution in this thread describes the situation quite well; at least I recognized the reported problem as a quite well known one. When I played around yesterday, I could see, that from the same BPC it is possible, that MatCont finds the second branch without problems, after some trial and error with different settings, or not at all. In my first attempt I also could obtain the bifurcating branch immediately. If I find some time, I will try to debug...
Dear Hil, thanks for the helpful response! Indeed, there was a typo in my post. The strange thing is, that after compiling the system, I get the error message. But the m-file is build correctly and it works. Maybe it has something to do with the new Matlab version, I installed recently. With kind regards Alois
Hey, it's not that I'm not willing to help BUT the problem is that no "problem" is posed: "and I clicked on the BPC point I would like to start the continuation. Many thanks for your support." And then what? There is no clear problem stated or error reported, and besides I was able to do this continuation without problems.
Hello Hil, I just retried my attempts from yesterday. I could find the branch of periodic solutions and (beside other interesting points like LPC and NS) a BPC close to n=2.02. But today it seems impossible to continue from there. I played around with TSearchOrder and Moore-Penrose, MinStepsize, initStepsize, no success. In the Matlab command window I get the messages first point found tangent vector to first point found Current step size too small (point 1) elapsed time = 7.1 secs npoints curve...
Dear Alois, two comments: 1. You can toggle code with -sign, or with 3 tildes. 2. There is a little typo n-->v in your equations, but if I enter the following, all works. lamh=lambda-v^2-w^2 v'=-ny*w+lamh*v w'=ny*v+lamh*w But it is true the definition of lamh should come before the equations.
Dear Alois, two comments: 1. You can toggle code with -sign, or with 3 tildes. 2. There is a little typo n-->v in your equations, but if I enter the following, all works. lamh=lambda-v^2-w^2 v'=-ny*w+lamh*v w'=ny*v+lamh*w
Just a remark concerning my own post: It seems, that the system somehow garbles the contributions: In my case the *-signs (multiplication symbols; in case it happens again) vanish, which makes the formulas looking quite unreadable.
Up to now it was possible, to use local variables, when writing the equations of motion. So instead of writing v'=-nyw + (lambda - v^2 - w^2)v w'=nyv + (lambda - v^2 - w^2)w it was possible to write lamh=lambda - v^2 - w^2 and later (in the early days it was even possible to specify such local values in between the equations) v'=-nyw + lamhv w'=nyn+lamhw Since yesterday I observe a Matlab error: "Free variable 'lamh' must be included in 'Vars' value." Has that been changed recently in MatCont (I...
Dear Guilherme, I tried to input your equations; since there are no spaces displayed in the posting, I am not sure I got it right. After locating one periodic solution, I could follow the branch and saw a BPC close to n=2.02. In order to follow the bifurcating branch from there, I had to switch off TSearchOrder in the Continuer window. Please beware: Playing around, I got very different behaviours of the system. So either I made a severe mistake in trying to enter the equations, or the system is...
First, ok, I have been able to find this BPC too. Although in your description above, it should be that both n and period were active parameters. The period must change as you vary n. Then, at this point, you have provided too little information to say what you want. You can select the BPC and then the initializer BPC_LC will allow you to switch to the asymmetric branch varying n. That worked. I cannot judge which other parameters would be relevant for you. Welcome to support, but I cannot do your...
Weird results from cl_matcontM2p5
Dear Hilmeijer, Many thanks for you support. I rerun all my continuation diagrams. I got the BPC, but I cannot use them as starting points. I am using MatCont 7p1 in Matlab 2018. My system is x1'=x2 x2'=1/(1+mc(1-sin(x3)sin(x3)))(-2(1+mc)zyx2-x1(1+dw)(1+mc)+x4x4rcmccos(x3)-x4rcmc2ztsin(x3)) x3'=x4 x4'=-2zy(1+mc)/(rc(1+mc(1-sin(x3)sin(x3))))x2sin(x3)-(1+dw)(1+mc)/(rc(1+mc(1-sin(x3)sin(x3))))x1sin(x3)-(1+mc(1-sin(x3)sin(x3)))/(1+mc)x4(2zt-x4mc/(1+mc)cos(x3)sin(x3)) v'=-nw+v(1-v^2-w^2) w'=nv+w(1-v^2-w^2)...
I have two suggestions: First, the syntax of your equations uses vectorization (ie ./ ) and you do not write * explicitly. Evaluate it as simple matlab commands first. Do you get values? If not, then adapt brackets and so on, until you do. Once that is fixed, insert it into MatCont. Note that in MatCont we do use vectorization, so you can leave it out in your system definition. Second, using such large values will almost lead to numerical issues. Try to rescale your coordinates and parameters.
Thank you so much! I'm sorry that I failed to find my mistakes earlier. I appreciate your patience and kindness. I will check in more detail to get the results.
Hello, as far as I know, MatCont doesn't deal with symmetries at all. One possible method would be to introduce symmetry breaking terms, the coefficients of these terms would be considered as imperfections. Look at the pizchfork bifurcation x'=x^3-lambdax with mirror reflection symmetry x-> -x. The branch point at (0,0) can be seen as regular branchpoint in the perturbed system x'=x^3-lambdax+alpha. While this method is cumbersome, when you are only interested in the symmetric case, it pays off when...
One should do two simulations, one such that transients have faded, a second with about one period. And then still, in periodically forced systems your attractor may not be a periodic solution. Inspect it by looking at the solution in phase space.
Thank you very much for your reply
Hello, I would like to ask why I used the paradigm in the attachment. When I tried to draw the frequency response diagram of w-x, it was shown that it did not converge at x0.
Thank you for help
Hello! In the system that I am studying, a Branch Point of Cycles bifurcation occurs during the single-parameter continuation of stable limit cycle. Since the system possesses discrete symmetries (permutations of some phase variables, also reflections), it is quite likely that in this case BPC might have lower codimension. Is it possible to compute this curve in Matcont, either directly or by using some workaround? The second question is related to the initializers that are available, when selecting...
I have an idea what is going on here. Let's say the number of shown test functions is correct, but it is just taken as the first three elements from the set (BT, ZH, HH, GH) instead of omitting the third. It really is GH not HH. Thanks for reporting, but tracing it in the code is harder, so it may take a while before this is correctly represented.
Hello I want to use the first Lyapunov coefficient to determine which branch of the Andronov-Hopf bifurcation corresponds to the supercritical and which to the subcritical I assume that h(5, :): HH is the first Lyapunov coefficient, but it's not entirely clear why it has such a name, shouldn't it be h(5,:): GH? My system is three-dimensional and HH bifurcation is not possible, but I see its name in the output table I guess it's actually GH, but I doubt it Thank you for help
Thank you so much for your help There is a message about this in the console I didn't pay attention to her before
Classify this as a Zero-Neutral Saddle. The testfunction for the Hopf bifurcation vanishes as two eigenvalues have zero sum, but both are real. At the command line, this is probably mentioned, and then you can ignore this as a codim 2 case.
Hello, i find zero hopf bifurcation and I decided to check the eigenvalues of the equilibrium This codimension two bifurcation is characterized by the conditions λ1=0 and Re λ2,3=0, but I don't see the imaginary part being zero I don't quite understand how matcont discovered this bifurcation Thank you for help
In the file MatCont7p3/Continuer/odeget.m, you can add a line (say at line 63, keeping alphabetical order) with the entry: 'NonNegative ' Note I have fixed this in version 7p4.
Your question is not entirely related to MatCont, but let me still answer. The values of the states are small, e.g. in the order of 1e-6. The logarithmic scaling \tilde{X}=log(X) yields larger values that are easier to work with. Van: discussion@matcont.p.re.sourceforge.net discussion@matcont.p.re.sourceforge.net namens Hammed Fatoyinbo hamfat@users.sourceforge.net Verzonden: maandag 19 december 2022 08:36 Aan: [matcont:discussion] 762215@discussion.matcont.p.re.sourceforge.net Onderwerp: [matcont:discussion]...
Dear Hammed, You have a non-autonomous system, and you realize that, so you have added equations I=I0*sin(u) u'=omega; %with u as additional state variable. With non-zero omega is this never going to be zero, and so you there is no equilibrium, and hence this error is explainable. In this case, I suggest you add the Hopf normal form as I have outlined in this tutorial: FrequencyResponse.pdfhttps://wwwhome.ewi.utwente.nl/~meijerhge/FrequencyResponse.pdf. Best regards, Hil Meijer Van: discussion@matcont.p.re.sourceforge.net...
Hello, I would like to ask that I have used the formula in the attachment and it still shows that it does not converge at x0. How should I deal with w
您好,请问我是否使用了附件中的公式,仍然显示在x0处不收敛。我该怎么处理w?
非常感谢您的分享,但是在按照此链接中的步骤操作时,我在计算前向方面遇到了一些问题,
The cos(wt) is a non-autonomous term. And then bifurcation theory is a little difficult. You could add two equations for the Hopf-normal form as in https://wwwhome.ewi.utwente.nl/~meijerhge/FrequencyResponse.pdf, and then treat f and w as parameters.