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