MATLAB|繪圖輔助工具箱tools使用說(shuō)明


1. 引言

針對(duì)特定的研究目標(biāo)相應(yīng)的MATLAB程序中存在大量的重復(fù)模塊,為了提高工作效率和程序的復(fù)用性,將本人經(jīng)常使用的MATLAB程序模塊重組設(shè)計(jì)成繪圖輔助工具箱。

2. 功能簡(jiǎn)介

3. 標(biāo)準(zhǔn)參數(shù)對(duì)話框

3.1 問(wèn)題描述

MATLAB除了數(shù)值計(jì)算代碼的編寫(xiě),我們往往修改輸入?yún)?shù),作為研究變量。如果直接在代碼腳本中修改有兩個(gè)問(wèn)題:

  • 修改不便,必須進(jìn)入代碼內(nèi)部,找出相關(guān)變量;
  • 不熟悉程序的人有可能將程序修改錯(cuò)誤,得到錯(cuò)誤的結(jié)果。

解決這一問(wèn)題的一種方案是:采用參數(shù)對(duì)話框輸入。但是,MATLAB自帶的inputdlg函數(shù)功能有限,調(diào)用較為麻煩,因此在此基礎(chǔ)上訂制開(kāi)發(fā)了paradlg。

3.2 功能要點(diǎn)

該函數(shù)的功能要點(diǎn)為:

  • 創(chuàng)建標(biāo)準(zhǔn)化對(duì)話框
  • 支持多種數(shù)據(jù)格式:標(biāo)量、向量、字符串,自動(dòng)判別
  • 記憶上次輸入?yún)?shù)

函數(shù)說(shuō)明如下:

function para = paradlg(prompt0,dlg0,isShow)
% 題目:標(biāo)準(zhǔn)化對(duì)話框創(chuàng)建程序
% 輸入:
%       prompt0     -- 提示語(yǔ)以及默認(rèn)參數(shù),n*2
%       dlg0        -- 可選定制化參數(shù)
%           .width  -- 對(duì)話框?qū)挾?%           .title  -- 標(biāo)題
%           .save   -- data_dlg后綴名
%       isShow      -- 是否彈出對(duì)話框,
% 輸出:
%       para        -- 對(duì)話框輸入?yún)?shù),默認(rèn)彈出,若isShow=0,則不彈出,數(shù)值取上次默認(rèn)值
% 功能:
%       創(chuàng)建標(biāo)準(zhǔn)化參數(shù)輸入對(duì)話框
%       支持 標(biāo)量、向量、字符串
%       導(dǎo)出輸入?yún)?shù)
%       記憶上次輸入

3.3 基本調(diào)用方法

  • 構(gòu)造prompt0數(shù)據(jù),第一列為輸入提示,第二列為默認(rèn)參數(shù);

  • 支持三類數(shù)據(jù)輸入,標(biāo)量、向量、字符串;

  • 調(diào)用paradlg函數(shù),返回輸入的數(shù)據(jù)集para;

  • para中的元素依次賦值給目標(biāo)的變量f_center,filename_pub,dt,f_range;

  • 調(diào)用代碼示例

prompt0 = {                                                         % 對(duì)話框參數(shù)
    '發(fā)射信號(hào)中心頻率(kHz)', 100
    '發(fā)射信號(hào)中心頻率(kHz)','B1_C1_F'
    '采樣周期dt (e-9 s)',16
    '繪圖頻譜范圍(kHz)',[0 20]
};

para = paradlg(prompt0);

f_center = para{1};                                                 % 發(fā)射信號(hào)中心頻率(kHz)
filename_pub = para{2};                                             % 輸出報(bào)告文件名
dt = para{3};                                                       % 采樣周期
f_range =para{4};
  • 對(duì)話框


    paradlg.jpg-25.5kB
  • 參數(shù)讀取結(jié)果
para = 
    [       100]
    'B1_C1_F'   
    [        16]
    [1x2 double]
mark

3.4 高級(jí)調(diào)用功能

如需控制對(duì)話框的寬度標(biāo)題,則在函數(shù)paradlg中輸入第二個(gè)變量dlg0。

