1 Pages (14 items)
Operation of vector elements - assign values to vector elements with for loop? - Messages
#1 Posted: 3/8/2019 3:11:59 AM
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
#3 Posted: 3/8/2019 4:34:04 AM
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.
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.
#5 Posted: 3/8/2019 4:50:14 AM
#6 Posted: 3/8/2019 4:54:10 AM
Thanks much. I thought I tried that in using a program line, but I guess I had some typo.
Thanks again!
Thanks again!

#7 Posted: 3/8/2019 4:57:58 AM
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.
Again I really appreciate your help.
#8 Posted: 3/8/2019 4:58:28 AM
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).

Best regards.
Alvaro.
This method is a workaround, but isn't very efficient.
vector.sm (7 KiB) downloaded 36 time(s).
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
Interesting; thanks for that also.
#10 Posted: 3/8/2019 10:15:09 AM
WroteIs 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
WroteIs 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
Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
3 users liked this post
#13 Posted: 3/8/2019 2:22:13 PM
... 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).
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
WroteIn 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.
1 Pages (14 items)
-
New Posts
-
No New Posts