matlab向量中怎樣鎖定某數值的位置

2021-03-03 21:08:39 字數 4362 閱讀 5807

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