%       dlg0.width -- 對(duì)話框?qū)挾?%       dlg0.title -- 對(duì)話框標(biāo)題
%       dlg0.save  -- data_dlg后綴名
  • 調(diào)用代碼
prompt0 = {                                                         % 對(duì)話框參數(shù)
    '發(fā)射信號(hào)中心頻率(kHz)', []
    '發(fā)射信號(hào)中心頻率(kHz)','B1_C1_F'
    '采樣周期dt (e-9 s)',16
    '繪圖頻譜范圍(kHz)',[0 20]
};

dlg0.width = 100;
dlg0.title = '信號(hào)譜分析參數(shù)輸入';
dlg0.save  = 'freqpara';

para = tools.paradlg(prompt0,dlg0);

f_center = para{1};                                                 % 發(fā)射信號(hào)中心頻率(kHz)
filename_pub = para{2};                                             % 輸出報(bào)告文件名
dt = para{3};                                                       % 采樣周期
f_range =para{4};    
  • 對(duì)話框效果


    mark

對(duì)于同一個(gè)程序,如果多次參數(shù)沒(méi)有改變,可以讓對(duì)話框不彈出:

para = tools.paradlg(prompt0,dlg0,0);

在不彈出對(duì)話框的情況下,直接載入上次設(shè)定的參數(shù)。

4. 文件讀取模塊

筆者自定義的文件讀取模塊,通過(guò)對(duì)系統(tǒng)默認(rèn)函數(shù)改造得到,主要的改進(jìn)是增加了路徑記憶。

4.1 文件路徑讀取

函數(shù)說(shuō)明

function [dir_name] = getdir()
% 題目:獲取文件夾名稱
% 輸出:
%       dir_name -- 文件夾路徑

運(yùn)行示例

  • 運(yùn)行函數(shù)
mydir = tools.getdir;
  • 對(duì)話框


    mark
  • 獲取路徑
mydir =
D:\Coding\matlab\1701_tools

系統(tǒng)默認(rèn)函數(shù)為:uigetdir。

4.2 獲取完整文件名

函數(shù)說(shuō)明

function [fullname,pathname,filename] = getfile(type,ext)
% 題目:讀取文件全名、路徑、文件名
% 輸入:
%       type        -- 類型標(biāo)識(shí)
% 輸出:
%       fullname    -- 全名
%       pathname    -- 路徑
%       filename    -- 文件名

運(yùn)行示例

  • 運(yùn)行函數(shù)
[fullname,pathname,filename] = tools.getfile;
  • 選取文件
mark
  • 獲取文件名與完整路徑
fullname =
D:\Projects\1610-高頻導(dǎo)波損傷監(jiān)測(cè)\04.MATLAB\GUIGUW\g001.m

pathname =
D:\Projects\1610-高頻導(dǎo)波損傷監(jiān)測(cè)\04.MATLAB\GUIGUW\

filename =
g001.m

4.3 讀取CSV數(shù)據(jù)文件

函數(shù)說(shuō)明

function [data,para0] = getcsv(flag)
% 題目: 示波器輸出csv數(shù)據(jù)標(biāo)準(zhǔn)讀取
% 輸入:
%       flag   -- flag==1,則彈出對(duì)話框,否則默認(rèn)標(biāo)準(zhǔn)參數(shù)
%       R0     -- 讀取信號(hào)數(shù)據(jù)起始行數(shù)
%       R1、C1 -- 特定單元格的位置參數(shù)
% 輸出:
%       data   -- 信號(hào)數(shù)據(jù)
%       para0  -- 特定單元格參數(shù)
% 功能:
%       從R0行開(kāi)始讀取信號(hào)數(shù)據(jù),直到末尾
%       讀取(R1,C1)單元格的參數(shù)

CSV數(shù)據(jù)說(shuō)明

本程序特定針對(duì)DPO2024儀器輸出的CSV信號(hào)數(shù)據(jù),其格式為:

Model,DPO2024
Firmware Version,1.25

Point Format,Y,
Horizontal Units,S,
Horizontal Scale,0.0001,
Sample Interval,8e-09,
Filter Frequency,2e+08,
Record Length,125000,
Gating,0.0% to 100.0%,0.0% to 100.0%
Probe Attenuation,10,10
Vertical Units,V,V
Vertical Offset,0,0
Vertical Scale,20,1
Label,,
TIME,CH1,CH2
-1.28000e-04,-0.45,0.0198438
-1.27992e-04,-0.4,0.02
-1.27984e-04,-0.4,0.025
-1.27976e-04,-0.5,0.0151562
...

