function avg = MovingAvgFilter(x)
persistent prevAvg n xbuf
persistent firstRun
if isempty(firstRun)
n =10;
xbuf=x*ones(n+1,1);
k=1;
prevAvg=1;
firstRun=1;
end
for m = 1:n
xbuf(m) = xbuf(m+1);
end
xbuf(n+1) = x;
avg = prevAvg + (x-xbuf(1))/n;
prevAvg = avg;
이 매트랩 코드를 C#으로 옮겨야 하는데
private void MovingAvgFilter(int val)
{
int x;
int prevAvg;
int n = 10;
int firstRun = 1;
int[] xbuf = Enumerable.Repeat(1, 10).ToArray();//크기가 10이고 배열 전체를 1로 초기화한 배열
if (firstRun == 0)
{
n = 10;
xbuf = x * xbuf[];(오류 생김,,)
firstRun = 1;
}
for (int i = 0; i
{
}
}
}
현재 작업부
x 같은거 선언도 안되 있고 ones(n+1,1) 이게 모든 행과 열의 값이 1이고 행이 n+1이고 열이 1인 행렬을 생성 하는거고
x라는 변수를 행렬에다가 곱하는데 C#에서는 안된다.. 뭐 같다 이거 도대체 어케 옮기냐..ㅠㅠ
댓글 0