iterative process

iterative process - Сообщения

#1 Опубликовано: 02.10.2020 14:20:15
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Hi.

I need help with a iterative calculation. This is my first time trying to build a iterative loop in SMath.

I need to calculate a coefficient that can only be calculated when the difference between X.0 and X.c is below a limit.

I am trying to solve this as a function of r and rho.

Can someone help me get started on how to formulate the iteration?

problem.sm (11 КиБ) скачан 26 раз(а).
problem.PNG

Best regards,
#2 Опубликовано: 02.10.2020 14:47:52
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: Moderator

problem_Kr.png
problem_Kr.sm (10 КиБ) скачан 55 раз(а).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 пользователям понравился этот пост
hanskl 02.10.2020 19:54:00
#3 Опубликовано: 02.10.2020 15:31:50
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Thank you for your suggestion Martin!

I need the output X to be a function of r and rho. Is that possible?

Some random questions...
1. why do you use arctg instead of atan?
2. does the iterative process have to be wrapped into a for loop where you need to give it a range, and ultimately an upper boundry (n.max)?
#4 Опубликовано: 02.10.2020 16:58:52
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: Moderator

Wrote

Thank you for your suggestion Martin!

I need the output X to be a function of r and rho. Is that possible?

Some random questions...
1. why do you use arctg instead of atan?
2. does the iterative process have to be wrapped into a for loop where you need to give it a range, and ultimately an upper boundry (n.max)?



0. I think you would need to wrap the full procedure into a function of r and rho with X as return value. Alternatively, you might come up with a recursive definition of the procedure.
1. It is just the setting world versus european style for functions. It is the same function, just displayed according to the GUI settings.
2. the for loop just came in handy for generating the indices for storage of iteration history. You could use while 1 as well. I also thought it was a good idea to have an upper limit for the iterations in case the algorithm might diverge.
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#5 Опубликовано: 02.10.2020 17:09:57
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Wrote

Wrote

Thank you for your suggestion Martin!

I need the output X to be a function of r and rho. Is that possible?

Some random questions...
1. why do you use arctg instead of atan?
2. does the iterative process have to be wrapped into a for loop where you need to give it a range, and ultimately an upper boundry (n.max)?



0. I think you would need to wrap the full procedure into a function of r and rho with X as return value. Alternatively, you might come up with a recursive definition of the procedure.
1. It is just the setting world versus european style for functions. It is the same function, just displayed according to the GUI settings.
2. the for loop just came in handy for generating the indices for storage of iteration history. You could use while 1 as well. I also thought it was a good idea to have an upper limit for the iterations in case the algorithm might diverge.



Thanks again for the replies, on a friday night no less. I really appreciate that!

0. Can you explain this in layman terms? Ultimately, I want to graph N.gamma as a function of r and rho, where I have 10 set values of r and 10 corresponding functions plotted with rho along x-axis.
1. OK. I was just curious if they were different functions, like max/Max for example, which I have found can make or break a book.
2. thanks again for the explanation.

Cheers
#6 Опубликовано: 02.10.2020 19:33:45
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

I need the output X to be a function of r and rho. Is that possible?


Sorry, don't understand.
If you want to see the evolution of the solution, use a while loop,
SQRT(x) in Samples is a good example.
Visit Golden ratio as well.

problem_Kr Plot What.sm (17 КиБ) скачан 48 раз(а).
#7 Опубликовано: 02.10.2020 19:53:46
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Wrote

Wrote

I need the output X to be a function of r and rho. Is that possible?


Sorry, don't understand.
If you want to see the evolution of the solution, use a while loop,
SQRT(x) in Samples is a good example.
Visit Golden ratio as well.

problem_Kr Plot What.sm (17 КиБ) скачан 48 раз(а).



Hi Jean,

Thanks for the sample.

I think I got my calculation working now with (a lot) of help from Martin.

I cant plot N.gamma(r, rho) because it obviously takes an enormous amount of computational power.

However, the formulas seem to return the correct value when you compare to the diagrams in this sheet (the benchmark for my calculation).

