国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Matlab 求二維矩陣的2個(gè)或者更多個(gè)峰值

這篇具有很好參考價(jià)值的文章主要介紹了Matlab 求二維矩陣的2個(gè)或者更多個(gè)峰值。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

matlab如何對(duì)矩陣尋峰,matlab,矩陣,算法

求一個(gè)峰值的方式我就不多說了,find函數(shù)就可解決,求兩個(gè)三個(gè)或者更多個(gè)該怎么解決?

首先介紹一個(gè)函數(shù)imregionalmax,具體用法大概就是這樣:

PeaksMap = imregionalmax(matrix);
surf(double(PeaksMap));

matrix是原始二維矩陣,由于PeaksMap是logical類型,需要先轉(zhuǎn)換為double

matlab如何對(duì)矩陣尋峰,matlab,矩陣,算法

它可以把原始矩陣中所有波峰置1,其余數(shù)置0

然后我們就可用find函數(shù)搜索這個(gè)圖中大小為1的值的位置

[maxRow,maxCol]=find(PeaksMap==1);

也就是所有波峰的位置信息就可以得到,再將位置信息帶入到矩陣matrix中,那么所有波峰的峰值也可以求出來

peaks=zeros(1,length(maxCol));
for ii=1:length(maxRow)
    peaks(ii)=matrix(maxRow(ii),maxCol(ii));
end

再對(duì)求出來的波峰值進(jìn)行降序排列

%升序排列
[peaks_sort,I] = sort(peaks);
%所有波峰降序排列
peaks_sort=fliplr(peaks_sort);

最后就能得到想要數(shù)量的波峰峰值以及其各自的位置信息

%找到需要的若干個(gè)波峰
peaks_num=2;%想搜索的波峰數(shù)目
maxRow1=zeros(1,peaks_num);
maxCol1=zeros(1,peaks_num);
findpeak=peaks_sort(1:peaks_num);
for jj=1:length(findpeak)
    [maxRow1(jj),maxCol1(jj)]=find(matrix==findpeak(jj));
end

以下是完整代碼,如果您覺得有幫助,可以幫忙點(diǎn)贊收藏!文章來源地址http://www.zghlxwxcb.cn/news/detail-785867.html

clc;clear;close all;
% 創(chuàng)建一個(gè)示例的二維矩陣
matrix = ...
    [0,0,0,0,0,0,0,0,0,0;
    0,0,5,0,0,0,0,0,0,0;
    0,0,0,0,0,0,0,0,0,0;
    0,0,0,0,0,0,6,0,0,0;
    0,0,0,0,0,0,0,0,0,0;
    0,0,0,7,0,0,0,0,0,0;
    0,0,0,0,0,0,0,0,0,0;
    0,0,0,0,0,0,0,9,0,0;
    0,0,11,0,0,0,0,0,0,0;
    0,0,0,0,0,0,0,0,0,0;
    ];
figure(1)
surf(matrix);%三維波束圖
PeaksMap = imregionalmax(matrix);%對(duì)所有波峰置1,其余數(shù)置0
figure(2)
surf(double(PeaksMap));%三維波束圖
%找到所有波峰的坐標(biāo)
[maxRow,maxCol]=find(PeaksMap==1);
%% 峰值排序
peaks=zeros(1,length(maxCol));
for ii=1:length(maxRow)
    peaks(ii)=matrix(maxRow(ii),maxCol(ii));
end
%升序排列
[peaks_sort,I] = sort(peaks);
%所有波峰降序排列
peaks_sort=fliplr(peaks_sort);
%找到需要的若干個(gè)波峰
peaks_num=2;%想搜索的波峰數(shù)目
maxRow1=zeros(1,peaks_num);
maxCol1=zeros(1,peaks_num);
findpeak=peaks_sort(1:peaks_num);
for jj=1:length(findpeak)
    [maxRow1(jj),maxCol1(jj)]=find(matrix==findpeak(jj));
end

