![]() |
![]() |
![]() |
![]() | Model fitting by least squares | ![]() |
![]() |
Here is an expression that on first sight seems to say nothing:
The easy case is when you can move around the plane
adding up
by steps of
and
and find
upon returning to your starting location that the total time change
is zero.
When
and
are derived from noisy data,
such sums around a path often are not zero.
Old time seismologists would say, ``The survey lines don't tie.''
Mathematically,
it is like an electric field vector that may be derived
from a potential field
unless the loop encloses a changing magnetic field.
We would like a solution for
that gives the best fit of all the data
(the stepouts
and
)
in a volume.
Given a volume of data
, we seek
the best
such that
is flattened. Let us get it.
We write a regression, a residual that
we minimize to find a best fitting
or maybe
.
Let
be the measurements in the vector in equation (82),
the measurements throughout the
-volume.
Expressed as a regression, equation (82) becomes:
![]() |
(83) |
![]() |
---|
chev
Figure 9. [Jesse Lomask] Chevron data cube from the Gulf of Mexico. Shown are three planes within the cube. A salt dome (lower right corner in the top plane) has pushed upward, dragging bedding planes (seen in the bottom two orthogonal planes) along with it. |
![]() ![]() ![]() |
for (i2=0; i2 < n2-1; i2++) { for (i1=0; i1 < n1-1; i1++) { i = i1+i2*n1; if (adj) { p[i+1] += r[i]; p[i+n1] += r[i+n12]; p[i] -= (r[i] + r[i+n12]); } else { r[i] += (p[i+1] - p[i]); r[i+n12] += (p[i+n1] - p[i]); } } } |
do iy=1,ny { # Calculate x-direction dips: px call puck2d(dat(:,:,iy),coh_x,px,res_x,boxsz,nt,nx) } do ix=1,nx { # Calculate y-direction dips: py call puck2d(dat(:,ix,:),coh_y,py,res_y,boxsz,nt,ny) } do it=1,nt { # Integrate dips: tau call dipinteg(px(it,:,:),py(it,:,:),tau,niter,verb,nx,ny) }The code says first to initialize the gradient operator. Convert the 2-D plane of
![]() |
![]() |
![]() |
![]() | Model fitting by least squares | ![]() |
![]() |