PS. Is there some way to speed up the calculation of N.gamma? For some values of r and rho it can take Almost a minute to compute.

Cheers

problem_solved.sm (511 КиБ) скачан 40 раз(а).
problem_solved.PNG
#8 Опубликовано: 02.10.2020 21:02:57
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

I cant plot N.gamma(r, rho) because it obviously takes an enormous amount of computational power.


Get a quick insight ... that you can mesh finer.

problem_solved More Insight.sm (517 КиБ) скачан 39 раз(а).
#9 Опубликовано: 03.10.2020 04:38:48
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: Moderator

Wrote


I think I got my calculation working now with (a lot) of help from Martin.

I cant plot N.gamma(r, rho) because it obviously takes an enormous amount of computational power.

However, the formulas seem to return the correct value when you compare to the diagrams in this sheet (the benchmark for my calculation).

PS. Is there some way to speed up the calculation of N.gamma? For some values of r and rho it can take Almost a minute to compute.

Cheers



There is no need to define the quantities as explicit functions if you just want to evaluate an expression. Removing the arguments together with setting the whole algorithm to numeric optimization in the context mnenu made a speedup from 30s to 3s.

problem_solved_Kr.sm (509 КиБ) скачан 36 раз(а).
2020-10-03 09_36_55-SMath Studio - [problem_solved.sm_].png
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#10 Опубликовано: 03.10.2020 05:45:45
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Wrote

Wrote


I think I got my calculation working now with (a lot) of help from Martin.

I cant plot N.gamma(r, rho) because it obviously takes an enormous amount of computational power.

However, the formulas seem to return the correct value when you compare to the diagrams in this sheet (the benchmark for my calculation).

PS. Is there some way to speed up the calculation of N.gamma? For some values of r and rho it can take Almost a minute to compute.

Cheers



There is no need to define the quantities as explicit functions if you just want to evaluate an expression. Removing the arguments together with setting the whole algorithm to numeric optimization in the context mnenu made a speedup from 30s to 3s.



Can you help me understand understand the difference between having the quantities as explicit functions like I did and your approach, and what will the advantange/disadvantages be for one or the other? I want to try to understand the best way to structure my calculations for the result I want.

BTW, just installed the latest SMath version, what a tremendous speedup that gave on this sheet. My oldere version would go on for minutes without being able to plot N.gamma.

Thanks
#11 Опубликовано: 03.10.2020 12:59:34
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: Moderator

Wrote


Can you help me understand understand the difference between having the quantities as explicit functions like I did and your approach, and what will the advantange/disadvantages be for one or the other? I want to try to understand the best way to structure my calculations for the result I want.

BTW, just installed the latest SMath version, what a tremendous speedup that gave on this sheet. My oldere version would go on for minutes without being able to plot N.gamma.

Thanks



I am on very thin ice when making statements on that, because it is just based on observations, not on conceptual insight.

If you define functions, these are stored as is and evaluated when the function is called. If define a variable, the expression is simplified using the current context (available definitions of variables) You can see that in the debugger window.
You always see what you store in the dynamic callout when hovering over the definition.

I know that in the end you want a quantity depending on r and rho, thus a function. Yet, inside the algorithm r and rho are fixed and not subject to change for a given call of that algorithm. So it is straightforward to use the global value of these variables throughout the algorithm, specified as arguments when calling the algorithm.

Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 пользователям понравился этот пост
hanskl 03.10.2020 20:16:00
#12 Опубликовано: 03.10.2020 14:40:12
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

My oldere version would go on for minutes without being able to plot N.gamma.


My steam engine laptop SS 6179 runs Martin in 1.8 min.
It runs the solver 168*10= 1680 for all 10 plots
Set j=9 ... constrain gamma 0.9 reluctant
Set the solver in eval(,) mode.
Cheers ... Jean

problem_solved_Kr Sanity.sm (510 КиБ) скачан 39 раз(а).
#13 Опубликовано: 03.10.2020 14:52:49
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Gamma Plot.PNG
#14 Опубликовано: 03.10.2020 16:34:53
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

