0
我如何用0替換小於0.5的可變數據中的每個元素。在Matlab中替換變量的元素
我試過這個,但它不工作。
rng(110)
data= rand(1, 1e8);
tstart = tic;
count = (data<0.5);
replace = replacedata(data,count,0);
telapsed = toc(tstart);
我如何用0替換小於0.5的可變數據中的每個元素。在Matlab中替換變量的元素
我試過這個,但它不工作。
rng(110)
data= rand(1, 1e8);
tstart = tic;
count = (data<0.5);
replace = replacedata(data,count,0);
telapsed = toc(tstart);
是什麼?replacedata
這是使用邏輯索引像這樣很基本的MATLAB:
data(data < 0.5) = 0
或者:
replace = data.*(data < 0.5) %// This only works because you are replacing the value with 0 as Matlab automatically casts logical matrices to doubles when using arithmetic.
方法replacedata
是dataset
變量。您的data
矩陣是使用rand
創建的標準Matlab矩陣。因此replacedata
函數不能與它一起使用。
它可以創建使用mat2dataset
您的矩陣dataset
類型的變量,但丹他的回答解釋說,這是簡單的使用邏輯索引。