Re: elementwise vector scalar subtraction
- To: mathgroup at smc.vnet.net
- Subject: [mg35658] Re: [mg35625] elementwise vector scalar subtraction
- From: "Julio Vera" <jvera at adinet.com.uy>
- Date: Wed, 24 Jul 2002 02:06:48 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Oscar, Here's my solution. In[1]:= t = {0, 1, 1.5, 2, 2.5, 4, 6, 8, 10, 15, 20, 30} Out[1]= {0,1,1.5,2,2.5,4,6,8,10,15,20,30} Define the first, last, and increment of the numbers to be substracted. In[2]:= first=.15 last=.3 increm=.05 Out[2]= 0.15 Out[3]= 0.3 Out[4]= 0.05 Define a list of elements to be substracted, for each value. In[5]:= = tc=Table[Table[first-increm+increm*i,{Length[t]-1}],{i,(last-first)/increm+1}]/.{a_/;NumberQ[a],b__}=AE{0,a,b} Out[5]= {{0,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15},{0,0.2,0.2,0. 2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2},{0,0.25,0.25,0.25,0.25,0.25,0.25,0.25, 0.25,0.25,0.25,0.25},{0,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3}} Substracting each tc[[i]] from t, we get each of the lists tc you were looking for. tt[[1]] is your tc15, and so on. In[6]:= tt=Table[Table[t[[i]]-tc[[j,i]],{i,Length[t]}],{j,Length[tc]}] Out[6]= {{0,0.85,1.35,1.85,2.35,3.85,5.85,7.85,9.85,14.85,19.85,29.85},{0,0.8,1.3 ,1.8,2.3,3.8,5.8,7.8,9.8,14.8,19.8,29.8},{0,0.75,1.25,1.75,2.25,3.75,5.75 ,7.75,9.75,14.75,19.75,29.75},{0,0.7,1.2,1.7,2.2,3.7,5.7,7.7,9.7,14.7,19. 7,29.7}} Julio -------------------------------- Dear Colleagues, I have a t-vector t = {0, 1, 1.5, 2, 2.5, 4, 6, 8, 10, 15, 20, 30}; I want to subtract 0.15 from each element except the first to get tc15 = {0, 1 - 0.15, 1.50 - 0.15, 2 - 0.15, 2.5 - 0.15, 4 - 0.15, 6 - 0.15, 8 - 0.15, 10 - 0.15, 15 - 0.15, 20 - 0.15, 30 - 0.15}; I then want to subtract 0.20 to get tc20 = {0, 1 - 0.20, 1.50 - 0.20, 2 - 0.20, 2.5 - 0.20, 4 - 0.20, 6 - 0.20, 8 - 0.20, 10 - 0.20, 15 - 0.20, 20 - 0.20, 30 - 0.20}; Is there a way to automate this process for n subtractions from 0.15 to 0.30 to yield individual t-vectors for tc15 through tc30 ? With Much Appreciation, Oscar