Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

7 Pages«<4567>
Options
Go to last post Go to first unread
Offline uni  
#101 Posted : 30 November 2021 08:35:46(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: uni Go to Quoted Post
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 (257kb) downloaded 24 time(s).
cspline1.mcdx.zip (13kb) downloaded 12 time(s).

cspline.sm (39kb) downloaded 19 time(s).
cspline.pdf (89kb) downloaded 13 time(s).

Edited by user 10 December 2021 13:42:42(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
Offline Jean Giraud  
#102 Posted : 30 November 2021 15:58:24(UTC)
Jean Giraud

Rank: Guest

Groups: Registered
Joined: 04/07/2015(UTC)
Posts: 6,251
Canada

Was thanked: 915 time(s) in 743 post(s)
With enough points, simply cinterp Smath.

ODE HIRES.sm (68kb) downloaded 13 time(s).
Offline uni  
#103 Posted : 04 December 2021 06:46:37(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
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

Edited by user 10 December 2021 13:43:39(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 04/12/2021(UTC)
Offline uni  
#104 Posted : 04 December 2021 11:19:00(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Full set: interp(), [l,p,c]spline().

Click to enlarge

Odesolve interpolation test.sm (60kb) downloaded 24 time(s).
Odesolve interpolation test.pdf (103kb) downloaded 20 time(s).

(*) rkfixed() with a bug now, so you will see something differ.

Edited by user 10 December 2021 13:45:44(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
Offline uni  
#105 Posted : 05 December 2021 12:55:49(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: uni Go to Quoted Post
(ʹ) - 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.

Edited by user 05 December 2021 16:29:09(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 05/12/2021(UTC)
Offline Razonar  
#106 Posted : 05 December 2021 19:18:42(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,034
Uruguay

Was thanked: 580 time(s) in 373 post(s)
Hi. Your develop looks brillant.

Originally Posted by: uni Go to Quoted Post
...
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

Originally Posted by: uni Go to Quoted Post
... 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.
thanks 1 user thanked Razonar for this useful post.
on 06/12/2021(UTC)
Offline mkraska  
#107 Posted : 06 December 2021 00:30:56(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,760
Germany

Was thanked: 968 time(s) in 616 post(s)
Originally Posted by: uni Go to Quoted Post
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 (3kb) downloaded 10 time(s).
Martin Kraska

Pre-configured portable distribution of SMath Studio: https://en.smath.info/wi...th%20with%20Plugins.ashx
Offline Jean Giraud  
#108 Posted : 06 December 2021 04:15:07(UTC)
Jean Giraud

Rank: Guest

Groups: Registered
Joined: 04/07/2015(UTC)
Posts: 6,251
Canada

Was thanked: 915 time(s) in 743 post(s)
Originally Posted by: uni Go to Quoted Post
I still don’t know which derivative symbol is better to take. (ʹWink - 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

Offline uni  
#109 Posted : 06 December 2021 06:07:58(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: mkraska Go to Quoted Post
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

Edited by user 10 December 2021 13:45:12(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
Offline uni  
#110 Posted : 06 December 2021 10:32:09(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: mkraska Go to Quoted Post
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
thanks 1 user thanked uni for this useful post.
on 06/12/2021(UTC)
Offline uni  
#111 Posted : 06 December 2021 15:11:48(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
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

Edited by user 10 December 2021 13:43:52(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 2 users thanked uni for this useful post.
on 06/12/2021(UTC),  on 06/12/2021(UTC)
Offline Razonar  
#112 Posted : 06 December 2021 19:41:05(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,034
Uruguay

Was thanked: 580 time(s) in 373 post(s)
Originally Posted by: uni Go to Quoted Post

- 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 (16kb) downloaded 12 time(s).

Best regards.
Alvaro.
Offline uni  
#113 Posted : 06 December 2021 21:44:46(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
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.

Edited by user 06 December 2021 21:46:41(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 06/12/2021(UTC)
Offline uni  
#114 Posted : 07 December 2021 11:56:03(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
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.

2021-12-07_13-51-27.png 2021-12-07_13-52-02.png
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 2 users thanked uni for this useful post.
on 07/12/2021(UTC),  on 07/12/2021(UTC)
Offline mkraska  
#115 Posted : 07 December 2021 14:32:19(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,760
Germany

Was thanked: 968 time(s) in 616 post(s)
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 (6kb) downloaded 25 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 (49kb) downloaded 26 time(s).

Martin Kraska

Pre-configured portable distribution of SMath Studio: https://en.smath.info/wi...th%20with%20Plugins.ashx
thanks 1 user thanked mkraska for this useful post.
on 07/12/2021(UTC)
Offline uni  
#116 Posted : 07 December 2021 15:32:51(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: mkraska Go to Quoted Post
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
Offline uni  
#117 Posted : 07 December 2021 17:13:30(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
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
thanks 1 user thanked uni for this useful post.
on 07/12/2021(UTC)
Offline Razonar  
#118 Posted : 07 December 2021 20:00:34(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,034
Uruguay

Was thanked: 580 time(s) in 373 post(s)
Originally Posted by: uni Go to Quoted Post
Originally Posted by: mkraska Go to Quoted Post
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 (55kb) downloaded 27 time(s).

Best regards.
Alvaro.

Edited by user 07 December 2021 20:04:36(UTC)  | Reason: Not specified

thanks 1 user thanked Razonar for this useful post.
on 07/12/2021(UTC)
Offline uni  
#119 Posted : 08 December 2021 08:24:11(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: Razonar Go to Quoted Post
Hi. In the meantime, we can play with things like this

Looks great, but something is missing.

Click to enlarge

Edited by user 10 December 2021 13:44:39(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 08/12/2021(UTC)
Offline uni  
#120 Posted : 10 December 2021 11:59:47(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
SMath Studio compatibility

Plugin updated.

Changes:

- fixed algorithm for selecting regions (Mathcad Block).
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 10/12/2021(UTC)
Users browsing this topic
7 Pages«<4567>
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.