cases and replacement of variable by value

cases and replacement of variable by value - Сообщения

#21 Опубликовано: 02.05.2018 04:09:38
Davide Carpi

Davide Carpi

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

Группа: Moderator

Hello everyone

Wrote

Shouldn't the variable A be replaced by its value 1 when 'cases' is used instead of 'if/else'?

cases.png


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.


Wrote

I notice one instance if/otherwise does not work vs if/else.
Reported, not acknowledged ... maybe more than one instance.

Silly.PNG


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
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
1 пользователям понравился этот пост
Martin_B 02.05.2018 05:55:00
#22 Опубликовано: 02.05.2018 08:23:22
Jean Giraud

Jean Giraud

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

Группа: User

Wrote

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.

adAbsurdum.PNG

Spline De Boor [Colibri].sm (39 КиБ) скачан 36 раз(а).


#23 Опубликовано: 02.05.2018 08:49:12
Jean Giraud

Jean Giraud

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

Группа: User

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

pitFall.PNG


#24 Опубликовано: 02.05.2018 08:57:09
Jean Giraud

Jean Giraud

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

Группа: User

Wrote

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]



#25 Опубликовано: 02.05.2018 09:37:40
Jean Giraud

Jean Giraud

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

Группа: User

Wrote

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 (19 КиБ) скачан 37 раз(а).

#26 Опубликовано: 02.05.2018 17:45:55
CBG

CBG

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

Группа: User

Originally Posted by: Alyles

Цитата

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.png

cases_ok_cbg.sm (7 КиБ) скачан 34 раз(а).


Best Regards


Carlos
#27 Опубликовано: 03.05.2018 04:54:00
sergio

sergio

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

Группа: User

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 пользователям понравился этот пост
frapuano 03.05.2018 07:40:00
#28 Опубликовано: 03.05.2018 10:16:30
Jean Giraud

Jean Giraud

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

Группа: User

Wrote

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.


#29 Опубликовано: 03.05.2018 11:10:40
Martin_B

Martin_B

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

Группа: User

Wrote

Wrote

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:
cases_x.PNG

The first A is replaced by its value, the second is not.
Not really intuitive or obvious, in my opinion.
1 пользователям понравился этот пост
sergio 03.05.2018 11:59:00
#30 Опубликовано: 03.05.2018 12:06:00
Jean Giraud

Jean Giraud

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

Группа: User

Wrote

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.

ifOtherwiseExample.PNG

#31 Опубликовано: 03.05.2018 13:02:11
Davide Carpi

Davide Carpi

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

Группа: Moderator

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()
    2018-05-03 17_58_22-SMath Studio - [Page1_].png


(you will be able do them using line, though)
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений