1樓:上海皮皮龜
例如a為矩陣,b=a' %將a轉置,改為求b每列非零的個數。
b=(b>0|b<0) %將b中元素不等於0的記為1,等於0的記為0
c=sum(b) %將b按列求和, c各分量就是a對應行中非零元素的個數。
如何用matlab求非零元素個數?
2樓:網友
1、開啟matlab,命令列視窗輸入x=[0 1 3 4;9 0 3 7],建立乙個x陣列,如下圖所示。
2、輸入a=(x~=0)進行比較各個元素是否為0,如下圖所示。
3、按回車鍵之後,可以看到x陣列各個元素是否為0,為0就顯示為0,不是就顯示為1,如下圖所示。
4、輸入sum(a(:)求x陣列的非零元素的個數,如下圖所示。
5、輸入 nonzeros(x),可以求x陣列的非零元素是哪些元素。
如何用matlab求矩陣中每行非零元素的平均值?
3樓:小魚教育
考慮到矩陣數量較多,用元胞陣列處理較有通用性。
matlab和mathematica、maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指。行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等。
matlab的基本資料單位是矩陣。
它的指令表示式與數學、工程中常用的形式十分相似,故用matlab來解算問題要比用c,fortran等語言完成相同的事情簡捷得多,並且matlab也吸收了像maple等軟體的優點,使matlab成為乙個強大的數學軟體。
4樓:閒庭信步
matlab求矩陣a的行平均值可以用兩種方法。
1、將矩陣a轉置,用mean求a'的列平均值,再轉置回去。
2、直接用mean(a,2)求a的列平均值。
注:matlab中,用mean(a,1)是求列平均值,用mean(a,2)是求矩陣的行平均值。
matlab計算乙個矩陣非0行/列的總數
5樓:新科技
需求如題,操作如下。
思路:只有該行/列有乙個非0元素,這行/列就算!
函式:any
函式說明:當向量中的元素有非零元素時返回值為1!
非0行總數:sum( any(a,2) )
非0列總數:sum( any(a,1) )
例項:結果:
matlab建立矩陣,r行n列的矩陣,有r行r列的子矩陣非零,其他元素均為零
6樓:騰訊電腦管家
可以運用ones函式。
ones函式是matlab裡的內建函式,可以建立乙個所有元素全為1的矩陣。
x = ones(n)產生乙個n*n的所有元素全為1的矩陣。
x = ones(m,n)產生乙個m*n的所有元素全為1的矩陣。
舉例:生成乙個4*4的所有元素都是1的矩陣。
向左轉|向右轉。
拓展:zeros函式可以建立乙個元素全為0的矩陣,用法和ones相同。
x = ones(n)產生乙個n*n的所有元素全為0的矩陣。
x = ones(m,n)產生乙個m*n的所有元素全為0的矩陣。
向左轉|向右轉。
eye函式可以建立對角線元素全為1的矩陣,即單位矩陣,用法和ones相同。
x = eye(n)產生乙個n*n的單位矩陣。
x = eye(m,n)產生乙個m*n的矩陣沿著對角線方向的元素均是1(從最左上角開始)。
matlab中怎樣計算矩陣中每個數的平方
使用點運算。如果原矩陣式a,可以使用a.a或者a.2matlab中點運算是對相同維數的矩陣的對應元回素進行相應的答運算。點乘,相同維數的矩陣的對應元素相乘。點乘冪,a.b相同維數的矩陣a元素的b對應元素次冪。a.n矩陣a中所有元素取n次冪。點左除,相同維數的矩陣的對應元素進行 運算。點右除,相同維數...
matlab 如何用max函式計算矩陣中某一行的最大值
命令 max z1 1,其中抄z1 1,中1表示 第1行,冒襲號 表示第1行所有元素bai。max求一個陣列的最du大元素函式。zhi用法c max a 返回一個陣列各不 dao同維中的最大元素。如果a是一個向量,max a 返回a中的最大元素。如果a是一個矩陣,max a 將a的每一列作為一個向量...
matlab中計算為什麼出現空矩陣
row,col find r 0 row,col是所有非零元素的橫座標 和縱座標 num size row,1 有多少個非回零元素for i 1 num r row i col i 1 非零元素置一答end matlab中if條件為一個矩陣是空矩陣該怎麼表示啊?if isempty a if ise...