Advantage of vectorize function

Advantage of vectorize function - Data Analysis Using Truth Tables - Mensajes

#1 Publicado: 6/7/2019 2:51:39
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

On the request of a fellow Engineer, the attached SM program was developed
to find the Standardized Precipitation Index (SPI).
58 years of daily precipitation data was available.

The SPI is widely used to analyze meteorological drought on a range of
time scales. There are proprietary software packages for this purpose.

The “vectorize” function was pretty handy and fast in analyzing various conditions.

Vectorize function.png

SPI_cal-Rev & Improved-Final.sm (1,92 MiB) descargado 1502 vez(es).
Rainfal_Data.xlsx (486,22 KiB) descargado 1124 vez(es).
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
A 3 usuarios les gustó este mensaje
Radovan Omorjan 6/7/2019 4:23:00, frapuano 6/7/2019 5:13:00, Davide Carpi 6/7/2019 11:20:00
#2 Publicado: 19/9/2019 12:23:07
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

Attached file may be useful in handling data, where it may be
necessary to extract numerical values removing any strings, or
negative values, zeros etc.

Data Analysis Using Truth Table.sm (78,91 KiB) descargado 1456 vez(es).

DataAnalysis_Results.png

DataAnalysis_Cond.png
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
#3 Publicado: 19/9/2019 12:44:46
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Wrote

Attached file may be useful in handling data, where it may be
necessary to extract numerical values removing any strings, or
negative values, zeros etc.


Maybe more or otherwise in there.

Utilities Matrix Truth Table.sm (59,54 KiB) descargado 1455 vez(es).
Utilities Matrix Truth Table [UNSORTED alyles].sm (15,01 KiB) descargado 1307 vez(es).
Utilities Matrix Truth Table [Locate row_col].sm (43,39 KiB) descargado 1336 vez(es).
#4 Publicado: 13/4/2020 13:20:47
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

Advantage of vectorize function revisited.
Another practical example attached, with extensive use of the vectorize function. No loops used.
Comments by Martin, Jean, Razonar and others on this subject much appreciated.
Hope this may be useful for beginners.
Cheers

Vect_Augment.PNG
SPI_cal-Millawana_Multiple_R5.sm (178,1 KiB) descargado 1434 vez(es).
rainfall_KalaOyaBAsin.xlsx (585,15 KiB) descargado 1088 vez(es).
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
#5 Publicado: 13/4/2020 13:47:05
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Wrote

Comments by Martin, Jean, Razonar and others on this subject much appreciated.


Sorry mon Ami ... SS 6179 does not open ... Jean
#6 Publicado: 13/4/2020 14:04:20
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

Sorry. PDF attached.

SPI_cal-Millawana_Multiple_R5.pdf (1,03 MiB) descargado 906 vez(es).
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
A 2 usuarios les gustó este mensaje
Davide Carpi 14/4/2020 9:24:00, frapuano 14/4/2020 11:57:00
#7 Publicado: 14/4/2020 9:04:19
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Thanks for the *.PDF ... superb quality !
#8 Publicado: 12/11/2020 3:56:59
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

I have found this useful in day to day work.
Data imported from MS Excel sheet, and using "findrows" function to sum daily data to monthly totals.

Vect_Grouping.png
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
A 1 usuarios les gustó este mensaje
sergio 12/11/2020 5:23:00
#9 Publicado: 16/11/2020 14:13:48
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

Attached is a simplified version of a project work for demonstration only.
The data file consists of date strings, and hence, had to be transformed into numeric.
Hope this may be useful for beginners. Vectorize function very useful in this exercise.

Handling DATE STRINGS.sm (16,17 KiB) descargado 1438 vez(es).

DATE_Strings.png
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
A 1 usuarios les gustó este mensaje
sergio 17/11/2020 14:39:00
#10 Publicado: 16/11/2020 20:48:19
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

The secret is inside your nice piece of work ... superb, thanks.
Take care my Friend ... Jean
#11 Publicado: 16/11/2020 23:58:06
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: User

Wrote

Attached is a simplified version of a project work for demonstration only.
The data file consists of date strings, and hence, had to be transformed into numeric.
Hope this may be useful for beginners. Vectorize function very useful in this exercise.



Hi. Handling data strings you have also this cheat for convert dates to numeric matrices.