N.γ(r,ρ) should plot in ~ 30 s on modern machines.
Saved in my Project file ... any abstract about the project ?

Project Hanski Unknown.sm (513 КиБ) скачан 42 раз(а).
#15 Опубликовано: 03.10.2020 18:30:06
Andrey Ivashov

Andrey Ivashov

2270 сообщений из 3734 понравились пользователям.

Группа: Super Administrator

Wrote

N.γ(r,ρ) should plot in ~ 30 s on modern machines.
Saved in my Project file ... any abstract about the project ?

Project Hanski Unknown.sm (513 КиБ) скачан 42 раз(а).



Calculated in about 5 seconds on the latest stable SMath Studio.

Wrote

Wrote

My oldere version would go on for minutes without being able to plot N.gamma.


My steam engine laptop SS 6179 runs Martin in 1.8 min.
It runs the solver 168*10= 1680 for all 10 plots
Set j=9 ... constrain gamma 0.9 reluctant
Set the solver in eval(,) mode.
Cheers ... Jean

problem_solved_Kr Sanity.sm (510 КиБ) скачан 39 раз(а).



Calculated in about 2 seconds on the latest stable SMath Studio.
#16 Опубликовано: 03.10.2020 19:57:01
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

Calculated in about 2 seconds on the latest stable SMath Studio.


Thanks Andrey ... very impressive !
What about Julia set ? Cheers ... Jean.

Pattern Julia Set [PUBLISH].sm (172 КиБ) скачан 53 раз(а).
#17 Опубликовано: 03.10.2020 20:10:04
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Wrote

Wrote


Can you help me understand understand the difference between having the quantities as explicit functions like I did and your approach, and what will the advantange/disadvantages be for one or the other? I want to try to understand the best way to structure my calculations for the result I want.

BTW, just installed the latest SMath version, what a tremendous speedup that gave on this sheet. My oldere version would go on for minutes without being able to plot N.gamma.

Thanks



I am on very thin ice when making statements on that, because it is just based on observations, not on conceptual insight.

If you define functions, these are stored as is and evaluated when the function is called. If define a variable, the expression is simplified using the current context (available definitions of variables) You can see that in the debugger window.
You always see what you store in the dynamic callout when hovering over the definition.

I know that in the end you want a quantity depending on r and rho, thus a function. Yet, inside the algorithm r and rho are fixed and not subject to change for a given call of that algorithm. So it is straightforward to use the global value of these variables throughout the algorithm, specified as arguments when calling the algorithm.



Thanks, that actually made a lot of sense! Will apply that to other sheets i have that struggle with Slow computation.

Cheers!
#18 Опубликовано: 03.10.2020 20:14:36
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

Wrote

N.γ(r,ρ) should plot in ~ 30 s on modern machines.
Saved in my Project file ... any abstract about the project ?

Project Hanski Unknown.sm (513 КиБ) скачан 42 раз(а).



The functions calculate soil bearing capacity factors for drained conditions. N.q is used internationally, but N.gamma is according to Norwegian recommendations.

Cheers.
#19 Опубликовано: 03.10.2020 20:30:25
Andrey Ivashov

Andrey Ivashov

2270 сообщений из 3734 понравились пользователям.

Группа: Super Administrator

Wrote

Wrote

Calculated in about 2 seconds on the latest stable SMath Studio.


Thanks Andrey ... very impressive !
What about Julia set ? Cheers ... Jean.

Pattern Julia Set [PUBLISH].sm (172 КиБ) скачан 53 раз(а).



55 seconds. As I see it was about 14 minutes before...
#20 Опубликовано: 04.10.2020 13:51:31
hanskl

hanskl

7 сообщений из 158 понравились пользователям.

Группа: User

I have tinkered a bit because there seems to be a mismatch between my graph and the diagram for some values of r and rho.

The plots of N.γ(0.9,atan(x)) and N.γ(0.95,atan(x)) has an odd shape when they approach x=1. It turns out there are some complex solutions in this area.

Is there anything to be done about this, to make the graph closer resemble the diagram?

Cheers


problem_complex.sm (260 КиБ) скачан 38 раз(а).
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений