matlab中如何給矩陣中的某幾個特定位置賦值

2021-03-19 18:36:42 字數 1939 閱讀 5394

1樓:大野瘦子

用sub2ind

>> a=zeros(5); i = [2;3;4]; j = [1;4;2];

>> a(sub2ind(size(a), i, j))=1

a =0 0 0 0 0

1 0 0 0 0

0 0 0 1 0

0 1 0 0 0

0 0 0 0 0

注意事項

matlab書寫表示式的規則與「手寫算式」差不多相同。

如果一個指令過長可以在結尾加上...(代表此行指 令與下一行連續),例如

?3*...

6ans =

18在matlab中,可通過如下方式給矩陣賦值:

a = zeros(3,4);   % 初始化一個3*4的矩陣

>>a =

0 0 0 0

0 0 0 0

0 0 0 0

a(1,2) = 5;   % 將矩陣a的第1行第2列個元素賦值為5>>a =

0 5 0 0

0 0 0 0

0 0 0 0 a(2) = 6;   % 將矩陣a的第2個元素(按列開始計算)賦值為6

>>a =

0 5 0 0

6 0 0 0

0 0 0 0 a(3,:) = [1 2 3 4];   % 將矩陣a的第3行賦值為[1 2 3 4]

>>a =

0 5 0 0

6 0 0 0

1 2 3 4

2樓:du瓶邪

比如:k1=[1,2;3,4];

k=zeros(4);

把k1的值賦在k的特定位置後,獲得

k=[0,1,0,2;

0,0,0,0;

0,3,0,4;

0,0,0,0;]

k([1 3],[2 4]) = k1

3樓:匿名使用者

mark一下,等答案

4樓:

直接賦值不行嗎?

a(2,1)=1;a(3,4)=1;a(4,2)=1;

5樓:匿名使用者

a(size(a,1)*(j-1)+i)=1

6樓:匿名使用者

為什麼不能用for。。。。。

鑽在這種無關痛癢的小技巧上有什麼意思啊。。。。

利用matlab對矩陣的特定位置賦值? 5

7樓:匿名使用者

>> a =修復(10 *蘭特(1,10)+5);%隨機生成一個1x10向量

>> a(1:2:10)= 0;%令奇位是0

>> a(查詢(a == 0))= ;%找到一個位置0,並使其空,即刪除

8樓:

將某bai

些元素從矩陣中du

刪除,採用將其置為空矩陣zhi即可。如a=[1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 1617 18];a=(:,[2 4])=第二條

dao命令將刪除a的第回2列和第4列元素。答

matlab 中如何一個矩陣中查詢幾個元素的位置,比如元素為2 5兩值的位置

9樓:小豬g呼嚕

find這個函式是尋找某bai個du矩陣,例如a,其中滿足zhi某個條件的元素的位dao置。你用find(max(r))時,先計專

算max(r),這時僅為一屬個數,無判別條件,當非零時顯示1,為零時,是空.你要用find找最小值在陣列中的位置:find(r==min(r))

所以2的位置find(a==2) 5的位置find(a==5)

10樓:匿名使用者

設矩陣為a,則用

find(a==2&a==5)可查到

matlab中如何分別畫矩陣中的每列元素的影象

1 首先需要來知道求一個矩陣不同元素自個數,需要用到baiunique函式,du在命令列視窗中輸入 zhihelp unique 可以看到unique函式用法dao。2 輸入a 1 3 3 5 6 7 8 8 3 5 6 9 按回車鍵之後,建立一個3行4列的矩陣。3 輸入unique a 求a矩陣不...

matlab 如何去掉矩陣中的全0行

具體操作步驟如下 1 首先,來了解下以下兩個函式,可以使用這兩個函式來進行刪除所有零行或全部列的操作。如下圖所示,然後進入下一步。2 其次,建立一個a 1,2,4 0,0,0 1,3,5 0,0,0 矩陣,可以看到此矩陣中有兩行是全0行,如下圖所示,然後進入下一步。3 接著,鍵入all a 0,2 ...

matlab如何找出矩陣中的前n個最小項所在的位置

clear clc a rand 10 隨機生成一個矩陣,自己改t sort a m,n find a t 20 20 t m,n 前20個最小項在矩陣a中的位置 行,列 subarray a 1 20 minvalue,index min subarray index就是你想要的了。用matlab...