saving indexs from matlab mfile

1 回表示 (過去 30 日間)
Mayank Lakhani
Mayank Lakhani 2016 年 3 月 15 日
回答済み: KSSV 2016 年 3 月 15 日
I have an m.file which calculates nearest distance. in the end i am getting one matrix with value. But i do not want values i want only index of this values. how to save it??
function [ res ] = GNN(Original_data, Measured_data, Gate)
res=nan(size(Original_data));
for iy = 1:size(Original_data,2)
localMeasured_data = Measured_data;
for ix = 1:size(Original_data,1)
localMeasured_data(ix,isnan(localMeasured_data(ix,:)))=0; %end;
less = find(localMeasured_data(ix,:) < (Original_data(ix,iy) - Gate));
more = find(localMeasured_data(ix,:) > (Original_data(ix,iy) + Gate));
if ~isempty(less)
localMeasured_data(ix,less) = NaN;
end
if ~isempty(more)
localMeasured_data(ix,more) = NaN;
end
[~,id]= min(abs(localMeasured_data(ix,:)-Original_data(ix,iy))); %%%i want to save this ids in a matrix
res(ix,iy) = localMeasured_data(ix,id);
end
end
end

採用された回答

KSSV
KSSV 2016 年 3 月 15 日
function [ res,iwant ] = GNN(Original_data, Measured_data, Gate)
res=nan(size(Original_data));
iwant = zeros(size(Original_data,1),1) ;
for iy = 1:size(Original_data,2)
localMeasured_data = Measured_data;
for ix = 1:size(Original_data,1)
localMeasured_data(ix,isnan(localMeasured_data(ix,:)))=0; %end;
less = find(localMeasured_data(ix,:) < (Original_data(ix,iy) - Gate));
more = find(localMeasured_data(ix,:) > (Original_data(ix,iy) + Gate));
if ~isempty(less)
localMeasured_data(ix,less) = NaN;
end
if ~isempty(more)
localMeasured_data(ix,more) = NaN;
end
[~,id]= min(abs(localMeasured_data(ix,:)-Original_data(ix,iy))); %%%i want to save this ids in a matrix
iwant(ix) = id ;
res(ix,iy) = localMeasured_data(ix,id);
end
end
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by