Expand & Interpolation


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Expand & Interpolation
# 1  
Old 10-29-2013
Expand & Interpolation

Dear All,

I have input like this,

infile:
Code:
10    464310.16
20    464309.44
30    464309.02
40    464316.93
...
...

Desired output per step:

out_step01:
Code:
10    464310.16
11    
12    
13    
14    
15    
16    
17    
18    
19    
20    464309.44
21    
22    
23    
24    
25    
26    
27    
28    
29    
30    464309.02
31    
32    
33    
34    
35    
36    
37    
38    
39    
40    464316.93
...
...

algorithm: expand first column with increment 1,

And then final output

out_final:

Code:
10    464310.16
11    464310.09
12    464310.02
13    464309.94
14    464309.87
15    464309.80
16    464309.73
17    464309.66
18    464309.58
19    464309.51
20    464309.44
21    464309.40
22    464309.36
23    464309.31
24    464309.27
25    464309.23
26    464309.19
27    464309.15
28    464309.10
29    464309.06
30    464309.02
31    464309.81
32    464310.60
33    464311.39
34    464312.18
35    464312.98
36    464313.77
37    464314.56
38    464315.35
39    464316.14
40    464316.93
...
...

algorithm: interpolation between the known values.

I have tried using Excel but it is very time-consuming.

Excel:
Expand -> manual
Interpolation -> = (A10-A01) / (ROW (A10)-ROW (A01))

with A10 and A01 are known values ​​(column 2)


Thanks for advance,
Attila
# 2  
Old 10-29-2013
Hi,

Here is the step1st Output, will make code for step2 and update you.

Code:
awk 'a=$1;b=$2 {for(i=1;i<=9;i++) print a+i}' file_name


Code:
10    464310.16
11
12
13
14
15
16
17
18
19
20    464309.44
21
22
23
24
25
26
27
28
29
30    464309.02
31
32
33
34
35
36
37
38
39
40    464316.93
41
42
43
44
45
46
47
48
49



Thanks,
R. Singh

---------- Post updated at 08:32 AM ---------- Previous update was at 08:23 AM ----------

Hello,

Could you please give an example for step2nd please, it will be easier for us to do it then.

Thanks,
R. Singh
# 3  
Old 10-29-2013
Desired output

Code:
10    464310.16
11    464310.09
12    464310.02
13    464309.94
14    464309.87
15    464309.80
16    464309.73
17    464309.66
18    464309.58
19    464309.51
20    464309.44
21    464309.40
22    464309.36
23    464309.31
24    464309.27
25    464309.23
26    464309.19
27    464309.15
28    464309.10
29    464309.06
30    464309.02
31    464309.81
32    464310.60
33    464311.39
34    464312.18
35    464312.98
36    464313.77
37    464314.56
38    464315.35
39    464316.14
40    464316.93
...
...

# 4  
Old 10-29-2013
Not sure what type of interpolation you are after but linear it is not...

Please be more specific...
# 5  
Old 10-29-2013
wisecracker, you are right. It is linear interpolation between two point (red).

---------- Post updated at 08:52 AM ---------- Previous update was at 08:49 AM ----------

Code:
10    464310.16 <= known value
11    464310.09  <=result of linier interpolation
12    464310.02  <=result of linier interpolation
13    464309.94  <=result of linier interpolation
14    464309.87  <=result of linier interpolation
15    464309.80  <=result of linier interpolation
16    464309.73  <=result of linier interpolation
17    464309.66  <=result of linier interpolation
18    464309.58  <=result of linier interpolation
19    464309.51  <=result of linier interpolation
20    464309.44  <= known value
21    464309.40 <=result of linier interpolation
22    464309.36 <=result of linier interpolation
23    464309.31 <=result of linier interpolation
24    464309.27 <=result of linier interpolation
25    464309.23 <=result of linier interpolation
26    464309.19 <=result of linier interpolation
27    464309.15 <=result of linier interpolation
28    464309.10 <=result of linier interpolation
29    464309.06 <=result of linier interpolation
30    464309.02  <= known value
31    464309.81 <=result of linier interpolation
32    464310.60 <=result of linier interpolation
33    464311.39 <=result of linier interpolation
34    464312.18 <=result of linier interpolation
35    464312.98 <=result of linier interpolation
36    464313.77 <=result of linier interpolation
37    464314.56 <=result of linier interpolation
38    464315.35 <=result of linier interpolation
39    464316.14 <=result of linier interpolation
40    464316.93  <= known value
...
...

# 6  
Old 10-29-2013
But what you show is NOT linear...

Subtract 12 from 11 gives 0.07.

BUT...

Subtract 13 from 12 gives 0.06.

This occurs more than once in all of your subsections...