CSV數(shù)據(jù)在Excel中打開(kāi)的視圖如下:

mark

數(shù)據(jù)讀取的要點(diǎn)在于:

  • 需要跳過(guò)文件頭的說(shuō)明信息,以矩陣形式讀取序列數(shù)據(jù)
  • 需要讀取特定單元格的參數(shù),如Sample Interval

運(yùn)行示例

  • 運(yùn)行代碼
[data,para0] = tools.getcsv();
  • 參數(shù)輸入
    如上所示,有效數(shù)據(jù)序列從17行開(kāi)始;要讀取7行2列的Sample Interval數(shù)據(jù),在對(duì)話框輸入7 2。


    mark
  • 數(shù)據(jù)結(jié)果


    mark
  • 不彈出參數(shù)對(duì)話框運(yùn)行
    第一次設(shè)置好讀取參數(shù)后,后續(xù)不需要重復(fù)設(shè)置,即可記憶以前的設(shè)定及文件路徑。
[data,para0] = tools.getcsv(0);

4.4 讀取TXT數(shù)據(jù)文件

函數(shù)說(shuō)明

function data = gettxt(nrow_start)
% 題目: 讀取txt數(shù)據(jù)文件,跳躍文件頭說(shuō)明行
% 輸入:
%       nrow_start  -- 起始行
% 輸出:
%       data        -- 信號(hào)數(shù)據(jù)

數(shù)據(jù)格式

一般儀器輸出的數(shù)據(jù)為CSV、raw等格式,而數(shù)值模擬輸出的數(shù)據(jù)往往是標(biāo)準(zhǔn)的txt格式。

mark

運(yùn)行示例

  • 直接讀取數(shù)據(jù)
data = gettxt()
  • 跳過(guò)10行讀取數(shù)據(jù)
data = gettxt(10)
  • 對(duì)話框


    mark

