File now ccannot launch in Geogebra 5

melbapplets shared this problem 5 years ago
Answered

I worked on this applet for some time in Geogebra 5 and it was close to complete and working well but it now does not open - Geogebra crashes when you attempt to open it. I probably updated the Geogebra 5 subversion during the development period and cannot remember for sure which version of 5 was active when I first started development.


The file will open in earlier versions e.g. 4.4, but is not fully functional as before.


As a lot of development work went into this in version 5 I'm hoping whatever is causing it not to load can be fixed so I can work on restoring it that way. It makes use of SolveODE in CAS view, with a DE that depends on three parameters dynamically updated in Graphics view. As I said this was working well and quickly the last time I worked on it, which was great and very impressive. Saved inputting the details of three different symbolic solutions types.

https://ggbm.at/1389455

Comments (6)

photo
1

Thanks, please try the new version 5.0.132.0

photo
1

Thanks Michael. Loaded version 5.0.132.0-3D (latest on downloads for MacOS so assume that's what you wanted but your version did not have -3D?).


It still crashes Geogebra whilst trying to open the file ?


So that has not solved my problem as yet.

photo
1

This won't work well in the CAS View unless k, a, h, po are reasonably "nice" numbers (basically integers).

    g(x):=SolveODE[y' = k y (1 - y / a) - h,(0,po)]


If you want k=0.06, instead make k=6 and use k/100


There are also some problems with the script for B:


Point G doesn't seem to exist:

    If[y(G)<Min(a,po),SetCoords[G,4,Min(a,po)]]


and

    If[y(E)<Min(a,po),SetCoords[E,-18,Min(a,po)]]


should be something like

    SetCoords[E, If[y(E)<Min(a,po), -18, x(E)], If[y(E)<Min(a,po), Min(a,po), y(E)]]


or much better if you can manage without scripting, eg make a new object

    E' = (If[y(E)<Min(a,po), -18, x(E)], If[y(E)<Min(a,po), Min(a,po), y(E)])


Hopefully you can load this file OK:


https://ggbm.at/1447565

photo
1

Micheal,


Thanks for the feedback. The extraneous points you found were a left over of previous methods and I should have deleted them, but the main issue is still the way the SolveODE command works now when using parameters defined in algebra view - it seems to have changed???


I tested the original app extensively with variables k, a, po and h all varying continuously with sliders and was very impressed that g(x):=SolveODE[y'=ky(1-k/a)-h,(0,po)] in CAS view gave the correct symbolic solution - with relevant constants substituted by their values and graphable in Graphics View - in all cases as it varied over three very different functional forms - basically logistic, hyperbolic and tan functions. It was great to watch the functional form in CAS change as you dragged sliders. The only error was that it failed to give a defined solution in the degenerate case where there was only one equilibrium solution to the DE and the initial population was equal to it - so the solution was just a constant.


It no longer works this way. For example the simplified command SolveODE[y'=0.01y(1-k/300)-5,(0,po)] still works in a test app I used where po is not defined in the Algebra view, but when it is transferred to the CAS view of an app where po is defined by a slider then it crashes the whole program. So, as you advised, it is all to do with how the SolveODE command picks up constants defined in the Algebra view - but this functionality must have been changed in a recent version as it worked fine before?


The logistic ODE involved makes perfect sense for non-integer values of its constants so it is hard to see why the logic of the SolveODE command in CAS view would fail in such cases anyway. I could not successfully translate the trick of redefining the constant eg using k/100 to my situation as the SolveODE command still crashed even if I set slider increments to 1 and rescaled the other constants??


Thought I should let you know in case there has been a functional change in SolveODE with these unintended consequences which might be remedied?? As far as my app is concerned at the moment I do not see how I can reproduce the great functionality it was delivering before - I suspect I will have to simply type in the full solutions in for the three different cases - a tedious workaround.


In any event I appreciate you looking at this for me.

photo
1

I could not successfully translate the trick of redefining the constant eg using k/100 to my situation as the SolveODE command still crashed even if I set slider increments to 1 and rescaled the other constants??


Please post your file so I can check.


Another way to deal with the sliders that I've just realised that you can do is to create the slider directly in the CAS View then you don't have to do the rescaling trick:

* type po := 1 in the CAS View

* click the "marble" to turn it into a slider

* change the increment in the slider's properties to eg 0.001

photo
1

Michael,


Thanks so much for the tip of defining constants directly in CAS view.


I rebuilt my app from the ground up that way and it now works just as well as it did before. I will attach so you can look at it.


Using SolveODE is a great time saver for plotting multiple solution curves for ODE with several parameters, so I think they should try to fix it so it works with constants defined in the usual way in Graphics view or at least clearly document this behaviour in the manual as otherwise it can be a real time waster for people.


Anyway I really appreciated your help - good to find a way to make it work again.

https://ggbm.at/1447619

© 2021 International GeoGebra Institute