Do I take it you are rounding down per iteration per subsection?
# 7  
Old 10-29-2013
I have tried in Excel using this algorithm:

http://support.microsoft.com/kb/214096

---------- Post updated at 09:17 AM ---------- Previous update was at 09:14 AM ----------

Intruction when using Excel:


To create a sample linear interpolation formula, follow these steps:
  1. Type the following values in a worksheet:
    Code:
       A1: 9          B1: =(A7-A1)/(ROW(A7)-ROW(A1))
       A2: =A1+$B$1
       A3:
       A4:
       A5:
       A6:
       A7: 11

  2. Select cells A2:A6. On the Edit menu, point to Fill, and then click Down. The formula is filled down, and the following values are displayed in cells A2:A6:
    Code:
    A2: 9.33333
       A3: 9.66667
       A4: 10.
       A5: 10.33333
       A6: 10.66667

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Linear Interpolation of CSV Columnar Data

I am trying to perform linear interpolation on three columns in a CSV file. When I run this code, I do not get any changes in the output (see Expected Output). What am I doing wrong here? Awk Code ' function interpolate(lat1, lon1, t1, lat2, lon2, t2, i) { for (i = 1; i... (2 Replies)
Discussion started by: hrrruser
2 Replies

2. Shell Programming and Scripting

An interpolation between two files

Dear all, I always appreciate your help. I am an electrical engineer. I am using a tool for timing analysis of a circuit. I would like to interpolate results from two timing reports at different voltages (0.945V and 0.78V). If voltage is decreased, data arrival time is increased. For... (4 Replies)
Discussion started by: jypark22
4 Replies

3. Shell Programming and Scripting

Interpolation of two values in two different files

Dear All, I have two files which contain numerical data and strings. I want to create a new file that only revise numerical data from two files using interpolation. I guess AWK works, but I am new on AWK. FileA.txt . . index_2("0.1, 1, 2, 4, 8, 16, 32"); values("0.0330208, 0.0345557,... (17 Replies)
Discussion started by: jypark22
17 Replies

4. Shell Programming and Scripting

XY interpolation by time in awk

Hi I am a newbie in awk scripting. I'm working with a file with xy coordinates that were acquired with a time stamp. All the time stamps were recorded but not the XY coordinates. Let see an example: FFID X Y UNIX TIME TIMEGAP... (8 Replies)
Discussion started by: Joćo Noiva
8 Replies

5. UNIX for Dummies Questions & Answers

Interpolation if there is no exact match for value

Dear all, could you help me with following question. There are two datasets (below). I need to find match between BP values from data1 and data2, and add corresponding CM value from data2 into data1. if there is not exact match, the corresponding CM value should be calculated using interpolation.... (20 Replies)
Discussion started by: kush
20 Replies

6. Shell Programming and Scripting

Script to solve second order (polynomial) interpolation

Currently I have awk command to do linear interpolation awk ' { P=$2 I=$1 } END { j=0; s=I; t=I for(i=m;i<=n;i++) { if(I && i>t) { j++; s=I; t=I } print i, P+(i-s)*(P-P)/(t-s) } } ' m=1 n=8 infile FILE CONTENT... (8 Replies)
Discussion started by: Tzeronone
8 Replies

7. Shell Programming and Scripting

Hi ! whether it is possible to do interpolation in scripting...

Hi ! Experts... I just wanted to know whether it is possible in scripting...to do interpolation.... if so....have a look on my data file I need temperature and salinity value with a bin size of 0.5 m output looks somewhat like this dep temp sal 0.5 25 0.077 1 25 ... (12 Replies)
Discussion started by: nex_asp
12 Replies

8. Shell Programming and Scripting

Interpolation using awk

Hi all, Consider I have a text file containing: 1003 60 1005 80 1100 110 Based on that file I need to create another file which is containing value from 1001 till 1100 which is a linear interpolation between two point (for 1004; 1006;1007 until 1109) and extrapolation based on 2... (7 Replies)
Discussion started by: ardy_yana
7 Replies

9. Web Development

JavaScript variable interpolation

Hi everybody, Firstly, this would be the first time I'm using JavaScript. My background is mainly Perl. Nevertheless, here's my problem. So I've created a function function linkout(url){ setTimeout("window.open(url)",5000) //in milliseconds } However because the variable "url" is... (0 Replies)
Discussion started by: z1dane
0 Replies

10. UNIX for Dummies Questions & Answers

variable interpolation

I've become obsessed with trying to get this to work. As of yet, I am unable to figure it out. Unfortunately, I don't have Linux or UNIX available when I get home. Anyone have tips for me on how I can pass param1 to ID via use of COUNTER and loop? thx. LIMIT=6 param1="999999999" export... (0 Replies)
Discussion started by: egkumpe
0 Replies
Login or Register to Ask a Question