Я предполагаю, что вы ссылаетесь на следующую часть кода, который вы разместили:
t(i,j)=mean(t((i+1):(i+k),j))
То, что делает эта строка, это брать среднее значение t(i+1, j), t(i+2, j) , ..., t(i+k,j)
.
Если вы хотите вместо этого взять среднее из верхней и нижней строк, вы можете сделать что-то вроде этого (предполагая, что k
- это четное число, подобное четырем):
t(i,j)=mean([t((i-k/2):(i-1),j), t((i+1):(i+k/2),j)])
вместо этого. Однако это приведет к перезаписи записей t
, которые позже будут использоваться при получении среднего значения других значений, поэтому сначала вам нужно будет сделать копию t
:
t_copy = t
a=size(t,1)
b=size(t,2)
for j=1:b
for i=1:a
...
t(i,j)=mean([t_copy((i-k/2):(i-1),j), t_copy((i+1):(i+k/2),j)])
end
end