``gettxt`函數(shù)尚存一些問(wèn)題,曾經(jīng)發(fā)生讀數(shù)出錯(cuò),如果無(wú)法正常使用,可以采用以下方法;

filename = tools.getfile();
data = load(filename);

4.5 讀取mat文件

函數(shù)說(shuō)明

function data = getmat()
% 題目:讀取只有一個(gè)變量的矩陣數(shù)據(jù)mat文件

數(shù)據(jù)格式

.mat是MATLAB默認(rèn)的數(shù)據(jù)格式,一般直接通過(guò)命令導(dǎo)入即可,但如果以下面的方式導(dǎo)入:

data = load('matlab.mat')
mark

讀入的數(shù)據(jù)會(huì)形成一個(gè)結(jié)構(gòu)體,不便后續(xù)操作。本函數(shù)通過(guò)數(shù)據(jù)格式轉(zhuǎn)換,保證讀取的數(shù)據(jù)依然為矩陣形式。

運(yùn)行示例

  • 命令
data = tools.getmat;
  • 對(duì)話框


    mark
  • 結(jié)果


    mark

5. 繪圖輔助

5.1 坐標(biāo)軸與標(biāo)題便捷標(biāo)注

函數(shù)說(shuō)明

function xyt(str_xyt)
% 題目:生成xlabel,ylabel,title

運(yùn)行示例

  • 繪制典型sine圖像
figure
tools.plot0;                                                                    % 繪制一個(gè)基本的sine
mark
  • 添加坐標(biāo)軸及標(biāo)題標(biāo)注
tools.xyt({'時(shí)間 s','位移 mm','A typical sine wave'})                           % 圖像標(biāo)注
mark

以上代碼相當(dāng)于:

xlabel('時(shí)間 s')
ylabel('位移 mm')
title('A typical sine wave')
grid on
set(gcf,'color','white')

代碼的集成效率大大提高。

5.2 圖像刷白

函數(shù)功能

MATLAB默認(rèn)繪圖的圖像有灰色底色,如:

mark

本函數(shù)的功能是figure底色改為白色,便于截圖處理。

function white()    
% 題目:圖像刷白
    set(gcf,'color','white');
    grid on;
end      % white  

運(yùn)行示例

  • 調(diào)用代碼
figure
tools.plot0;     

tools.white;
  • 運(yùn)行效果


    mark

5.3 圖像中貫通直線繪制

函數(shù)說(shuō)明

function xline(position,lineSpec)
% 題目:輸入MATLAB默認(rèn)顏色向量
% 輸入:
%       position    -- [x y],[1 0]在x=1處繪制豎線,[0 1]在y=1處繪制橫線
%       lineSpec   -- 'r-*'
% 輸出:輔助直線
% 示例:
%       xline([0 6],'r-')

問(wèn)題描述

這是一個(gè)沒(méi)有難度,但經(jīng)常出現(xiàn)的問(wèn)題。
在MATLAB繪圖中,除了基本的數(shù)據(jù)繪圖,我們往往需要繪制輔助性直線。

MATLAB中繪制這樣的直線很簡(jiǎn)單,只需確定兩個(gè)點(diǎn)即可。但是要確定貫通方向的坐標(biāo)范圍,較為繁瑣,還需要根據(jù)主體數(shù)據(jù)進(jìn)行調(diào)整。

運(yùn)行示例

  • 測(cè)試代碼
figure
tools.plot0;   

tools.xline([pi/2,0],'r--')                                                     % 豎向直線
tools.xline([0,sin(pi/4)],'m-.')                                                % 橫向直線
  • 繪圖效果


    mark

這一函數(shù)的不足之處在于,沒(méi)有顯示出直線所在的坐標(biāo)刻度。

5.4 網(wǎng)格線增加繪制

函數(shù)說(shuō)明

網(wǎng)格線增加繪制函數(shù)有兩個(gè):

  • xGrid
  • yGrid
function xGrid(x0,angle)
% 題目:圖中增加x網(wǎng)格線
% 時(shí)間:2017.01.08

運(yùn)行示例

  • 測(cè)試代碼
figure
tools.plot0;   

tools.xGrid(pi/2,45)
tools.yGrid(sin(pi/4))
  • 運(yùn)行效果


    mark

當(dāng)坐標(biāo)軸標(biāo)簽密集,顯示不清楚,可以調(diào)整標(biāo)簽的角度。

5.5 當(dāng)前圖像保存為圖片文件

函數(shù)說(shuō)明

function saveGraph()
% 題目:保存gcf圖像
% 功能:
%       自定義圖片格式
%       自定義圖片文件名編號(hào)
% 時(shí)間:2017.01.05

運(yùn)行示例

  • 基本圖像繪制
figure
tools.plot0; 
mark
  • 圖像保存對(duì)話框
    此處可以輸入文件名,批量存儲(chǔ)圖片,可以設(shè)置固定的前綴和后綴,以便查閱。


    mark
  • 批量存儲(chǔ)圖片效果


    mark

快捷使用技巧

本函數(shù)僅支持存儲(chǔ)當(dāng)前figure中的圖像,gcf。

此函數(shù)需要經(jīng)常調(diào)用,可以設(shè)置為快捷方式

  • 添加快捷方式


    mark
  • 編輯代碼


    mark
  • 點(diǎn)擊快捷方式


    mark

5.6 默認(rèn)顏色序列

函數(shù)說(shuō)明

運(yùn)行示例

5.7 典型快捷繪圖

函數(shù)說(shuō)明

運(yùn)行示例

6. 數(shù)據(jù)操作

6.1 數(shù)字與字符串序列粘貼

函數(shù)說(shuō)明

function str_x = paste(x,prefix,suffix)
% 題目:對(duì)數(shù)值序列粘貼前后綴,構(gòu)成字符串
% 輸入:
%       x      -- 數(shù)值序列
%       prefix -- 前綴
%       suffix -- 后綴
% 輸出:
%       str_x  -- 合并后字符串
% 作者: 馬騁
% 2016.04.17 @HIT

運(yùn)行示例

  • 測(cè)試代碼
x = [1:10]';
str = tools.paste(x,'通道','原始信號(hào)');
  • 運(yùn)行效果
str = 

    '通道1原始信號(hào)'
    '通道2原始信號(hào)'
    '通道3原始信號(hào)'
    '通道4原始信號(hào)'
    '通道5原始信號(hào)'
    '通道6原始信號(hào)'
    '通道7原始信號(hào)'
    '通道8原始信號(hào)'
    '通道9原始信號(hào)'
    '通道10原始信號(hào)'

這一功能主要用于多組數(shù)據(jù)繪圖的legend字符串構(gòu)造。

6.2 向量數(shù)值區(qū)間確定

函數(shù)說(shuō)明

function rg = range(data)
% 題目:給出一個(gè)向量/矩陣的數(shù)值范圍

本函數(shù)結(jié)合了max和min函數(shù),主要用于繪圖的坐標(biāo)限確定。

運(yùn)行示例

  • 測(cè)試代碼
x = 1:10;
x_range = tools.range(x)
  • 運(yùn)行效果
x_range =

     1
    10

6.3 行形式的數(shù)據(jù)轉(zhuǎn)換列矩陣

函數(shù)說(shuō)明

function mat = row2mat(row)
% 題目:將行向量或者行向量組成的矩陣轉(zhuǎn)換為列向量形式
% 時(shí)間:2017.01.11

此函數(shù)用于矩陣形式的標(biāo)準(zhǔn)化,避免大量數(shù)據(jù)處理中矩陣維度不匹配的情況。

運(yùn)行示例

  • 調(diào)用代碼
a = rand(2,4)
a2 = tools.row2mat(a)
  • 運(yùn)行結(jié)果
a =
    0.6787    0.7431    0.6555    0.7060
    0.7577    0.3922    0.1712    0.0318

a2 =
    0.6787    0.7577
    0.7431    0.3922
    0.6555    0.1712
    0.7060    0.0318

6.4 復(fù)數(shù)矩陣的歸一化

函數(shù)說(shuō)明

此函數(shù)用于信號(hào)處理中,復(fù)數(shù)結(jié)果的歸一化計(jì)算。

function xNorm = norm(x)
% 題目:復(fù)數(shù)向量歸一化
% 輸入:
%       x           -- 復(fù)數(shù)向量
% 輸出:
%       xNorm       -- 歸一化后的向量
% 作者: 馬騁
% 2016.04.17 @HIT

運(yùn)行示例

  • 測(cè)試代碼
a = 2*rand(2,4)+rand(2,4)*i
a_norm= tools.norm(a);
a_norm_abs = abs(a_norm)
  • 運(yùn)行效果
a =
   1.1376 + 0.1656i   0.0238 + 0.2630i   0.3244 + 0.6892i   0.6224 + 0.4505i
   0.9388 + 0.6020i   0.6742 + 0.6541i   1.5886 + 0.7482i   1.0571 + 0.0838i

a_norm =
   0.9896 - 0.1441i   0.5346 - 0.3428i
   0.0207 - 0.2287i   0.3840 - 0.3725i
   0.2821 - 0.5995i   0.9047 - 0.4261i
   0.5414 - 0.3919i   0.6020 - 0.0477i

a_norm_abs =
    1.0000    0.6351
    0.2297    0.5350
    0.6626    1.0000
    0.6684    0.6039

注意,歸一化以列向量為單位。

7. 信號(hào)處理

7.1 信號(hào)去趨勢(shì)

函數(shù)說(shuō)明

function data = clean(data0,tol)
% 題目:信號(hào)去除環(huán)境噪聲(矩陣運(yùn)算)
% 功能:去趨勢(shì)項(xiàng),對(duì)閾值一下的信號(hào)歸零
% 輸入:
%       data0 -- 原始激勵(lì)信號(hào)
%       tol   -- 閾值

運(yùn)行示例

  • 測(cè)試代碼
M = tools.getcsv(0);                                                               % 讀取csv文件
s = M(:,3);                                                                     % 提取典型信號(hào)
s2 = tools.clean(s);                                                            % 信號(hào)去除環(huán)境噪聲

figure
plot(s),hold on
plot(s2)
legend({'原始信號(hào)','去趨勢(shì)信號(hào)'})
grid on
  • 運(yùn)行效果


    mark

7.2 低通濾波器設(shè)計(jì)

此處簡(jiǎn)要介紹,低通濾波器設(shè)計(jì)的詳細(xì)說(shuō)明見(jiàn):

函數(shù)說(shuō)明

function y=lowp(x,para,isFreqz)
% 題目: 低通濾波器
% 輸入:
%       x       -- 原始信號(hào)序列
%       para.
%           f1  -- 通帶截止頻率
%           f3  -- 阻帶截止頻率
%           rp  -- 邊帶區(qū)衰減DB數(shù)設(shè)置
%           rs  -- 截止區(qū)衰減DB數(shù)設(shè)置
%           fs  -- 序列x的采樣頻率
%           type-- 濾波器類型
%       isFreqz -- 是否繪制濾波器曲線
% 輸出:
%       y      -- 濾波后的信號(hào)
% 功能:
%       低通濾波,濾除高頻噪音
%       Cheby1
%       Butterworth
% 注意:
%       通帶或阻帶的截止頻率的選取范圍是不能超過(guò)采樣率的一半
%       f1,f3的值都要小于fs/2
%       rp=0.1;rs=30;%通帶邊衰減DB值和阻帶邊衰減DB值

運(yùn)行示例

  • 測(cè)試代碼
[M,dt] = tools.getcsv(0);                                                       % 讀取csv文件
s = M(:,3);                                                                     % 提取典型信號(hào)

% 參數(shù)對(duì)話框
prompt0 = {
    '低通濾波 fp-fs kHz', [500 700]
    '低通濾波 Rp',0.1
    '是否顯示濾波器頻譜',1   
};

dlg0.save = 'myfilter';
para0 = tools.paradlg(prompt0,dlg0);                                            % 對(duì)話框參數(shù)

para_lp.f1 = para0{1}(1)*1e3;                                                   % 濾波器 fp
para_lp.f3 = para0{1}(2)*1e3;                                                   % 濾波器 fs
para_lp.rp = para0{2};                                                          % 濾波器 rp
para_lp.rs = 30;                                                                % 濾波器 rs
para_lp.fs = 1/dt;                                                              % 信號(hào)采樣頻率

para_lp.type = 1;                                                               % 濾波器類型:切比雪夫-1
flag = para0{3};                                                                % 是否繪制濾波器頻域曲線

s_lp = tools.lowp(s,para_lp,flag);                                              % 輸入信號(hào)-濾波

figure                                                                          % 濾波前后對(duì)比
plot(s),hold on
plot(s_lp)
legend({'原始信號(hào)','濾波后信號(hào)'})
tools.white;
  • 濾波參數(shù)對(duì)話框


    mark
  • 濾波器頻域特性曲線


    mark
  • 濾波效果


    mark

7.3 多波峰正弦信號(hào)生成

這一問(wèn)題的詳細(xì)描述見(jiàn):T301|超聲導(dǎo)波激勵(lì)信號(hào)的生成與頻譜分析

函數(shù)說(shuō)明

function toneburst()
% 題目: 超聲導(dǎo)波激勵(lì)信號(hào)的生成與頻譜分析
% 參數(shù):
%       N  - cycle數(shù),即激勵(lì)信號(hào)波峰數(shù)
%       fc - 激勵(lì)信號(hào)中心頻率
% 功能:
%       生成激勵(lì)信號(hào)序列
%       繪制時(shí)域圖和頻域圖
%       對(duì)比不同cycle數(shù)信號(hào)的特征
%       輸出txt文件
% 作者: 馬騁
% 2016.03.18 @HIT    

運(yùn)行示例

  • 調(diào)用代碼
[s,fs] = tools.toneburst;
  • 參數(shù)對(duì)話框


    mark
  • 信號(hào)時(shí)程與頻譜


    mark
  • 生成信號(hào)數(shù)據(jù)文件


    mark

7.4 激勵(lì)信號(hào)帶寬計(jì)算

函數(shù)說(shuō)明

此函數(shù)用于計(jì)算給定激勵(lì)信號(hào)的頻域帶寬,確定信號(hào)寬帶、窄帶的指標(biāo),采用3Db帶寬。

% 題目:計(jì)算給定信號(hào)的3db帶寬
% 輸入:
%       fs  -- 采樣頻率
%       S   -- 信號(hào)時(shí)程
%       flag-- 是否繪制圖像
% 時(shí)間:2017.01.10
```

