Mathcad Toolbox

Mathcad Toolbox - Contains analogs of functions from Mathcad - Messages

#101 Posted: 11/30/2021 2:35:46 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Wrote

Linear interpolation and linear spline interpolation are different things. I will try to find the formulas that are used in these functions.


We can restore the interpolation functions: lspline(), pspline() and cspline(). This is how the cspline() function works. Based on the attached document and file from the PTC Mathcad forum.

Click to enlarge Click to enlarge

Cubic spline interpolation using Mathcad (2009).pdf (256 KiB) downloaded 112 time(s).
cspline1.mcdx.zip (12 KiB) downloaded 60 time(s).

cspline.sm (38 KiB) downloaded 76 time(s).
cspline.pdf (88 KiB) downloaded 67 time(s).
Russia ☭ forever, Viacheslav N. Mezentsev
#102 Posted: 11/30/2021 9:58:24 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

With enough points, simply cinterp Smath.

ODE HIRES.sm (67 KiB) downloaded 68 time(s).
#103 Posted: 12/4/2021 12:46:37 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

rkfixed(3|4) added, but I still don’t know which derivative symbol is better to take. (ʹ) - modifier letter prime (U+02B9) used below. I don't know how to enter it from the keyboard.

Click to enlarge Click to enlarge
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Alvaro Diaz Falconi 12/4/2021 2:44:00 AM
#104 Posted: 12/4/2021 5:19:00 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Full set: interp(), [l,p,c]spline().

Click to enlarge

Odesolve interpolation test.sm (59 KiB) downloaded 81 time(s).
Odesolve interpolation test.pdf (102 KiB) downloaded 76 time(s).

(*) rkfixed() with a bug now, so you will see something differ.
Russia ☭ forever, Viacheslav N. Mezentsev
#105 Posted: 12/5/2021 6:55:49 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Wrote

(ʹ) - modifier letter prime (U 02B9) used below. I don't know how to enter it from the keyboard.


This can be done in 2 steps:

1. Copy \02B9\ to text region. This code will turn into a text simbol (ʹ).
2. Select and copy it as variable name.

PS. It looks like it's time to combine all Mathcad functions into one plugin - Mathcad Toolbox. It will contain all such functions: ODE solvers, spline functions, in/out functions and so on.
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Alvaro Diaz Falconi 12/5/2021 1:06:00 PM
#106 Posted: 12/5/2021 1:18:42 PM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1675 posts.

Group: User

Hi. Your develop looks brillant.

Wrote

...
1. Copy \02B9\ to text region. This code will turn into a text simbol (ʹ).
2. Select and copy it as variable name. ...



Also, you can get any unicode char with this

img0.png

Wrote

... PS. It looks like it's time to combine all Mathcad functions into one plugin - Mathcad Toolbox. It will contain all such functions: ODE solvers, spline functions, in/out functions and so on.



And don't forget the possibility that the area simply returns the equations of the differential equation or a non-linear system of equations so that the user can then try to solve the ode or nle systems with the functions he chooses.

Best regards.
Alvaro.
1 users liked this post
#107 Posted: 12/5/2021 6:30:56 PM
Martin Kraska

Martin Kraska

1222 likes in 2150 posts.

Group: Moderator

Wrote

rkfixed(3|4) added, but I still don’t know which derivative symbol is better to take. (ʹ) - modifier letter prime (U+02B9) used below. I don't know how to enter it from the keyboard.



This looks very interesting. Seems that it is not yet in the online gallery?

In principle, the built-in diff(1) operator would be an option but it looks ugly if applied twice.
The ordinary prime would be ok for me (just as it is used as tag in unit names), it is input as Shift # on german keyboards.

diff2.png
diff2.sm (2 KiB) downloaded 53 time(s).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#108 Posted: 12/5/2021 10:15:07 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

I still don’t know which derivative symbol is better to take. (ʹ) - modifier letter prime (U 02B9) used below. I don't know how to enter it from the keyboard.


My preference goes for book style.
US keyboard D apostrophe (x):=

Derivatives.PNG

#109 Posted: 12/6/2021 12:07:58 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Wrote

This looks very interesting. Seems that it is not yet in the online gallery?


I can't contact Andrey directly. The server does not allow compiling the sources, as there is no free space. Therefore, the latest changes are not yet available.

I've made some changes. I liked the idea with the str2num() function. Also I can override the diff(1) function, but that can be confusing.

Now it is possible to numerically solve the Cauchy problem for one variable: diff(y(x),x,n)=F(x,y(x),...,diff(y(x),x,n-1)) . Later, I will expand the rest of the ODE solvers to support this simplified form. But for this I need to combine plugins and add interpolation functions similar to Mathcad (lspline(), interp(), ...). It will be more convenient for me to test the solvers, comparing the results with Mathcad.

Block region collects equations in the form of a system and substitutes it as the first parameter into the function.

