1樓:匿名使用者
用find函式,可以給出該值在這個向量中的位置
matlab中如何給一個矩陣中的某幾個特定位置賦值
2樓:大野瘦子
用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
3樓: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
4樓:匿名使用者
mark一下,等答案
5樓:
直接賦值不行嗎?
a(2,1)=1;a(3,4)=1;a(4,2)=1;
6樓:匿名使用者
a(size(a,1)*(j-1)+i)=1
7樓:匿名使用者
為什麼不能用for。。。。。
鑽在這種無關痛癢的小技巧上有什麼意思啊。。。。
matlab陣列中如何找某個值的座標
8樓:灩麗
1、首先需要知道matlab陣列找某個值的座標,是使用find函式,可以在命令列視窗中輸入help find。
2、在matlab命令列視窗中輸入a=[1 4 5;6 7 8;7 9 12],建立a陣列。
3、輸入[m,n]=find(a==9),找到a陣列等於9的座標。
4、按回車鍵之後,可以看到a陣列等於9的座標有一個,是第3行第2列。
5、如果等於的值有多個,會返回多個座標位置。
9樓:匿名使用者
1、實現方法
使用find()函式:[m,n]=find(a==x)2、解析
a==x:將矩陣a的每個元素與x比較,如果相等,相應位置的元素就等於1,否則為0。
find(x):返回x中非零元素的索引(即行列位置)。
3、例項演示:找出矩陣a中所有等於3的元素的行列位置開啟matlab,在命令視窗執行如下**:
>> a=[1 2 3 4 5;6 7 3 1 2]>> [m,n]=find(a==3)
從執行結果可知,找到a中元素3的位置為:第1行第3列 和 第2行第3列。
10樓:mcr董事長
>> a=[1 2 3 4 5;6 7 3 1 2];
>> [m,n]=find(a==3)
m =1
2n =33
>>
11樓:兔子和小強
find(a == 3)
matlab中,怎麼找出一組資料中靠近某個值的所有點,並輸出位置 5
12樓:59分粑粑
實現的方法和詳細的操作步驟如下:
1、第一步,需要知道matlab陣列找到所有接近某個值的點的座標是使用「find」函式,可以在命令列視窗中輸入「help find」,如下圖所示,然後進入下一步。
2、其次,完成上述步驟後,輸入「a =[1 4 5;6 7 8;7 9 12]」,在matlab命令列視窗中建立副本陣列,如下圖所示,然後進入下一步。
3、接著,完成上述步驟後,輸入「[m,n] =find(a == 9)」並找到等於9的陣列的座標,如下圖所示,然後進入下一步。
4、然後,完成上述步驟後,按enter鍵確認,可以看到陣列中有一個座標等於9,即第三行和第二列,如下圖所示,然後進入下一步。
5、最後,完成上述步驟後,如果有多個具有相同的值,將返回相應的多個座標位置,如下圖所示。這樣,問題就解決了。
13樓:智慧小白菜
1、首先需要知道matlab陣列找靠近某個值的所有點座標,是使用find函式,可以在命令列視窗中輸入help find。
2、在matlab命令列視窗中輸入a=[1 4 5;6 7 8;7 9 12],建立a陣列。
3、輸入[m,n]=find(a==9),找到a陣列等於9的座標。
4、按回車鍵之後,可以看到a陣列等於9的座標有一個,是第3行第2列。
5、如果等於的值有多個,會返回多個座標位置。
14樓:匿名使用者
a=[1, 3,4
4,5,3];
b=find(a>2&a<5);
b =235
6b代表所需資料的下標,a的元素自上而下自左向右排列
15樓:匿名使用者
假設你的資料存在一個矩陣h中[~, i]=min(abs(h(:)-0.0054))i是最接近0.0054的列索引位置。最近的值為y=h(i)
matlab 怎麼能把矩陣裡不等於某個特定值的index找出來?
16樓:電燈劍客
矩陣本身也可以看bai成一維向量(因為
du實際存zhi貯的時候不論多少維的稠dao密張量都是專按一維來存的屬), 所以可以直接用諸如
a(index)=0
b(index)=1
b(a~=1)=2
這樣的操作
如果你一定想把index搞成矩陣的形式, 那麼把find去掉, 直接用index=(a~=1)
17樓:匿名使用者
a=[2, 2, 2, 1, 1 ; 2, 2, 1, 1, 1 ; 2, 1, 1, 1, 1] ;
b=[1, 2, 3, 4, 5 ; 2, 3, 4, 5, 6 ; 3, 4, 5, 6, 7] ;
index=find(a~=1);
len=length(index);
z=zeros(1,len);
for i=1:len
z(i)=b(index(i));
end得到bai的z裡面儲存的就是dua作為索zhi引的b裡面的數,不dao知道是專不是你說的意思屬
matlab如何使矩陣中大於某值的元素置零
18樓:匿名使用者
1、思路:
使用布林陣列引用矩陣中所有大於某值的元素,然後將其賦值為0。
2、**:
a(a>10) = 0; % 將矩陣a中大於10的元素設定為0。
3、示例:
19樓:子衿悠你心
舉個例子,如複果需要將a矩陣中大制於a的元素置零,那麼在matlab中可以這麼輸入:
方法一:a(find(a>a))=0;
方法二:a(a>a)=0;
通過這個**即可實現目標。
例項:將3*3的隨機矩陣a中大於0.5的數置零。
20樓:匿名使用者
比如把一個n階矩陣k中的所有小於255的數置零.而大於255的數置512?
21樓:匿名使用者
比如要將矩陣a元素大於7的置為0,則可以這樣:
b=find(a>7);%找出大於7的位置
a(b)=0; %將大於7的位置置為0
22樓:匿名使用者
比如矩陣為a,使用a(a>=512)=0
excel如何鎖定,怎樣excel某計算公式中鎖定其中數
以2007版excel為例,我們要鎖定單元格c10的數值來計算每個模型的數量佔比,即用每個模型數量 總的模型量 即c10 1 在d2單元格輸入公式 c2 c10,計算moxing1的數量佔比,如下圖所示。2 公式輸入完成按回車鍵返回計算結果,如下圖所示。3 將滑鼠移動到d2單元格右下角,當游標呈 字...
matlab中如何利用向量作為矩陣索引訪問相應元素
n維矩陣有兩個下標,n維向量只能提供一個下標。當然你可以採用單下標訪問方式。比如a a 顯示的結果是a矩陣的第1,3,4 個元素 而a 1,a 顯示的是a 1,1 a 1,3 a 1,4 的結果。matlab中陣列元素引用有三種方法 1.下標法 subscripts 2.索引法 index 3.布林...
matlab中,如何向向量中寫入字串?並且這個向量可以
還在弄這個問題呢,我試了cell型別好像不需要預先指定大小啊for i 1 n str filename i name end matlab如何將一個向量賦給一個字串 用來替換向量的名字 舉個例子 b rand 1,110 for i 1 11 eval sprintf x 03d b d d i,...