?? minvar.m
字號:
%minvar.m
%函數功能:已知n個數據中挑選出方差最小的k個數據
%x是一個向量,k是小于等于向量x長度的正標量
%返回值是y是x中反差最小的k個數據,i是y的元素在x向量中的下標
function [y,i]=minvar(x,k)
if(isvector(x)==0), %輸入數據檢查
disp('輸入數據x必須是向量!');
return;
end;
if(isscalar(k)==0)
disp('輸入數據k必須是標量!');
return;
end;
if(k<=0||k>length(x)),
disp('輸入數據k必須是是小于等于向量x長度的正標量!');
return;
end;
k=floor(k); %把k截斷為整數
[x_sort index]=sort(x); %對數據x排序
n=length(x); %數據x的長度
for i=1:(n-k+1), %對排好序的數據求所有相鄰k個值
std_x_sort(i)=std(x_sort(i:(i+k-1))); %的標準方差
end;
[min_std_x_sort j] = min(std_x_sort); %求最小的相鄰k個值的標準方差和下標
i=index(j:(j+k-1)); %求最小標準方差的相鄰k個值在向量x
%中的方差
y=x(i); %求最小標準方差的k個值
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -