solving equation within a range and integral

solving equation within a range and integral - Messages

#1 Posted: 9/9/2025 1:11:55 PM
mule

mule

0 likes in 6 posts.

Group: User

Good day!

I was a Mathcad Prime user but I am currently trying to learn SMath and importing my calculations in it. It was easier in Mathcad but somehow I'm stuck when doing this part regarding solving equation that involves units, a range, and integral, and graphing the plots

I would really appreciate if someone could help me with my problem


image.png

solver.sm (10.71 KiB) downloaded 23 time(s).
#2 Posted: 9/9/2025 2:44:56 PM
StvMath

StvMath

40 likes and 1 dislikes in 64 posts.

Group: User

Plot a graph and you can see that Tsh never gets anywhere near Ts:

Tsh_vs_z.png
#3 Posted: 9/9/2025 3:09:08 PM
mule

mule

0 likes in 6 posts.

Group: User

I'm sorry but your conversion of T_s from Celsius to Kelvin is wrong. T_s = 617.95 K

Wrote

Plot a graph and you can see that Tsh never gets anywhere near Ts:

Tsh_vs_z.png

#4 Posted: 9/9/2025 3:34:41 PM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

1,052 likes in 1,718 posts.

Group: User

Hi. You can try using some ad-hoc Newton-Raphson method.

solver_mule.sm (17.92 KiB) downloaded 18 time(s).

image.png

Best regards.
Alvaro.
1 users liked this post
mule 9/10/2025 12:11:35 PM
#5 Posted: 9/9/2025 3:36:27 PM
StvMath

StvMath

40 likes and 1 dislikes in 64 posts.

Group: User

@mule You are right! It's what SMath returned, and I didn't do a sanity check! Of course, SMath understands units - I'm obviously half asleep today!!
I simply wrote a simple Newton-Raphson solution in the attached.

solver_b.sm (18.29 KiB) downloaded 19 time(s).
Edited 9/9/2025 4:18:54 PM
2 users liked this post
mule 9/13/2025 1:51:49 AM, Alvaro Diaz Falconi 9/9/2025 10:23:34 PM
#6 Posted: 9/9/2025 8:05:51 PM
Martin Kraska

Martin Kraska

1,277 likes in 2,201 posts.

Group: Moderator

Sometimes just sampling and interpolating the function helps.

image.png
solver_b_Kr.sm (21.06 KiB) downloaded 20 time(s).
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
3 users liked this post
Вячеслав Мезенцев 9/9/2025 8:25:08 PM, mule 9/13/2025 1:51:50 AM, Alvaro Diaz Falconi 9/9/2025 10:23:39 PM
#7 Posted: 9/9/2025 8:28:06 PM
Вячеслав Мезенцев

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

1,511 likes in 1,816 posts.

Group: Moderator

Funny workaround. Other solvers are now available.

solver_b_Kr_uni.sm (23.2 KiB) downloaded 22 time(s).

image.png
Russia ☭ forever, Viacheslav N. Mezentsev
3 users liked this post
NDTM Amarasekera 9/10/2025 2:09:23 PM, mule 9/10/2025 12:11:30 PM, Alvaro Diaz Falconi 9/9/2025 10:23:44 PM
#8 Posted: 9/10/2025 6:33:48 AM
Martin Kraska

Martin Kraska

1,277 likes in 2,201 posts.

Group: Moderator

Is anyone able to explain, why the function can be evaluated in the context of pspline but not in the context of a solver? Looks like a really big problem under the hood, otherwise could have been fixed long ago.

Edit: Part of the problem is throwing pointless error messages. The unknown variable MUST be undefined in solver calls.

image.png
Edited 9/10/2025 7:41:00 AM
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#9 Posted: 9/10/2025 8:13:30 AM
Вячеслав Мезенцев

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

1,511 likes in 1,816 posts.

Group: Moderator

I can make an assumption that the integral with a parameter in the upper limit works only for numerical calculations, and is not supported for symbolic transformations.
Russia ☭ forever, Viacheslav N. Mezentsev
#10 Posted: 9/10/2025 10:27:08 AM
Martin Kraska

