1樓:楊好巨蟹座
可以通過find函式來搞定。
可以通過importdata('data.txt')將資料檔案data.txt匯入陣列a中。
a=importdata('data.txt')然後通過命令
z=find(~isnan(a))
將a陣列中nan所在的編號給找出來;
b=a(z)
就可以將a中所有的nan值剔除掉了,如果希望得到非nan值的編號,那麼z就是了!
如果只求將a中nan值去掉,那麼b=a(~isnan(a))就可以搞定!
當然,此方法也可以將陣列中某個數替換或者剔除。
比如我們有個陣列
a=[1,2;0,3]
希望將陣列a中的0給找出並剔除掉。
z=find(a==0);
a(z)=;
2樓:有空飄過的
你的資料,應該是length(part)的結果全部是3你是要把part內有nan的數去掉,然後length(part)的結果變為非nan的數的個數嗎?
如果是,可以這樣
for ii = 1:size(part, 1)temp = part;
part = temp(~isnan(temp));end
3樓:
a=a(1-find(a==nan));
matlab 與nan有關的矩陣
4樓:匿名使用者
假設你的資料存在矩陣a中
矩陣a中nan的個數可以用
numel(find(isnan(a)))或者numel(a(isnan(a)))
求得1、m檔案最頂端加clear或者主程式裡執行之前先clear2、這種錯誤一般不會是因為sum引起的,估計是生成矩陣過程中運算有誤。可以檢查一下基本運算是不是都有意義,比如根號和對數下有沒有負值,有沒有除0等等
5樓:電燈劍客
試試dmat = zeros(3,4)*nan
matlab刪除資料矩陣中全為nan的行和列
6樓:
兩種方法:
1,將所有要刪除的行標順序排列成向量v,然後用命令"矩陣變數名"(v,:)=;%可刪除與"矩陣變數名"對應的矩陣中的指定行(通過v指定),並改變原矩陣維數
2,將所有要保留的行標順序排列成向量v,然後用命令"矩陣變數名"="矩陣變數名"(v,:);%即將與"矩陣變數名"對應的矩陣中的指定行(通過v指定)重新賦給該變數
刪除列類似.
matlab中如何刪除矩陣中特定的幾個元素?
7樓:愛吃貓的__魚
a=[1 2 3 4 5 4 3 2 1];
a(3)=;
a=[1 2 3 4 5 4 3 2 1];
a(a==3)=;
我不知道你說的是哪種情況,第一個是把指定位置的元素刪掉,第二個是把指定大小的元素刪掉!
locate=find(a>122) %a是儲存資料的陣列名,find是找到大於122的數的位置
a(locate)=; %刪除陣列a中大於122的元素
matlab怎麼去除剔除矩陣中的nan
8樓:匿名使用者
isnan函式可以找到矩陣中nan的位置,定位好nan的位置後直接對其進行賦值就可以了(不可賦空值)。
例:a=[1,nan;3,4];
ind_nan=isnan(a);
a(ind_nan)=2;
我怎麼才能將矩陣中的nan去掉 用matlab?
9樓:匿名使用者
>> a = [1 nan 2];
>> b = find(~isnan(a));
>> res = a(b)
matlab 怎麼把矩陣中所有nan去掉
10樓:匿名使用者
這個問題問的有點問題。如果是一維的,a(a==0)=就能解決問題如果是多維的,a(a==0)=會把a變成一維的,然後結果類似於上面的結果。原因是每行每列中的0的個數不同,無法保持多維的樣子,只能拉長了當成一維處理。
a=4442240322212433054410014>>a(a==0)=a=columns1through2044231414325224412234column214
matlab中矩陣如何求所有元素的和
可先求bai列和,然後將列和組成的向量du轉置,最後再對zhi轉置後的向dao量求列和。例對矩陣a求所專有元素 屬的和,可 sum sum a 例 a 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 sum sum a ans 136matlab中小數取整的函式大約有四...
matlab矩陣求平均值,在matlab中 怎麼計算平均值
用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 0.9264 0...
在matlab中如何將矩陣進行全排列
舉例 a randn 4,3 a a a sort a a reshape a,4,3 a magic 5 a為資料矩陣,你改你的資料即可。n numel a a ceil rand 1 n 在matlab中 如何進行全排列 a perms 1 2 3 4 5 0 0 a1 find a 1 0 a...