Mathcad Toolbox

Mathcad Toolbox - Contains analogs of functions from Mathcad - Mensajes

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

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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,71 KiB) descargado 2756 vez(es).
cspline1.mcdx.zip (12,34 KiB) descargado 534 vez(es).

cspline.sm (38,12 KiB) descargado 1708 vez(es).
cspline.pdf (88,45 KiB) descargado 914 vez(es).
Russia ☭ forever, Viacheslav N. Mezentsev
#102 Publicado: 30/11/2021 9:58:24
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

With enough points, simply cinterp Smath.

ODE HIRES.sm (67,25 KiB) descargado 1733 vez(es).
#103 Publicado: 4/12/2021 0:46:37
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 1 usuarios les gustó este mensaje
Alvaro 4/12/2021 2:44:00
#104 Publicado: 4/12/2021 5:19:00
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: Moderator

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

Click to enlarge

Odesolve interpolation test.sm (59,06 KiB) descargado 1715 vez(es).
Odesolve interpolation test.pdf (102,91 KiB) descargado 1070 vez(es).

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

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 1 usuarios les gustó este mensaje
Alvaro 5/12/2021 13:06:00
#106 Publicado: 5/12/2021 13:18:42
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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.
A 1 usuarios les gustó este mensaje
#107 Publicado: 5/12/2021 18:30:56
Martin Kraska

Martin Kraska

1.361 me gusta en 2.275 mensajes.

Grupo: 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,79 KiB) descargado 1696 vez(es).
Technische Mechanik mit SMath Studio: https://link.springer.com/book/10.1007/978-3-658-50592-9
#108 Publicado: 5/12/2021 22:15:07
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: 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 Publicado: 6/12/2021 0:07:58
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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 Publicado: 6/12/2021 4:32:09
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 1 usuarios les gustó este mensaje
sergio 6/12/2021 7:09:00
#111 Publicado: 6/12/2021 9:11:48
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 2 usuarios les gustó este mensaje
Alvaro 6/12/2021 11:41:00, sergio 6/12/2021 10:52:00
#112 Publicado: 6/12/2021 13:41:05
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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,16 KiB) descargado 1735 vez(es).

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

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 1 usuarios les gustó este mensaje
Alvaro 6/12/2021 17:55:00
#114 Publicado: 7/12/2021 5:56:03
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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.

Archivo no encontrado. Archivo no encontrado.
Russia ☭ forever, Viacheslav N. Mezentsev
A 2 usuarios les gustó este mensaje
overlord 7/12/2021 9:10:00, Martin Kraska 7/12/2021 7:12:00
#115 Publicado: 7/12/2021 8:32:19
Martin Kraska

Martin Kraska

1.361 me gusta en 2.275 mensajes.

Grupo: 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,37 KiB) descargado 1739 vez(es).

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,39 KiB) descargado 1728 vez(es).

Technische Mechanik mit SMath Studio: https://link.springer.com/book/10.1007/978-3-658-50592-9
A 1 usuarios les gustó este mensaje
#116 Publicado: 7/12/2021 9:32:51
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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 Publicado: 7/12/2021 11:13:30
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 1 usuarios les gustó este mensaje
Arie 7/12/2021 11:35:00
#118 Publicado: 7/12/2021 14:00:34
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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,97 KiB) descargado 1804 vez(es).

Best regards.
Alvaro.
A 1 usuarios les gustó este mensaje
#119 Publicado: 8/12/2021 2:24:11
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: 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
A 1 usuarios les gustó este mensaje
Alvaro 8/12/2021 6:53:00
#120 Publicado: 10/12/2021 5:59:47
Вячеслав Мезенцев

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

1.558 me gusta en 1.868 mensajes.

Grupo: Moderator

SMath Studio compatibility

Plugin updated.

Changes:

- fixed algorithm for selecting regions (Mathcad Block).
Russia ☭ forever, Viacheslav N. Mezentsev
A 1 usuarios les gustó este mensaje
sergio 10/12/2021 8:25:00
  • Nuevos mensajes
  • Sin mensajes nuevos