검색결과 리스트
글
matlab interp
요즘은 그래도 쫌 널널하니까 야아깐
최근 가장많이 한게 labview 와 matlab 이다.
가장 헷깔리는걸 기록하자면
matlab에서 좌표는
요거란 거다
meshgrid를 쓰면 저거의 반대지만
이경우를 제외한 나머지는 저런듯.....
그래서 [y,x,z]=meshgrid(y,x,z) 이렇게 적거나
귀찮으면 [x,y,z]=ndgrid(x,y,z) 이렇게 하여 mesh form의 grid를 형성해 준다.
난 주로 curve fitting 의 용도로 interp3, inter2, inter1 을 사용하였는데
이상한 오류가 나는 바람에 딴걸 알아보다 보니까.. 응 더 좋은걸 오늘 알게 되었다.
그 두개가 triscatteredinterp 와 griddata 다 griddata 얘는 griddata3로 하면 3D도 되네?? 근데 뭐 어쩄든 얘들 좋은점이 Non uniformly spaced sample들로 fitting 할수 있다는거
근데 griddata 얘는 쓰기 싫은게 linear 하고 nearest 밖에 안되여.... triscatteredinterp 는 fitting 된 function을 생성해주고 얘는 보니까 column vector 형태로 in 을 넣어죠야 되더라..... 자세한건 검색요........
Create a data set:
x = rand(100,1)*4-2; y = rand(100,1)*4-2; z = x.*exp(-x.^2-y.^2);
Construct the interpolant:
F = TriScatteredInterp(x,y,z);
Evaluate the interpolant at the locations (qx, qy). The corresponding value at these locations is qz .
ti = -2:.25:2; [qx,qy] = meshgrid(ti,ti); qz = F(qx,qy); mesh(qx,qy,qz);
Data gridding and hypersurface fitting for 3-D data
Syntax
Description
w = griddata3(x, y, z, v, xi, yi, zi)
fits a hypersurface of the form to the data in the (usually) nonuniformly spaced vectors (x
, y
, z
, v
). griddata3
interpolates this hypersurface at the points specified by (xi
,yi
,zi
) to produce w
. w
is the same size as xi
, yi
, and zi
.
Examples
Example 1
Interpolate the peaks function over a finer grid.
[X,Y] = meshgrid(-3:.25:3); Z = peaks(X,Y); [XI,YI] = meshgrid(-3:.125:3); ZI = interp2(X,Y,Z,XI,YI); mesh(X,Y,Z), hold, mesh(XI,YI,ZI+15)
Examples
To generate a coarse approximation of flow and interpolate over a finer mesh:
[x,y,z,v] = flow(10); [xi,yi,zi] = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3); vi = interp3(x,y,z,v,xi,yi,zi); % vi is 25-by-40-by-25slice(xi,yi,zi,vi,[6 9.5],2,[-2 .2]), shading flat
참고로... extrapolation은 spline 밖에 안되더라 그래
마지막으로 몇개의 데이터로 3D Interpolation 한 결과 ㅋㅋ
나중에 보면 기억날진 모르지만 스토리는 대략
1. Vin 별 데이터를 받아서 downsample 을 Vout 방향으로 0.5 간격으로 해주어서 자료를 줄인후에 나온 자료들 가지고 interp3 하거나
2. 저 위에껀 있는 그래프의 결과인... 그래 일단 측정한 자료의 값들을 column vector로 쫙 뽑아내서 triscatteredinterp 를 통과시켜주어서 함수를 뽑아낸 다음 그린다!
간단하네 뭐.. ㅋㅋ
'Learning stuff' 카테고리의 다른 글
오프컬렉터 (0) | 2012.08.03 |
---|---|
labview (0) | 2012.07.27 |
Converters (0) | 2012.04.12 |
OP AMP의 기본동작 (1) | 2012.04.11 |
Open collector, Open drain (0) | 2012.04.11 |