Handling DATE STRINGS.sm (20,56 KiB) descargado 1379 vez(es).

Clipboard01.jpg

Best regards.
Alvaro.
A 2 usuarios les gustó este mensaje
sergio 17/11/2020 14:39:00, NDTM Amarasekera 17/11/2020 22:29:00
#12 Publicado: 17/11/2020 1:41:25
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

Thank you Jean for your kind words and encouragements. Take care.

Thank you Razonar for the superb alternative. Take care.
Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
#13 Publicado: 17/11/2020 9:44:04
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

You too Alvaro: take care, thanks ... Jean
#14 Publicado: 2/2/2021 4:35:43
NDTM Amarasekera

NDTM Amarasekera

130 me gusta en 352 mensajes.

Grupo: User

Wrote

Attached is a simplified version of a project work for demonstration only.
The data file consists of date strings, and hence, had to be transformed into numeric.
Hope this may be useful for beginners. Vectorize function very useful in this exercise.

Revised program to handle date strings.

Handling DATE STRINGS+Alvaro.sm (43,62 KiB) descargado 1422 vez(es).
String2Num.png

Look within!... The secret is inside you. Best Regards Eng. NDTM Amarasekera - Sri Lanka
A 1 usuarios les gustó este mensaje
Alvaro 2/2/2021 15:35:00
#15 Publicado: 2/2/2021 11:27:50
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Wrote

Revised program to handle date strings.


Thanks Collab for that most useful work.
Saved ... for future use.
Cheers ... Jean

#16 Publicado: 2/2/2021 15:44:06
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: User

Wrote

Attached is a simplified version of a project work for demonstration only.



Hi Amarasekera. Yes, that one, thanks. The fact you're showing despite to me about the speed in procedures with arrays. In the attached some comments about the need to redefining M:=M where M is a matrix argument in a procedure.

Clipboard01.jpg

EvalTest.sm (17,47 KiB) descargado 1410 vez(es).

EvalTest.pdf (73,82 KiB) descargado 765 vez(es).

Best regards.
Alvaro.

A 1 usuarios les gustó este mensaje
sergio 3/2/2021 6:33:00
#17 Publicado: 2/2/2021 18:53:27
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Your last Speedy Gonzalez is the Smath Numerical Fairy.
As it looks, pure numerical code coincidence as a fact.
Slightly adapted for convenience SS 6179
Thanks, cheers ... Jean

Maths eval(,) TEST.sm (16,84 KiB) descargado 1398 vez(es).
#18 Publicado: 2/2/2021 19:26:52
Ruben Sidranski

Ruben Sidranski

17 me gusta en 465 mensajes.

Grupo: User

Wrote

Hi Amarasekera. Yes, that one, thanks. The fact you're showing despite to me about the speed in procedures with arrays. In the attached some comments about the need to redefining M:=M where M is a matrix argument in a procedure.
Best regards.
Alvaro.


Alvaro,
Are you showing that by redefining Mo variable, within the program, it speeds it up 30 fold? That makes no sense
The only thing that remotely comes to mind is that M, being defined within the program structure as M:=Mo, is not having to read for the variable from the outside.
Have you, or anyone else, tried this on other programs?
#19 Publicado: 2/2/2021 19:54:30
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: User

Wrote


Alvaro,
Are you showing that by redefining Mo variable, within the program, it speeds it up 30 fold? That makes no sense



Yes. Please, try to check in your environment if this is true also. (Notice that my laptop is very slow, because always is running something else or overloaded by some other procedures)

Wrote


Have you, or anyone else, tried this on other programs?



Yes. For this was the issue in the original Amarasekera work, and why I say that he was the first showing this behavior. But I have other codes where using M:=M speed up slow procedures. Actually anything with a loop over a matrix.

Here intermediate timing result, which I can't explain

Clipboard01.jpg

Best regards.
#20 Publicado: 2/2/2021 22:13:47
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Wrote

The only thing that remotely comes to mind is that M, being defined within the program structure as M:=Mo, is not having to read for the variable from the outside.
Have you, or anyone else, tried this on other programs?


What's wrong or incorrect in there is length it shouldn't exist in Smath

EvenFaster.PNG
  • Nuevos mensajes
  • Sin mensajes nuevos