matlab如何刪除矩陣中的NaN值

2022-09-24 13:20:19 字數 2252 閱讀 1677

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...