matlab 處理自變量x的范圍
中文大意是這樣的:有一個(gè)數(shù)值矩陣的表格,假設(shè)有1000行,每一行的第3列的數(shù)從上到下是按順序從小到大排列的。從0開始到一個(gè)比較大的數(shù)。
a = importdata('data.mat');
c = a;
我定義了一個(gè)自變量x:
x = 1/3:1e-4:1000/3;
我想取所有a即data.mat里面的第三列的數(shù)在x-25到x+25之間的所有行,因?yàn)檫@個(gè)數(shù)據(jù)行文件是跟著x在變的,
b1 = x+25;
if x<=25
b = c(c(:,3)<b1,;
else
b2 = x-25;
b = c(c(:,3)>b2,;
b = b(b(:,3)<b1,;
end
這樣提示“變量‘x’可能是由非標(biāo)量運(yùn)算符設(shè)置的”,同時(shí)我感覺b = c(c(:,3)<b1,;和b = c(c(:,3)>b2,; b = b(b(:,3)<b1,;這樣寫也是不對(duì)的,求大神指點(diǎn),感謝!
返回小木蟲查看更多
今日熱帖
京公網(wǎng)安備 11010802022153號(hào)
很顯然的你X是一個(gè)矩陣嘛,你自己在前面已經(jīng)定義了,這個(gè)問題要用矩陣法就得先把位置找出來,不然就用循環(huán)解決。如果有用,麻煩關(guān)注一下matlab愛好者,謝謝
你好,很感謝回復(fù),我的數(shù)據(jù)文件很大,好幾百萬行,我后面都要用到該范圍內(nèi)的數(shù)據(jù)計(jì)算,我知道有種表示方法就是a()來表示,但是如果就是要篩選出來與x的值相關(guān)的x-25到x+25之間的值,有沒有好的表示方法,能給個(gè)建議或者您給指點(diǎn)一下,用一個(gè)語句,我剛學(xué)matlab,小菜一枚,很是無助,感謝,期待您的回復(fù)
,
b=a(a(:,3)>x-25 & a(a(:,3)<x+25), : )