### 運(yùn)行示例

- 測(cè)試代碼
```
[s,fs] = tools.toneburst;
[band3db,x0] = tools.getband3db(fs,s);
band3db_fk = band3db/1000;
```
- 運(yùn)行結(jié)果
![mark](http://upload-images.jianshu.io/upload_images/845620-615767fffbde8aa1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 帶寬數(shù)值z(mì),單位為kHz
```
band3db_fk
 =
   28.1254
```

# 8. 其他函數(shù)

## 8.1 工具箱版本顯示

### 函數(shù)說(shuō)明

此函數(shù)用于記錄程序的更新歷程和版本信息。

```
function version()   
% 題目:版本自動(dòng)說(shuō)明
```

### 運(yùn)行示例

- 調(diào)用代碼

```
tools.version
```
- 運(yùn)行效果

```
版本說(shuō)明:數(shù)據(jù)處理與信號(hào)繪圖輔助工具箱
馬騁,創(chuàng)建于2016.04.29 

更新日志:
2016.04.29,增加xyt函數(shù);
2016.04.30,增加getmat函數(shù);
2016.04.30,更新paradlg沖突bug;
2016.05.03,更新paradlg空格bug;
2016.05.03,增加range函數(shù);
2016.05.04,增加row2mat函數(shù);
2016.05.06,增加html函數(shù);
2016.05.06,增加clean函數(shù);
2016.12.13,增加colorOrder函數(shù);
2016.12.21,增加xline函數(shù);
2017.01.05,修改paradlg函數(shù),智能彈出;
2017.01.05,增加saveGragh函數(shù);
2017.01.08,增加xGrid,yGrid網(wǎng)格線
2017.01.08,增加plot0函數(shù);
2017.01.10,增加intersection函數(shù);
2017.01.10,增加get3band3db函數(shù);
2017.01.10,增加toneburst函數(shù);
```

# 9. 使用技巧

## 9.1 工具箱的路徑設(shè)置

自編MATLAB函數(shù)(如信號(hào)處理函數(shù)庫(kù)tools.m),如果不做進(jìn)一步的設(shè)置,往往只能在函數(shù)文件下下調(diào)用,如果工作路徑在其他文件夾下則不能使用。

![](http://upload-images.jianshu.io/upload_images/845620-1fa01690b481872d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

基本的解決方法是:將`tools.m`添加到MATLAB可以搜索的路徑下:

- 設(shè)置添加路徑對(duì)話框
```
pathtool
```
- 添加`tools`敢刷了所在的路徑
![mark](http://upload-images.jianshu.io/upload_images/845620-fead70533c39de3a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

## 9.2 函數(shù)幫助信息顯示

輸入函數(shù)名,按`F1`鍵,即可顯示函數(shù)的幫助信息。

![mark](http://upload-images.jianshu.io/upload_images/845620-69a37588d3bcd67b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

與MATLAB內(nèi)置函數(shù)的幫助顯示一樣。

# 10. 更新與下載

本工具箱功能持續(xù)更新,代碼托管于coding.net,下載網(wǎng)址為:

[coding.net-frank0449](https://coding.net/u/frank0449/p/matlab/git)

![mark](http://upload-images.jianshu.io/upload_images/845620-659245c637400c09.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語(yǔ)閱讀 4,036評(píng)論 0 7
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評(píng)論 25 709
  • 配套視頻教程 本文B站配套視頻教程[https://www.bilibili.com/video/BV1fp4y1...
    __豆約翰__閱讀 759評(píng)論 0 6
  • 很長(zhǎng)時(shí)間沒(méi)記過(guò)事了,開(kāi)學(xué)第三周。 身體已經(jīng)適應(yīng)了學(xué)校,心還沒(méi)有,半夢(mèng)半醒間會(huì)以為自己在家。 想家,很想,承認(rèn)這樣很...
    多二丫閱讀 310評(píng)論 0 0
  • 1990年的冬天,她出生在一個(gè)普通家庭。 她的父母是土生土長(zhǎng)的農(nóng)民,父親任他們村的一個(gè)小干部,母親是之前老村長(zhǎng)的大...
    autumn丫丫閱讀 564評(píng)論 1 2

友情鏈接更多精彩內(nèi)容