SMath Studio Forum
»
SMath Studio
»
Questions
»
cases and replacement of variable by value
Rank: Advanced Member Groups: Registered, Advanced Member Joined: 13/01/2012(UTC) Posts: 2,652 Location: Italy Was thanked: 1339 time(s) in 878 post(s)
|
Hello everyone Originally Posted by: MarB Shouldn't the variable A be replaced by its value 1 when 'cases' is used instead of 'if/else'? This is by design and is related to functions and undefined arguments; however if I remember correctly was needed because the old way caes() was coded, I'll check if with current cases() and smath code can be removed. Also, applies ony when cases is on the RHS of functions. Originally Posted by: Jean Giraud I notice one instance if/otherwise does not work vs if/else. Reported, not acknowledged ... maybe more than one instance. No way this can work, because a is defined after the plot; keeping this layout you have to move the vertical position of the plot down or the vertical position of a:0 up Edited by user 02 May 2018 10:14:40(UTC)
| Reason: Not specified |
If you like my plugins consider to support SMath Studio buying a plan; to offer me a coffee: paypal.me/dcprojects |
1 user thanked Davide Carpi for this useful post.
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
Originally Posted by: MarB I really don't want to play silly games with you anymore.
I asked a simple question: "Why is the value of the canvas variable A not stored in the function, when cases is involved ?"
Your answer has absolutely nothing to do with my question. Convince yourself, try the right/wrong code in De Boor Colibri. It may have to do with another next possible not silly visit/question. Spline De Boor [Colibri].sm (40kb) downloaded 13 time(s).
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
A CAS like Smath and others do not know if 0.123 is exactly = 0.123000000000000 I'm not aware of such an option in Smath Example from Mathematica 4.0
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
Originally Posted by: Jean Giraud Example from Mathematica 4.0 Explained otherwise in Mathcad/Mathsoft x^1/2 will output 250 floating point decimals [1/2 is exact] x^0.5 will output 15 decimals [0.5 is unknown]
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
Originally Posted by: Jean Giraud Explained otherwise in Mathcad/Mathsoft ... I will leave it from there. Please, don't hesitate to submit your project. There was that futile discussion about 32/64/128 floating point In PC's, 32 bits is enough. Common math functions as delivered by Microsoft are 21 decimals, uncertain down to 18 decimals agreed to true 15 decimals taking account of reasonable numerical errors propagation. A Mathsoft Collab wanted > 15 decimals. Answer was simple: Mahcad 11 extended 64 floating point: Install Chebyshev 25 decimals [Clenshaw, Luke ...] Accuracy.sm (20kb) downloaded 16 time(s).
|
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 14/10/2015(UTC) Posts: 308
Was thanked: 77 time(s) in 58 post(s)
|
Originally Posted by: Alyles Quote:The difference comes when the value of A changes after the definition of f(x) and g(x).
For g(x) the original definition of A:=1 remains. However, for f(x) the value of A changes. I see that the problem is caused by the definition of the variable A, before the functions, changing the definition of this variable after the definitions of the functions, the problem is solved. This indicates to us that we must be very careful when programming functions when some of the variables that integrate in them have already been defined previously, because we could arrive at erroneous results cases_ok_cbg.sm (8kb) downloaded 17 time(s).Best Regards Carlos
|
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 23/12/2011(UTC) Posts: 319 Location: italy Was thanked: 109 time(s) in 93 post(s)
|
I think MarB is right. It is advisable to have homogeneous behavior of the functions. In this case, function "cases" is used as an alternative to function "if...else" to avoid using nesting; it is evident that one expects the same behavior.
sergio
|
1 user thanked PompelmoTell for this useful post.
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
Originally Posted by: PompelmoTell it is evident that one expects the same behavior. They do behave the same, except for the rare case that I reported. In mainy instances < or <= won't matter In other instance it matters to scrap the project [De Boor re-posted in this thread]. In less visible instance, if the form is not appropriate will freak the project. Same things with Mathcad ... ad nauseum doctored. No matter the arguments, Smath is correct, does not forgive user incorrect coding.
|
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 21/10/2016(UTC) Posts: 84
Was thanked: 21 time(s) in 17 post(s)
|
Originally Posted by: Jean Giraud Originally Posted by: PompelmoTell it is evident that one expects the same behavior. They do behave the same, except for the rare case that I reported. Take a look at post #1 or #3. That's about what we are talking here. Another example: The first A is replaced by its value, the second is not. Not really intuitive or obvious, in my opinion.
|
1 user thanked MarB for this useful post.
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
Originally Posted by: MarB The first A is replaced by its value, the second is not. Not really intuitive or obvious, in my opinion. The best is to apply to a project and make it work.
|
|
|
|
Rank: Advanced Member Groups: Registered, Advanced Member Joined: 13/01/2012(UTC) Posts: 2,652 Location: Italy Was thanked: 1339 time(s) in 878 post(s)
|
I'm too to not create confusion, however some features are tied to this feature; by removing it: - any argument will be preprocessed by smath; this means f.e. that if you place a definition, this will be evaluated despite the condition is met or not (like in if function)
- the protection against assignments won't work anymore
- won't be possible anymore to use functions like error()
(you will be able do them using line, though) Edited by user 03 May 2018 19:55:37(UTC)
| Reason: Not specified |
If you like my plugins consider to support SMath Studio buying a plan; to offer me a coffee: paypal.me/dcprojects |
|
|
|
SMath Studio Forum
»
SMath Studio
»
Questions
»
cases and replacement of variable by value
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.