到了這里,關(guān)于Matlab 求二維矩陣的2個(gè)或者更多個(gè)峰值的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【算法】在二維不單調(diào)的矩陣上二分查找——力扣1901. 尋找峰值 II

    1901. 尋找峰值 II 給定一個(gè)從0開始編號(hào)的m x n矩陣 mat ,其中任意兩個(gè)相鄰格子的值都不相同。峰值是指那些嚴(yán)格大于其相鄰格子(上、下、左、右)的元素。需要找出任意一個(gè)峰值 mat[i][j] 并返回其位置 [i, j] 。 示例 1: 示例 2: 步驟一:列轉(zhuǎn)行 首先,將矩陣的列轉(zhuǎn)換為行,表示為

    2024年02月03日
    瀏覽(22)
  • Fluent UDF中調(diào)用Matlab矩陣運(yùn)算函數(shù)(以二維插值為例)

    Fluent UDF中調(diào)用Matlab矩陣運(yùn)算函數(shù)(以二維插值為例)

    Fluent UDF中經(jīng)常需要用到一些常見算法,例如插值、擬合、矩陣運(yùn)算等等,這些在UDF中是沒有現(xiàn)成函數(shù)實(shí)現(xiàn)的,理論上需要我們自己去寫函數(shù)。另一方面我們又注意到這些運(yùn)算恰恰是Matlab的強(qiáng)項(xiàng),幾乎調(diào)用一個(gè)現(xiàn)成的函數(shù)就完成了目的。所以我們有什么辦法把Matlab函數(shù)給UDF直接

    2024年02月09日
    瀏覽(117)
  • MATLAB將二維數(shù)據(jù)生成一維是按列排序,矩陣操作筆記,附代碼

    MATLAB將二維數(shù)據(jù)生成一維是按列排序,矩陣操作筆記,附代碼

    matlab和Fortran二維數(shù)組按列優(yōu)先存儲(chǔ) 學(xué)習(xí)一定要敢想敢做!

    2024年02月07日
    瀏覽(15)
  • MATLAB中怎樣初始化(創(chuàng)建)二維、三維、四維以及多維矩陣,各維度的索引順序是怎樣的?

    MATLAB中怎樣初始化(創(chuàng)建)二維、三維、四維以及多維矩陣,各維度的索引順序是怎樣的?

    在MATLAB中初始化一個(gè)二維矩陣是很容易的,我們既可以直接把矩陣的元素值寫出,比如下面這樣: 也可以直接用函數(shù)ones()、zeros()、rand()等函數(shù)初始化一個(gè)全1或全0或均勻隨機(jī)分布等的矩陣,然后再對(duì)其中的元素進(jìn)行訪問賦值,比如下面這樣: 從上面的示例中我們可以看出,

    2024年01月17日
    瀏覽(15)
  • 基于matlab的高精度信號(hào)峰值檢測(cè)算法

    基于matlab的高精度信號(hào)峰值檢測(cè)算法

    目錄 1.算法描述 2.仿真效果預(yù)覽 3.MATLAB核心程序 4.完整MATLAB ? ? ? ?峰值檢驗(yàn)是示波表中數(shù)據(jù)采集方式之一, 這種技術(shù)起源于存儲(chǔ)深度不能滿足捕獲毛刺的需要。如果用模擬示波器去觀察, 只有當(dāng)毛刺信號(hào)是重復(fù)性的并且和主信號(hào)同步時(shí), 才能看到毛刺信號(hào)?。由于毛刺源于其

    2024年02月12日
    瀏覽(88)
  • Matlab如何打印矩陣

    Matlab如何打印矩陣 在Matlab中,要打印(輸出)矩陣,你可以使用disp函數(shù)或者直接在命令行中輸入矩陣名稱。下面我將詳細(xì)介紹這兩種方法。 使用disp函數(shù)打印矩陣: disp函數(shù)可以用于在命令窗口中顯示矩陣的內(nèi)容。你只需要在代碼中調(diào)用disp函數(shù)并傳入要打印的矩陣即可。以下

    2024年02月04日
    瀏覽(20)
  • 如何使用MATLAB生成隨機(jī)矩陣

    如何使用MATLAB生成隨機(jī)矩陣 MATLAB是一種強(qiáng)大的數(shù)值計(jì)算和科學(xué)編程軟件,它提供了許多功能強(qiáng)大的工具來生成和處理矩陣。在MATLAB中,要生成隨機(jī)矩陣,可以使用內(nèi)置的隨機(jī)數(shù)函數(shù)。本文將向您展示如何使用MATLAB生成隨機(jī)矩陣,并提供相應(yīng)的源代碼示例。 使用rand函數(shù)生成隨

    2024年02月08日
    瀏覽(19)
  • matlab如何刪除矩陣某行或列?

    matlab如何刪除矩陣某行或列?

    要?jiǎng)h除矩陣某一行或某一列,只需要將某一行或某一列賦予一個(gè)空矩陣即可。 例如: 先創(chuàng)建一個(gè)4*4矩陣:x=eye(4),得到 ?之后輸入: x(2,:)=[]后得到 ?能看出來第二行沒了。 如果是刪除第二列,就是x(:,2)=[] ?

    2024年02月11日
    瀏覽(23)
  • 【信號(hào)變化檢測(cè)】使用新穎的短時(shí)間條件局部峰值速率特征進(jìn)行信號(hào)變化/事件/異常檢測(cè)(Matlab代碼實(shí)現(xiàn))

    【信號(hào)變化檢測(cè)】使用新穎的短時(shí)間條件局部峰值速率特征進(jìn)行信號(hào)變化/事件/異常檢測(cè)(Matlab代碼實(shí)現(xiàn))

    ???????? 歡迎來到本博客 ???????? ??博主優(yōu)勢(shì): ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運(yùn)行結(jié)果 ??3?參考文獻(xiàn) ??4 Matlab代碼及文獻(xiàn) 文獻(xiàn)來

    2024年02月07日
    瀏覽(39)
  • Matlab錯(cuò)誤:表達(dá)式無效。請(qǐng)檢查缺失的乘法運(yùn)算符、缺失或不對(duì)稱的分隔符或者其他語法錯(cuò)誤。要構(gòu)造矩陣,請(qǐng)使用方括號(hào)而不是圓括號(hào)。

    Matlab錯(cuò)誤:表達(dá)式無效。請(qǐng)檢查缺失的乘法運(yùn)算符、缺失或不對(duì)稱的分隔符或者其他語法錯(cuò)誤。要構(gòu)造矩陣,請(qǐng)使用方括號(hào)而不是圓括號(hào)。

    錯(cuò)誤:表達(dá)式無效。請(qǐng)檢查缺失的乘法運(yùn)算符、缺失或不對(duì)稱的分隔符或者其他語法錯(cuò)誤。要構(gòu)造矩陣,請(qǐng)使用方括號(hào)而不是圓括號(hào)。 原因:選中了matlab右側(cè)工作區(qū)的變量空間,叉掉去即可。 ?

    2024年02月16日
    瀏覽(80)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包