Click to enlarge
Russia ☭ forever, Viacheslav N. Mezentsev
#110 Posted: 12/6/2021 4:32:09 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Wrote

The ordinary prime would be ok for me (just as it is used as tag in unit names), it is input as Shift # on german keyboards.


I can add the ability to set this symbol directly in the document. This way you can change the default symbol.

2021-12-06_12-29-03.png

Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
sergio 12/6/2021 7:09:00 AM
#111 Posted: 12/6/2021 9:11:48 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

SMath Studio compatibility

Plugin updated. Please try.

Examples:

Mathcad Block.sm Mathcad Block. Examples.sm

Changes:

- rkfixed() now works correctly;
- Odesolve block renamed to Mathcad Block;
- the task for the ODE solver in the usual mathematical notation is supported;
- default diff symbol is apostrophe ( ' );
- linterp() is used as an interpolation function;
- refactored.

Click to enlarge Click to enlarge
Russia ☭ forever, Viacheslav N. Mezentsev
2 users liked this post
Alvaro Diaz Falconi 12/6/2021 11:41:00 AM, sergio 12/6/2021 10:52:00 AM
#112 Posted: 12/6/2021 1:41:05 PM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1675 posts.

Group: User

Wrote


- linterp() is used as an interpolation function;



Hi Viacheslav, thanks, great job. One question: Why to use linterp instead cspline? The problem with cspline is about the border of the interval, where you have only diff by the left and the right, and there you can adapt the cubic splines to be linear or parabolic, but in the interior of the interval I guess that it's better cubic splines interpolation.

img0.png

ODEQuestion.sm (15 KiB) downloaded 72 time(s).

Best regards.
Alvaro.
#113 Posted: 12/6/2021 3:44:46 PM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

I will add the interpolation functions ( interp(), lspline(),... ) to the plugin and rename it to Mathcad Toolbox. After that, it will be possible to test its work, comparing it with the Mathcad numerically.
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Alvaro Diaz Falconi 12/6/2021 5:55:00 PM
#114 Posted: 12/7/2021 5:56:03 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

SMath Studio compatibility

Plugin updated.

Changes:

- plugin renamed to Mathcad Toolbox;
- version changed to 0.3.*;
- interp(), lspline() functions added;
- lspline() function used in any ode solvers.

File not found. File not found.
Russia ☭ forever, Viacheslav N. Mezentsev
2 users liked this post
overlord 12/7/2021 9:10:00 AM, Martin Kraska 12/7/2021 7:12:00 AM
#115 Posted: 12/7/2021 8:32:19 AM
Martin Kraska

Martin Kraska

1222 likes in 2150 posts.

Group: Moderator

Really nice generic block concept! It is a really good reason for updating the handbook and the portable distribution.

This is how to use it with symbolic solutions using Solve() (Maxima plugin):

Solve block.png
Solve block.sm (5 KiB) downloaded 82 time(s).

Looking forward to a RK integrator for multi-DOF systems. This is how I would imagine the user interface.

2021-12-07 11_42_03-SMath Solver - [Federpendel-block.sm_].png
Federpendel-block.sm (48 KiB) downloaded 80 time(s).

Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 users liked this post
#116 Posted: 12/7/2021 9:32:51 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Wrote

Looking forward to a RK integrator for multi-DOF systems. This is how I would imagine the user interface.


This is the next step, but the existing solution is not stable and has some bugs.

Russia ☭ forever, Viacheslav N. Mezentsev
#117 Posted: 12/7/2021 11:13:30 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

SMath Studio compatibility

Plugin updated.

Changes:

- plugin merged with Mathcad File Access (all functions are inside Mathcad Toolbox);
- the condition has changed in the definition of the solver function (to support both directions of integration): (x-xmin)*(xmax-x)>=0;
- pspline() function added.
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Arie 12/7/2021 11:35:00 AM
#118 Posted: 12/7/2021 2:00:34 PM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1675 posts.

Group: User

Wrote

Wrote

Looking forward to a RK integrator for multi-DOF systems. This is how I would imagine the user interface.


This is the next step, but the existing solution is not stable and has some bugs.



Hi. In the meantime, we can play with things like this:

img0.png

img1.png

Solve block.sm (54 KiB) downloaded 90 time(s).

Best regards.
Alvaro.
1 users liked this post
#119 Posted: 12/8/2021 2:24:11 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Wrote

Hi. In the meantime, we can play with things like this


Looks great, but something is missing.

Click to enlarge
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Alvaro Diaz Falconi 12/8/2021 6:53:00 AM
#120 Posted: 12/10/2021 5:59:47 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

SMath Studio compatibility

Plugin updated.

Changes:

- fixed algorithm for selecting regions (Mathcad Block).
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
sergio 12/10/2021 8:25:00 AM
  • New Posts New Posts
  • No New Posts No New Posts