Operation of vector elements

Operation of vector elements - assign values to vector elements with for loop? - Messages

#1 Posted: 3/8/2019 3:11:59 AM
RegCurry

RegCurry

0 likes in 57 posts.

Group: User

Is it possible to assign specific values to specific elements and take the absolute value of other specific elements of a large vector with say 400 elements? I have tried for loops and if structure to no avail. I assume I just still don't understand the syntax in SMath.
#2 Posted: 3/8/2019 3:48:51 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Hi. Something like this?

vector.sm (6 KiB) downloaded 35 time(s).

Clipboard01.jpg

Best regards.
Alvaro.
#3 Posted: 3/8/2019 4:34:04 AM
RegCurry

RegCurry

0 likes in 57 posts.

Group: User

Thanks for your help.
What if I don’t know the positions that need changing ahead of time? In my vector of about 400 elements, some values are negative. I would like to change only those values to about 10^-10 or take their absolute value and leave all the other elements of the vector unchanged because I plan to plot the vector on a log-log plot.

This is quite easy to do in Mathcad, but it seems SMath doesn’t have the same capability. When I try to test on a value of an element using SMath’s if statement to see if that vector element needs changing I get syntax errors in SMath.

I was hoping to use something like this, but it doesn’t work.


k := [1...length(I)]

A[k := if I[k<= 0
10^-10
else
I[k


Where I is the vector of about 400 elements

Forgive the [ since the forum doesn’t allow subcripts or less than or equal. I am on my iPad now and the forum also does not allow uploading jpg from my photos.
#4 Posted: 3/8/2019 4:42:19 AM
RegCurry

RegCurry

0 likes in 57 posts.

Group: User

Here is a better image.Test.jpg
#5 Posted: 3/8/2019 4:50:14 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

This?

vector.sm (4 KiB) downloaded 35 time(s).

Clipboard01.jpg

Best regards.
Alvaro.
#6 Posted: 3/8/2019 4:54:10 AM
RegCurry

RegCurry

0 likes in 57 posts.

Group: User

Thanks much. I thought I tried that in using a program line, but I guess I had some typo.

Thanks again!
#7 Posted: 3/8/2019 4:57:58 AM
RegCurry

RegCurry

0 likes in 57 posts.

Group: User

I tried to click on thank for you, but I got an error. Perhaps the forum doesn’t like iPads.

Again I really appreciate your help.
#8 Posted: 3/8/2019 4:58:28 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Hi. The method in your picture, using range vectors, fails because 'if' have an special evaluation method, For instance, the true or false parts are evaluated only if the condition results in true or false, respectively.

This method is a workaround, but isn't very efficient.

vector.sm (7 KiB) downloaded 36 time(s).

Clipboard01.jpg

Best regards.
Alvaro.
1 users liked this post
frapuano 3/8/2019 5:05:00 AM
#9 Posted: 3/8/2019 5:50:19 AM
RegCurry

RegCurry

0 likes in 57 posts.

Group: User

Interesting; thanks for that also.

#10 Posted: 3/8/2019 10:15:09 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Is it possible to assign specific values to specific elements


The attached is not exactly what you are looking for,
suggestive of Bolean Find-Replace in matrix.

Your 400 long vector is not easy to inspect, you can Pack in matrix,
probably Find-Replace in that more visible Packed matrix, then
Unwrap the processed matrix back in vector.
IMHO, it does not make much sense to |absolute| a vector.
Does it mean the vector-creator is under-designed ?
Matrices-Vectors ... what you do in Mathcad, Smath does.
Easy to select-collect position of elements in vector,
then replace those selected elements by new values.
You seem to have several demands to the "Cat in the hat Fairy",
Maybe she has all and +++

Cheers ... Jean

Utilities Matrix Find_Replace.sm (21 KiB) downloaded 40 time(s).
#11 Posted: 3/8/2019 11:18:10 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Is it possible to assign specific values to specific elements


... more matrix utilities

Utilities Matrix Treasury_1.sm (394 KiB) downloaded 45 time(s).

#12 Posted: 3/8/2019 12:10:27 PM
Martin Kraska

Martin Kraska

1222 likes in 2150 posts.

Group: Moderator

vector(1).png
vector(1).sm (3 KiB) downloaded 47 time(s).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
3 users liked this post
sergio 3/8/2019 12:47:00 PM, NDTM Amarasekera 3/8/2019 1:12:00 PM, frapuano 3/8/2019 6:02:00 PM
#13 Posted: 3/8/2019 2:22:13 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

... more stuff,
Easy to replace part of a vector or of a specified matrix-col
by a user vector at specified position.

Utilities Matrix Replace_in_Vector.sm (20 KiB) downloaded 74 time(s).
#14 Posted: 3/9/2019 2:19:10 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

In my vector of about 400 elements, some values are negative.I would like to change only those values to about 10^-10 or take their absolute value and leave all the other elements of the vector unchanged because I plan to plot the vector on a log-log plot.


Reg: that's what we need the 400 long vector.
Supplementary instructions/abstract guidance too.

  • New Posts New Posts
  • No New Posts No New Posts