❶ matlab中想將某個矩陣中,全部為零的一行刪除,怎麼編程
python">clc
clear
A=rand(100,100);
A(15,:)=zeros(1,100);
A(20,:)=zeros(1,100);
A1=sum(abs(A'));
index=find(A1==0);
A(index,:)=[];
其實非常簡單,設A是這個矩陣,用sum求每一行的絕對值的和,如果為零說明這行全為零,找到那些行,從矩陣中去除即可
代碼中隨機生成了100*100的矩陣,其中15和20行設為全零,運行後可得到去除全零行的結果~
❷ 如何在矩陣中刪除一行
刪去A的第三行:(matlab)
A(3,:)=[]
❸ MATLAB編程怎樣去掉矩陣里的一行一列形成新矩陣
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
刪除行:
>> A(2,:)=[]
A =
1 2 3
7 8 9
刪除列:
>> A(:,2)=[]
A =
1 3
7 9
MATLAB的使用
在Matlab中可以對矩陣進行任意操作,包括改變它的形式,取出子矩陣,擴充矩陣,旋轉矩陣等.其中最重要的操作符為「:」, 它的作用是取出選定的行與列.
例如:
A(:,:) 代表A的所有元素;試比較A(:),將A按列的方向拉成長長的1列(向量);
A(:,J) 代表A的第J列;
A(J:K) 代表 A(J), A(J+1), …, A(K),如同A(:)的第J到第K個元素;
A(:,J:K) 代表A(:,J), A(:,J+1), …, A(:,K),如此類推.
對矩陣可以進行各種各樣的旋轉、變形、擴充:
矩陣的轉置用符號「 ' 」表示:
如A=[1 2 3; 4 5 6 ; 7 8 0]
那麼:計算B=A'
B =
1 4 7
2 5 8
3 6 0
符號「 ' 」為矩陣的轉置,如果Z為復矩陣,則Z'為它的復數共軛轉置,非共軛轉置使用Z.' 或conj(Z')求得.
❹ C++里用二維數組定義了一個矩陣如何去掉最中間某一列和最對應的那一行
假定原數組為a的行列數分別為m和n,先確定要刪除的行(r)和列(c),然後將r行c列以外的元素逐個賦值到另一數組(比如b):
r0=c0=0;
for(i=0;
i<m-1;
i++){
if(i==r)
r0=1;
for(j=0;
j<n-1;
j++){
if(j<c)
c0=0
else
c0=1;
b[i][j]=a[i+r0][j+c0];
}
}
❺ 為什麼矩陣對應兩行成比例可以消去一行
這就要看消去的目的是什麼了,沒有說明消去的目的就說「可以消去」是沒有意義的
❻ python怎麼把矩陣最後一行刪掉
python中可以使用np.delete(arr,obj,axis)函數來刪除矩陣的行或列。
arr:需要處理的矩陣
obj:在什麼位置處理
axis:可選參數,axis=None,0,1
axis=None:arr會先按行展開,然後按照obj,刪除第obj-1(從0開始)位置的數,返回一個行矩陣。
axis=0:arr按行刪除;
axis=1:arr按列刪除。
示例:
更多Python知識請關注Python視頻教程欄目。
❼ 求C++演算法,從一個二維矩陣中除去第n行第n行的演算法
給你個函數吧:
void f(int *a, int N, int n)
{
int i,j;
for(i=0; i<N; i++)
for(j=n-1; j<N-1; j++)
*(a+i*N+j) = *(a+i*N+j+1);
for(i=n-1; i<N-1; i++)
for(j=0; j<N; j++)
*(a+i*N+j) = *(a+(i+1)*N+j);
}
調用方法:
設
int x[100][100];
刪除第5行第5列
f(&x[0][0], 100, 5);
參考一下。
❽ 用C#如何消去矩陣的一行或一列
矩陣就是用數組表示的,刪除一行或者一列就是令數組的維數變少,在函數中,寫個for循環,然後後面的數值賦給前面的值即可。
❾ matlab刪除矩陣的一行的命令 比如第i行全是0,我就把第i行刪除~
如果A是一個矩陣,那麼刪除第i行:
A(i,:)=[ ];
即可
❿ 怎麼用MATLAB把對稱三角矩陣改成一行,去掉重復的,
主要兩種方法:
(1)利用冒號表達式獲得子矩陣
A =
1 2 3
4 5 6
7 8 9
>> B=A(1:2,2:3)
B =
2 3
5 6
(2)利用空矩陣
>> C=A;
>> C(:,[1])=[];
>> C([3],:)=[]
C =
2 3
5 6