Mathcad Toolbox - Contains analogs of functions from Mathcad - Messages
#201 Posted: 8/21/2025 8:59:20 PM
Interesting things are going on, I am really excited!
I think that the explanation by Gemini is not entirely correct. Yet, he hint on circularity is helpful.

If that was true, we would not have that circularity problem. Also we would not see the entire find command with it's arguments if we display the stored expression from the find block in the dynamic assistant.
Actually I believe that the find function (like any other function in any assignment does nothing (except for substituting existing definitions from the context) unless a result display is requested. I call this delayed evaluation.
Also, assignment to a variable should not affect anything above the current definition. Backfiring should be limited to absolute variables as sometimes used for iterations with on-the-fly animation.
If Gemini was right here, the simp() function in my above example would not help. simp() actually triggers evaluation because num2str() does so. BTW, in the given case S: eval(S) also does the job.

I think that the explanation by Gemini is not entirely correct. Yet, he hint on circularity is helpful.

If that was true, we would not have that circularity problem. Also we would not see the entire find command with it's arguments if we display the stored expression from the find block in the dynamic assistant.
Actually I believe that the find function (like any other function in any assignment does nothing (except for substituting existing definitions from the context) unless a result display is requested. I call this delayed evaluation.
Also, assignment to a variable should not affect anything above the current definition. Backfiring should be limited to absolute variables as sometimes used for iterations with on-the-fly animation.
If Gemini was right here, the simp() function in my above example would not help. simp() actually triggers evaluation because num2str() does so. BTW, in the given case S: eval(S) also does the job.

Edited 8/21/2025 9:13:21 PM
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 users liked this post
Вячеслав Мезенцев 8/21/2025 10:02:04 PM
#202 Posted: 8/21/2025 9:25:35 PM




Plugin updated.
Changes:
- Draghilev solver added.
This is a very simple implementation.
MathcadToolbox-Draghilev-simple.sm (20 KiB) downloaded 14 time(s).

Edited 8/21/2025 9:32:28 PM
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Alvaro Diaz Falconi 8/22/2025 2:25:04 AM
#203 Posted: 8/22/2025 2:36:02 AM
Wrote... The set of variables to be solved is now implicitly determined from all initial guesses (`≈`) provided in the input system. This removes the need to explicitly declare all variables. ...
Hi Viacheslav. Very good job! Instead of sending the equation with the user variables to the solver, and having problems with cyclic recursions, you can send a system of equations based on a single vector variable. This also enables the use of al_nleqsolve, which is the most robust solver available, and is also compatible with the solvers in the nonlinear solvers plugin. This is demonstrated in the code in the attached file, along with combining the x ≈ a notation with the x = a notation.
nsol-handling-equations.sm (56 KiB) downloaded 3 time(s).
Best regards.
Alvaro.
Edited 8/22/2025 2:45:16 AM
#204 Posted: 8/22/2025 2:43:19 AM
Wrote... Draghilev solver added.
Hi Viacheslav. With a matrix non-zero finder, like the one in Matlab, you can simplify the axis crossing detection.
MathcadToolbox-Draghilev-MFind.sm (30 KiB) downloaded 4 time(s).

Best regards.
Alvaro.
1 users liked this post
Вячеслав Мезенцев 8/22/2025 4:23:57 AM
-
New Posts
-
No New Posts