Martin Kraska

1,277 likes in 2,201 posts.

Group: Moderator

As far as I understand, all solvers are numeric procedures, except roots(), where I suspect that it tries to determine the gradient symbolically. Even the gradient-free Bisection() fails. Here I can't understand why any symbolic evaluation should be required.

image.png
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#11 Posted: 9/10/2025 10:54:31 AM
Вячеслав Мезенцев

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

1,511 likes in 1,816 posts.

Group: Moderator

In fact, when implementing a function in a plugin, you have the opportunity to do preliminary transformations before the actual numerical calculations begin.
Very rarely is the implementation of a function purely numerical. Moreover, for any functions that accept expressions, the implementation always contains symbolic transformations.

Look at how the pspline function is implemented

public bool TryEvaluateExpression( Entry value, Store context, ref Entry result ) => false;

It is a completely numerical function, since it works with scalars. It does not perform symbolic transformations and when it is necessary to calculate an integral, it becomes defined with specific limits in the form of numbers. The equation solver sees an unfamiliar function and simply assumes that it works.
Edited 9/10/2025 11:06:08 AM
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Martin Kraska 9/10/2025 8:56:36 PM
#12 Posted: 9/10/2025 12:13:29 PM
mule

mule

0 likes in 6 posts.

Group: User

WOW! it's exactly as what I did with Mathcad Prime. Thank you very much for this tip. I'm definitely using SMath from now on

Wrote

Funny workaround. Other solvers are now available.

solver_b_Kr_uni.sm (23.2 KiB) downloaded 22 time(s).

image.png

#13 Posted: 9/10/2025 6:56:50 PM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

1,052 likes in 1,718 posts.

Group: User

Wrote

As far as I understand, all solvers are numeric procedures, except roots(), where I suspect that it tries to determine the gradient symbolically. Even the gradient-free Bisection() fails ...



Hi Martin. The "symbolic" part in all the solvers in the NonLinearSolvers plugin is Unknowns. You can see from Bisection's syntax that it has to use it to determine which is the independent variable. In other words, if Unknowns fails, the solver fails too.

image.png

Best regards.
Alvaro.
1 users liked this post
Martin Kraska 9/10/2025 8:56:28 PM
#14 Posted: 9/10/2025 8:56:22 PM
Martin Kraska

Martin Kraska

1,277 likes in 2,201 posts.

Group: Moderator

Alvaro, I see that Unknowns() just is not smart enough. Yet, this does not apply to the solvers which do not need to guess the names of the variables,

Viatcheslav, you pointing to the scalar nature of the argument (the third one) of pspline() brought an argument to my mind that I once had with Andrey. I complained that SMath doesn't perform some symbolic simplifications (see screenshot below) and the essence of that discussion was that Maxima assumes unknown variables to be scalars, while SMath doesn't do that. Andrey insisted in not making the scalarity assumption by default.

Yet, there is a way in SMath to declare a variable as scalar: you have to tag it as unit.

And indeed, this trick does the job for solve() and roots() and find(). Yet I consider this rather being a hack than a solution.
First, you frequently have naming conflicts with pre-defined units.
Second, I can't explain to the reader, why a solver which anyways can't handle anything except scalars (like solve()) doesn't make that assumption by default.

find() seems to have the best unit handling. The unknowns are allowed to have units and be tagged as units. Yet, having the scalarity assumption in it by default, would be a dream.

image.png

image.png

image.png



Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 users liked this post
Вячеслав Мезенцев 9/10/2025 9:11:08 PM
#15 Posted: 9/10/2025 9:10:04 PM
Martin Kraska

Martin Kraska

1,277 likes in 2,201 posts.

Group: Moderator

Still the original problem is not solved:

image.png
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#16 Posted: 9/13/2025 1:49:07 AM
mule

mule

0 likes in 6 posts.

Group: User

Hello again

I am having this error about the number of rows and columns not matching. Where is this error coming from?

image.png
Edited 9/13/2025 1:50:02 AM
  • New Posts
  • No New Posts