日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab常用函数

發(fā)布時間:2023/12/14 循环神经网络 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab常用函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、軟件操作函數(shù)

1)命令窗口函數(shù):

clc:清空命令窗口,使用向上箭頭翻看命令。

open:打開文件,文本文件(*.doc),可執(zhí)行文件(*.exe),圖形文件(*.fig),超文本文件(*.html,*.htm),MATLAB數(shù)據(jù)庫文件(*.mat),simulink模型文件*.mdl),MATLAB p文件(*.p),PDF文件(*,pdf),PPT文件(*.ppt),工程文件(*.prj),網(wǎng)址(*.url)和變量等。

format:設(shè)置數(shù)據(jù)輸出格式。format('command')

disp:在commandwindow中顯示字符和矩陣。

?????? disp(x)---x為矩陣

?????? disp('x')---x為字符

?????? disp(['x' a 'y'])---打印字符合集

clear:從工作空間中清空變量。clear, clear name,clear global name, clear –regexpexpr1 expr2

?????? clear:清空工作空間的所有變量

?????? clear name---clear('name'):清空以name命名的m文件,mex文件或變量名

?????? clear globe name:完全清空以name命名的全局變量,清空后該全局變量不能被函數(shù)調(diào)用。

?

2)幫助函數(shù)

demo:通過help瀏覽器訪問工具箱的演示文件。---demo'MATLAB'

doc:在help瀏覽器中打開相應(yīng)幫助頁面。

help:在MATLAB命令窗口中顯示MATLAB的m函數(shù),mdl文件,工具箱等的幫助信息。

?

二、文件編程函數(shù)

1)文件目錄操作函數(shù)

dir:顯示當(dāng)前工作空間目錄文件?? dir; dirname;

files=dir('directory'):返回指定目錄中的文件信息到結(jié)構(gòu)體file中,結(jié)構(gòu)體file中包含的信息為:name,data,bytes,isdir,datenum

?

2)文件編輯調(diào)試函數(shù)

dbstep:從當(dāng)前斷點中執(zhí)行一行或多行代碼??dbstep; dbstep nlines;dbstep in

dbstop:設(shè)置斷點??? dbstop inmfile? ; dbstop in mfile at lineno

debug:列舉出m文件的調(diào)試函數(shù)

mlint:檢查m文件可能出現(xiàn)的問題,并報告結(jié)果---mlint('m-filename')

profile:調(diào)試優(yōu)化m文件代碼---界面Desktop--Profiler

?

3)文件腳本函數(shù)

function:聲明函數(shù)?? function [out1, out2, ...]=funname(in1,in2,...):定義一個名為funname的函數(shù),該函數(shù)輸入?yún)?shù)為in1、in2、……輸出參數(shù)為out1、out2、……

input:請求用戶輸入?? user_entry=input('prompt') :在屏幕上顯示prompt作為提示,等待鍵盤輸入,并返回用戶輸入的值。user_entry=input('prompt','s'):將鍵入的字符返回為文本變量而非變量名或數(shù)值。

?

4)語句控制函數(shù)

break:終止執(zhí)行for循環(huán)或者while循環(huán), break語句結(jié)束循環(huán),把語句控制返回給循環(huán)結(jié)束后的語句。

continue:傳遞控制給下一個for或while循環(huán)

case:條件為真時執(zhí)行代碼,case是switch語法中的允許有條件執(zhí)行語句的一部分。case語句塊由case函數(shù),case表達(dá)式和其后的一條或多條語句構(gòu)成。

switch:有條件執(zhí)行的代碼,在基本語法中,當(dāng)switch_expr ==case_expr時執(zhí)行相關(guān)語句,如果沒有實例表達(dá)式與switch表達(dá)式相匹配,則語句控制傳遞給otherwise語句塊。

實例:

?

?
  • method='bigger';

  • switch method

  • case'bigger'

  • a=3;

  • case'middle'

  • a=2;

  • case'small'

  • a=1;

  • otherwise

  • a=0;

  • end

  • ?

    If:如果條件為真,則執(zhí)行相關(guān)語句?? if expression, statements, end

    elseif:---if expression1,statement1,elseifexpresstion,statement2,end

    else:如果條件為假時執(zhí)行語句

    end:終止代碼塊,或為數(shù)組的最后一位數(shù)字索引, end用來終止for、while、switch、try和if語句---end函數(shù)也作為數(shù)組的最后一個索引,如X(3:end)和X(1,1:2:end-1)。可以用end增加數(shù)組,如X存在的情況下使用X(end+1)=5。

    error:顯示信息并終止函數(shù)---error('說明信息')

    for:反復(fù)運算指定代碼塊? forvariable=initval:endval, statements, end

    while:當(dāng)條件為真時重復(fù)執(zhí)行語句---whileexpression,statement,end

    return:從調(diào)用函數(shù)中返回

    ?

    5)內(nèi)存控制函數(shù)

    global:聲明全局變量?? 初始化為一個空矩陣

    isglobal:判斷一個變量是否是全局變量

    persistent:定義靜態(tài)全局常量

    ?

    第二篇:數(shù)據(jù)類型函數(shù)

    三、基本數(shù)據(jù)類型函數(shù)

    1)數(shù)值函數(shù)

    double:轉(zhuǎn)換為雙精度浮點數(shù)

    single:轉(zhuǎn)換為單精度浮點數(shù)

    typecast:在不改變數(shù)據(jù)大小情況下轉(zhuǎn)換數(shù)據(jù)類型??Y=typecast(X,type)

    ?????? type可選范圍:'uint8'、'int8'、'uint16'、'int16'、'uint32'、'int32'、'uint64'、'int64'、'single'、'double'

    arrayfun:把函數(shù)應(yīng)用到數(shù)組中的每個元素 A=arrayfun(fun, S)應(yīng)用fun函數(shù)到數(shù)組S中的每個元素,將結(jié)果返回給數(shù)組A。

    ?????? A=arrayfun(fun, S, T, …)

    實例:

    ?

  • x(1).f1=2;x(2).f1=3;
  • x(1).f2=3;x(2).f2=3;
  • result=arrayfun(@(x)isequal(x.f1,x.f2),x)

  • cast:轉(zhuǎn)變數(shù)值數(shù)據(jù)類型? B=cast(A,newclass)

    實例:

    ?

    ?
  • a=int16(2);

  • b=cast(a,'char');

  • cate=class(b)

  • ?

    cat:連接數(shù)組?? C=cat(dim, A,B)--cat(2,A,B)與[A,B]相同,cat(1,A,B)與[A;B]相同

    class:創(chuàng)建對象或者返回對象類型 ??obj=class(s,'class_name')

    find:尋找非零元素的索引和值?

    ?????? ind=find(X);X可以是邏輯式,返回非零元素的索引

    ?????? ind=find(X, k, 'first') 返回數(shù)組X中所有非零元素的前k個元素。

    ?????? ind=find(X, k, 'last')? 返回數(shù)組X中所有非零元素的后k個元素。

    ?????? [row,col,v]=find(X,...)返回列向量,行向量,v表示非零值

    isequal :判斷兩個對象是否相等 比較結(jié)構(gòu)體是否相等時,結(jié)構(gòu)體中子域的順序不重要? NaNs在此函數(shù)中認(rèn)識不相等---isequal(A,B,...)相同返回1,不同返回0

    isequalwithequalnans:把NaN視為相等的情況下判斷兩個數(shù)組是否相等

    ?

    2)字符串轉(zhuǎn)化數(shù)值函數(shù)?

    base2dec :把指定進(jìn)制的數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)??d=base2dec('strn', base)

    bin2dec :把二進(jìn)制數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)??bin2dec(binarystr)

    hex2dec :把十六進(jìn)制數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)??d=hex2dec('hex_value')

    hex2num :把十六進(jìn)制數(shù)字字符串轉(zhuǎn)換為雙精度浮點數(shù)?n=hex2num(S)

    str2double :把字符串轉(zhuǎn)換為雙精度浮點數(shù)

    str2num :把字符串轉(zhuǎn)換為數(shù)字

    ?

    3)數(shù)值轉(zhuǎn)化為字符串函數(shù)

    dec2base:把十進(jìn)制數(shù)轉(zhuǎn)換為指定基下的數(shù)值字符串 str=dec2base(d, base)

    dec2bin :把十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)值字符串

    dec2hex :把十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制的數(shù)值字符串

    int2str :把整數(shù)轉(zhuǎn)換為字符串

    mat2str :把矩陣轉(zhuǎn)換為字符串

    num2str :把數(shù)字轉(zhuǎn)換為字符串

    ?

    四、高級數(shù)據(jù)類型函數(shù)

    1)結(jié)構(gòu)體函數(shù)

    cell2struct :把元胞數(shù)組轉(zhuǎn)換成結(jié)構(gòu)體數(shù)組?s=cell2struct(c, fields,dim) fields指結(jié)構(gòu)體數(shù)組的域名,fields可以說字符數(shù)組或者字符串元胞數(shù)組。

    size(c,dim)==length(fields)%如果fields是元胞數(shù)組 size

    (c,dim)==size(fields,1)%如果fields是字符數(shù)組

    實例:

    ?

    ?
  • c={'Tom','math',80;'Jane','math',70}

  • feilds={'name','subject','grade'};

  • s=cell2struct(c,fields,2)


  • struct:創(chuàng)建結(jié)構(gòu)體數(shù)組 s=struct('field1', values1, 'field2',values2, ...)

    struct2cell :把結(jié)構(gòu)體數(shù)組轉(zhuǎn)換為元胞數(shù)組

    structfun :把函數(shù)應(yīng)用于結(jié)構(gòu)體中的每一個子域?A=structfun(fun, s)

    ?

    2)元胞數(shù)組函數(shù)

    cell :創(chuàng)建元胞數(shù)組??? c=cell(n)c=cell(m,n)

    celldisp :顯示元胞數(shù)組的內(nèi)容

    cellfun :把函數(shù)應(yīng)用于元胞數(shù)組中的每個元素??A=cellfun(fun, C, D,...)

    cellplot :以圖形形式顯示元胞數(shù)組的結(jié)構(gòu)

    實例:

    ?

    ?
  • c{1,1}='2-by-2';c{1,2}='eigenvalues ofeye(2)';

  • c{2,1}=eye(2);c{2,2}=eig(eye(2));

  • cellplot(c)

  • ?

    cellstr :根據(jù)字符串?dāng)?shù)組創(chuàng)建字符串元胞數(shù)組

    mat2cell :把矩陣分割為元胞數(shù)組? c=mat2cell(x,m, n)

    num2cell :把數(shù)值數(shù)組轉(zhuǎn)變?yōu)樵麛?shù)組?? C=num2cell(A)

    ?

    3)字符串函數(shù)

    func2str :根據(jù)函數(shù)句柄構(gòu)建函數(shù)名稱字符串??s=func2str(fhandle)

    char :把整數(shù)數(shù)組轉(zhuǎn)化為字符串? S=char(X)

    eval :執(zhí)行包含MATLAB表達(dá)式的字符串??eval(expression)

    findstr :在長字符串中尋找匹配的短字符串,返回字符串索引

    sprintf :把一定格式把數(shù)據(jù)寫入字符串?? [s, errmsg]=sprintf(format,A, ...)

    strcat :水平連接字符串?? t=strcat(s1,s2, s3, ...)

    strcmp,strcmpi :比較字符串---strcmp('str1','str2')相同返回1,不同返回0

    strings函數(shù):連接字符串name=['abc' 'def' 'ghj']

    strread :從字符串中讀取指定格式數(shù)據(jù)

    strrep :發(fā)現(xiàn)和替換子字符串?? str=strrep(str1, str2, str3) ---將str1內(nèi)的所有子字符串str2替換為str3

    strtrim :刪除字符串開頭和結(jié)尾的空字符

    blanks :創(chuàng)建空格字符串?dāng)?shù)組

    isletter :判斷字符串中字符是否為英文字母

    isspace :判斷字符串中字符是否為空格

    isstrprop :判斷字符串中是否含有指定類別的字符tf=isspace('str')

    dblank :刪除字符串末尾空格?

    ?

    第三篇:矩陣函數(shù)

    五、數(shù)組和矩陣函數(shù)

    1)數(shù)組基本函數(shù)

    display:顯示字符或者數(shù)組

    isempty :判斷數(shù)組是否為空,空返回1,不空返回0

    isequal :判斷數(shù)組是否相同 (認(rèn)為NaN不同)

    isequalwithequalnans:判斷數(shù)組是否相同,把NaN看成相同的數(shù)

    isfinite :判斷數(shù)組元素是否為有限數(shù)?

    isfloat :判斷數(shù)組元素是否為浮點數(shù)

    isinf :判斷數(shù)組元素是否為無限數(shù)

    isinteger :判斷元素是否為整數(shù)

    islogical :判斷元素是否為邏輯變量

    isnan :判斷元素是否為NaN

    isnumeric :判斷數(shù)組元素是否為數(shù)值

    isscalar :判斷輸入是不是離散量

    issparse :判斷矩陣是否為稀疏矩陣

    isvector :判斷輸入是否為向量

    length :計算向量的長度

    max :找出向量中的最大元素

    C=max(A) A為一個向量,返回向量最大值,矩陣A,返回每列向量最大值

    C=max(A,B) A、B維數(shù)一樣,返回對應(yīng)位置最大元素

    max(A,[],dim)

    [C,I]=max(A)找出最大值和索引

    min :找出向量中的最小元素

    ndims :計算矩陣的維數(shù)?? ndims同length(size(x)) 一致

    numel:計算數(shù)組中元素的個數(shù)或者下標(biāo)數(shù)組表達(dá)式的個數(shù)?

    size :計算數(shù)組維數(shù)大小? d=size(X) [m,n]=size(X)m行n列 m=size(X,dim)

    ?

    2)數(shù)組操作函數(shù)

    bsxfun:兩個數(shù)組間元素逐個計算??C=bsxfun(fun,A,B)

    @plus(加)@minus(減)@times(數(shù)組乘)@rdivide(左除)@ldivide(右除)@power(冪)@max@min@rem(整除)@mod(模除)

    dot :向量點乘 C=dot(A,B)

    ?

    3)基礎(chǔ)矩陣函數(shù)

    create :生成隨機數(shù)流?? [s1,s2,…]=RandStream.create('gentype','NumStreams',n)

    eye :生成單位矩陣 Y=eye([m,n])對角線1,其他0

    ones :生成元素為1的數(shù)組??Y=ones(n) Y=ones(m,n)

    rand :生成均勻分布的偽隨機數(shù)矩陣?r=rand(n) rand(m,n,p,…)

    randi :生成均勻分布的偽隨機整數(shù)矩陣 randi(imax) r=randi(imax,n)

    r=randi(imax,m,n,p,…) r=randi([imin,imax],…) 例:r=randi([5,10],[2,3])

    randn :生成[-1,1]之間隨機分布數(shù)矩陣 r=randn(n) randn(m,n)randn(m,n,p,…)

    randstream :生成隨機數(shù)據(jù)流

    set (RandStream) :設(shè)置隨機數(shù)據(jù)流屬性set(S,'PropertyName',Value)

    set(S,'Property')

    ?

    4)矩陣處理函數(shù)

    reshape :改變矩陣維數(shù)?? B=reshape(A,m,n)

    sort :把數(shù)組元素按升序或降序排列

    B=sort(A,dim) B=sort(...,mode) [B,IX]=sort(A,2)返回B元素在A中的位置的索引

    sortrows :矩陣行按照升序排列

    ?

    5)矩陣分析函數(shù)

    det :求方陣行列式值

    norm :計算向量或者矩陣范數(shù)?? n=norm(A) n=norm(A,p)

    normest :返回矩陣2-范數(shù)估計值

    null :計算矩陣零空間

    rank :返回矩陣的秩

    subspace :返回兩個子空間夾角

    trace :返回矩陣的跡對角元素之和

    ?

    6)矩陣特征值函數(shù)

    eig :計算矩陣特征值和特征向量

    condeig :計算特征值對應(yīng)的條件數(shù)

    eigs :計算矩陣的最大特征值和特征向量

    gsvd :矩陣廣義奇異值分解

    svd :矩陣奇異值分解

    ?

    第四篇 數(shù)學(xué)函數(shù)

    六、基本數(shù)學(xué)函數(shù)

    1)基本運算符

    +:加法運算符

    -:減法運算符?

    *:矩陣乘法

    .*:數(shù)組乘法

    /:斜杠或者矩陣右除?? B/A等于公式B*inv(A)

    ./:數(shù)組右除??? A./B等于A(i,j)/B(i,j)

    \:反斜杠或者矩陣左除??? A\B等于inv(A)*B

    .\:數(shù)組左除???? A.\B等于B(i,j)/A(i,j)

    ^:矩陣冪計算

    .^:數(shù)組冪計算??? A.^B等于A(i,j)的B(i,j)次冪

    ’:矩陣轉(zhuǎn)置

    []:表示空矩陣,A(m,:)刪除A中的一行,A(:,n)刪除A中的一列

    {}:元胞組賦值

    關(guān)系操作符:< <= > >= == ~ =

    邏輯操作符 : 邏輯:&&? ||? 數(shù)組:&? |??~

    ?

    2)數(shù)據(jù)操作函數(shù)

    sort :數(shù)組元素按升序或降序排列? B=sort(A) B=sort(A,dim) B=sort(...,mode)[B,IX]=sort(A,...)

    sortrows :把矩陣中每行按照升序排列???B=sortrows(A) B=sortrows(A,column)?

    sum :求數(shù)列元素的和?? B=sum(A) A是向量,向量求和,A是矩陣就沒列求和 B=sum(A,dim)

    ?

    3)統(tǒng)計分析函數(shù)

    brush:交互式標(biāo)記、刪除、修改以及保存圖片中的觀測量位?? data brush

    corrcoef :計算相關(guān)性系數(shù)? R=corrcoef(X)

    cov :返回協(xié)方差矩陣??cov(x)

    max :求數(shù)組中的最大元素???? C=max(A) C=max(A,B) C=max(A,[],dim)

    mean :求數(shù)組的平均數(shù)或者均值??M=mean(A) M=mean(A,dim)

    median :返回數(shù)組的中間值??M=median(A) M=median(A,dim)

    mode :求數(shù)組中出現(xiàn)頻率最多的值??? M=mode(X) M=mode(X, dim)

    [M,F]=mode(X, ...)

    std :計算標(biāo)準(zhǔn)差 s=std(X)

    var :計算方差??V=var(X)?

    ?

    4)三角函數(shù)

    acos :以弧度的形式返回反余弦值

    實例:

    ?

    ?
  • x=-1:.05:1;

  • plot(x,acos(x));grid on


  • acosd :以角度的形式返回反余弦值

    acosh :以弧度形式返回反雙曲余弦值

    acot :以弧度的形式返回反余切值

    acotd :以角度的形式返回反余切值

    acoth :以弧度的形式返回反雙曲余切值

    acsc :以弧度的形式返回反余割值

    acscd :以角度的形式返回反正割值

    acsch :以弧度的形式反雙曲余割值

    asec :以弧度的形式返回反正割值

    asecd :以角度的形式返回反正割值

    asech :以弧度的形式返回反雙曲正割值

    asin :以弧度的形式返回反正弦值

    asind :以角度形式返回反正弦值

    asinh :以弧度的形式返回反雙曲正弦值

    atan :以弧度的形式返回反正切值

    atand :以角度的形式返回反正切值

    atanh :以弧度的形式返回反雙曲正切值

    cos :以弧度的形式返回輸入的余弦值

    cosd :以角度的形式返回輸入的余弦值

    cosh :以弧度的形式返回輸入的雙曲余弦值

    cot :以弧度的形式返回輸入的余切

    cotd :以角度的形式返回輸入的余切值

    coth :以弧度的形式返回輸入的雙曲余切值

    csc :以弧度的形式返回輸入的余割值

    cscd :以角度形式返回輸入的余割值

    csch :以弧度的形式返回雙曲余割值

    sec :以弧度的形式返回輸入的正割值

    secd :以角度的形式返回輸入的正割值

    sech :以弧度的形式返回雙曲正割值

    sin :以弧度的形式返回輸入的正弦

    sind :以角度的形式返回輸入的正弦值

    sinh :以弧度的形式返回輸入的雙曲正弦值

    tan :以弧度的形式返回輸入的正切值

    tand :以角度的形式返回輸入的正切值

    tanh :以弧度的形式返回雙曲正切

    ?

    5)指數(shù)函數(shù)

    exp :計算指數(shù)

    log :計算自然對數(shù)

    log10 :計算平凡對數(shù)(以10為底)

    log2 :計算以2為底數(shù)的對

    pow2 :計算以2為底的冪

    nthroot:計算實數(shù)值的實n階方根。y=nthroot(X,n)

    sqrt :計算平方根

    abs :計算絕對值和復(fù)數(shù)模值

    ?

    6)除法函數(shù)

    ceil :向正無窮方向舍入

    fix :向零方向舍入

    floor :向負(fù)無窮方向舍入

    idivide :舍入操作?? C=idivide(A,B, opt)

    mod :計算相除后的模值

    ?

    7)排列函數(shù)

    factorial:階乘---factorial(N),N!

    perms:元素所有可能的全排列

    ?

    七、高級數(shù)學(xué)函數(shù)

    1)微分方程解函數(shù)

    decic :計算和ode15i(ode常微分方程)相容的初始條件

    [y0mod,yp0mod]=decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0)

    deval :計算微分方程的解?????sxint=deval(sol,xint) ??sol是求解器返回的結(jié)構(gòu)體,(ode45, ode23, dde23??xint是點或向量,函數(shù)求解的是該點上的值。

    deval :計算微分方程的解?????sxint=deval(sol,xint)

    ?

    2)極值函數(shù)

    fminbnd :在指定區(qū)間上求解單變量函數(shù)的最小值x=fminbnd(fun,x1,x2)x=fminbnd(fun,x1,x2,options)?? 結(jié)構(gòu)體options用于指定優(yōu)化參數(shù)

    [x,fval]=fminbnd(...)???? [x,fval,exitflag]=fminbnd(...)

    [x,fval,exitflag,output]=fminbnd(...)

    fminsearch :利用derivative-free算法求無約束多變量函數(shù)的最小值

    x=fminsearch(fun,x0)x=fminsearch(fun,x0,options)

    [x,fval,exitflag]=fminsearch(...)

    fzero:求單變量連續(xù)函數(shù)的零值點 x=fzero(fun,x0) x=fzero(fun,x0,options)

    isqnonneg :求解非負(fù)最小二乘法約束問題????

    x=lsqnonneg(C,d)返回一個向量x,滿足x >= 0時(C*x-d)的范數(shù)最小。

    x=lsqnonneg(C,d,x0) x=lsqnonneg(C,d,x0,options)?

    ?

    3)數(shù)值積分函數(shù)

    dblquad :計算矩形區(qū)域的二重定積分???

    q=dblquad(fun,xmin,xmax,ymin,ymax)

    q=dblquad(fun,xmin,xmax,ymin,ymax,tol)q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)

    quad :求基于變步長Simpson法的函數(shù)定積分?jǐn)?shù)值解? q=quad(fun,a,b)

    實例:

    ?

  • F=@(x)1./(x.^3-2*x-5);
  • Q=quad(F,0,2)
  • ?

    quad2d :在平面區(qū)域求二重積分的數(shù)值解????q=quad2d(fun,a,b,c,d)

    實例:Q=quad2d(@(x,y)y.*sin(x)+x.*cos(y),pi,2*pi,0,pi)

    ?

    4)微分積分函數(shù)

    dblquad :計算矩形區(qū)域的二重定積分 q=dblquad(fun,xmin,xmax,ymin,ymax)

    cumtrapz :累積梯形數(shù)值積分? Z=cumtrapz(Y)Z=cumtrapz(X,Y) 對于多維數(shù)組從第一維開始計算??Z=cumtrapz(X,Y,dim)

    diff :差分與微分近似??Y=diff(X) Y=diff(X,n) Y=diff(X,n,dim)??

    gradient :計算函數(shù)數(shù)值梯度?? FX=gradient(F) [FX,FY]=gradient(F)

    實例:繪制函數(shù)z=exp(-x.^2-y.^2)的梯度圖形。

    ?

    ?
  • v=-2:0.2:2;

  • [x,y]=meshgrid(v);

  • z=exp(-x.^2-y.^2);

  • [px,py]=gradient(z,0.2,0.2);

  • contour(v,v,z)

  • hold on

  • quiver(v,v,px,py)

  • ?

    ?

    trapz :梯形數(shù)值積分? Z=trapz(Y) Z=trapz(X,Y) Z=trapz(...,dim)

    ?

    5)賦值函數(shù)

    biltin:重載方法中執(zhí)行MATLAB內(nèi)部自帶的函數(shù)?? builtin(...) 函數(shù)和 feval(...)函數(shù)相同?

    evalc :計算表達(dá)式值?? T=evalc(S):同函數(shù)eval(S)用法相同

    feval :計算函數(shù)值??? [y1, y2, ...]=feval(fhandle, x1, ..., xn)

    ?

    第五篇:方程函數(shù)

    八、插值函數(shù)、線性方程解函數(shù)和多項式函數(shù)

    1)插值函數(shù)

    interp1q :1維快速線性插值法 yi=interp1q(x,Y,xi)

    ?????? interp1q正常執(zhí)行條件:

    (1)x單調(diào)遞增列向量

    (2)Y為列向量or行數(shù)為length(x)(3)xi為列向量,如果xi值在x的坐標(biāo)范圍外,返回NaN

    實例:

    ?

    ?
  • x=(-5:0.5:5)';

  • y=sin(x);

  • xi=(-5:0.5:5)';

  • yi=interp1q(x,y,xi);

  • plot(x,y,'o',xi,yi)

  • ?

    interp2 :2維數(shù)據(jù)插值法

    ?????? ZI=interp2(X,Y,Z,XI,YI)

    ?????? ZI=interp2(Z,XI,YI)

    ?????? ZI=interp2(X,Y,Z,XI,YI,method)

    ?????? (1)‘nearest’:最鄰近插值法;

    ?????? (2)‘linear’:線性插值法(默認(rèn)插值方法);

    ?

    ?????? (3)‘spline’:三次樣條插值法;

    ?

    ?????? (4)’cubic’:三次插值法

    實例:

    ?

    ?
  • [X,Y]=meshgrid(-2:0.5:2);

  • Z=peaks(X,Y);

  • [XI,YI]=meshgrid(-2:0.125:2);

  • ZI=interp2(X,Y,Z,XI,YI);

  • mesh(X,Y,Z)

  • hold on

  • mesh(XI,YI,ZI+10)

  • ?
  • ?

    ?

    interp3 :3維數(shù)據(jù)插值法??????

    ?????? VI=interp3(X,Y,Z,V,XI,YI,ZI)

    ?????? VI=interp2(X,Y,Z,V,XI,YI,ZI,method)

    ?????? (1)‘nearest’:最鄰近插值法;

    ?????? (2)‘linear’:線性插值法(默認(rèn)插值方法);

    ?????? (3)‘spline’:三次樣條插值法;

    ?????? (4)’cubic’:三次插值法

    ?????? ?

    interpft :基于FFT方法的1維插值法?y=interpft(x,n)?y=interpft(x,n,dim)

    實例:

    ?

    ?
  • y=[1 2 3 2 1 23];

  • N=length(y);

  • L=5;

  • M=N*L;

  • x=0:L:L*N-1

  • xi=0:M-1

  • yi=interpft(y,M)

  • plot(x,y,'o',xi,yi,'*')

  • ?

    ?

    interpn :n維數(shù)據(jù)插值(表格查詢)VI=interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...)

    meshgrid :為3維繪圖生成X和Y矩陣

    [X,Y]=meshgrid(x,y) [X,Y,Z]=meshgrid(x,y,z)??

    ndgrid :生成可為函數(shù)和插值算法使用的n維矩陣

    [X1,X2,X3,...]=ndgrid(x1,x2,x3,...)

    實例:

    ?

    ?
  • [X1,X2]=ndgrid(-1:0.1:1,-1:0.1:1);

  • Z=exp(-X1.^2-X2.^2);

  • mesh(Z)

  • ?

    ?

    pchip :分段三次厄密插值多項式(PCHIP) yi=pchip(x,y,xi)pp=pchip(x,y)

    實例:

    ?

    ?
  • x=-4:4

  • y=[-3 -2 -2 0 0 0 2 2 3];

  • t=-4:0.01:4;

  • p=pchip(x,y,t);

  • s=spline(x,y,t);

  • plot(x,y,'o',t,p,'-',t,s,'-.')

  • legend('data','pchip','spline',4)

  • ?

    ?

    spline :曲線三次樣條插值?? yy=spline(x,Y,xx)?? pp=spline(x,Y)

    實例:

    ?

    ?
  • x=0:10;

  • y=cos(x);

  • xx=0:0.1:10;

  • yy=spline(x,y,xx);

  • plot(x,y,'o',xx,yy)

  • ?

    ?

    2)線性方程解函數(shù)

    linsolve :使用部分主元LU因子分解法求解線性方程組??? X = linsolve(A,B)? [X, R] = linsolve(A,B)?? X = linsolve(A,B,opts)

    lscov :已知協(xié)方差時求解方程的最小二乘解??

    x = lscov(A,b)??? 線性方程組A*x = b的一般最小二乘解

    x = lscov(A,b,w)?? 線性方程組A*x = b的加權(quán)最小二乘解

    x = lscov(A,b,V)??? 線性方程組A*x = b 的廣義最小二乘解

    x =lscov(A,b,V,alg)????

    bicg :求解線性方程的雙共軛梯度法

    ?? x=bicg(A,b) bicg(A,b,tol)bicg(A,b,tol,maxit)

    ?

    bicg(A,b,tol,maxit,M1,M2)bicg(A,b,tol,maxit,M1,M2,x0)[x,flag]=bicg(A,b,...)

    [x,flag,relres]=bicg(A,b,...)[x,flag,relres,iter]=bicg(A,b,...)

    [x,flag,relres,iter,resvec]=bicg(A,b,...)

    bicgstab :求解線性方程的穩(wěn)定的雙共軛梯度法

    bicgstabl :求解線性方程的雙共軛梯度l穩(wěn)定法

    bicgstab :求解線性方程的穩(wěn)定的雙共軛梯度法

    bicgstabl :求解線性方程的雙共軛梯度l穩(wěn)定法

    cgs :求解線性方程的共軛梯度平方法

    gmres :求線性方程的廣義最小殘差法

    lsqr :求解線性方程的LSQR 方法

    minres :求解線性方程的最小殘差法

    pcg :求解線性方程的預(yù)處理共軛梯度法

    qmr :求解線性方程的準(zhǔn)最小殘差法

    symmlq :求解線性方程的對稱 LQ 法

    tfqmr :求解線性方程的自由轉(zhuǎn)置準(zhǔn)最小殘差法?

    ?

    3)多項式函數(shù)

    polyfit :多項式擬合

    ?????? p=polyfit(x,y,n) 根據(jù)擬合數(shù)據(jù)x,y求n階多項式p(x)的系數(shù),p是系數(shù)

    ?????? [p,S]=polyfit(x,y,n) p是系數(shù),使用S和多項式的值能得到誤差估計值或預(yù)測

    實例:

    ?

    ?
  • x=(-3:0.2:3)';

  • y=erf(x);

  • p=polyfit(x,y,3)

  • f=polyval(p,x);

  • plot(x,y,'*',x,f,'-')

  • ?

    polyval :多項式求值???? y=polyval(p,x)???

    poly :根據(jù)根求解多項式

    polyder :解析求解多項式微分表達(dá)式k=polyder(p) k=polyder(a,b)

    polyint :解析求解多項式積分表達(dá)式系數(shù)?? polyint(p,k)

    mkpp :構(gòu)建分段多項式?? pp=mkpp(breaks,coefs)

    breaks是一個長度為L+1的向量,該向量元素嚴(yán)格遞增。coefs為L*k的矩陣,每行元素代表

    [breaks(i),breaks(i+1)]的k階多項式的系數(shù)。

    ?

    十一、基本文件操作函數(shù)

    1)文件創(chuàng)建函數(shù)

    filemaker :把文件名與文件中函數(shù)名分開 。

    filesep :文件目錄分隔。

    fileparts :把目標(biāo)文件名拆分成字符串形式輸出 。

    tempdir :返回系統(tǒng)暫存地址名 。

    tempname :返回系統(tǒng)暫存文件名 。

    fullfile :創(chuàng)建文件名?

    ?

    2)文件打開、讀取、存儲函數(shù)

    open:打開文件 ---用法:open('name')

    load :將文件導(dǎo)入到MATLABworkspace中。loadfilename load filename X Y Z,

    load-asciifilename ,load-mat filename,load('arg1', 'arg2', 'arg3', ...)

    save:存儲文件.save filename, save filename content, savefilename options

    ???? save('filename', 'var1', 'var2', ...)?

    daqread :讀數(shù)據(jù)采集工具箱(.daq)中的文件 。

    ???????? [data, time, abstime, events, daqinfo]= daqread('filename')

    uiimport :調(diào)用文件導(dǎo)入助手

    ?

    3)簡單文件輸入輸出函數(shù)

    fopen :打開文件。

    ?????? fid = fopen(filename)

    ?????? fid = fopen(filename,permission)

    Permission值

    打開模式

    ‘r’

    只讀模式

    ‘w’

    可寫入模式,覆蓋已有內(nèi)容

    ‘a(chǎn)’

    可寫入模式,寫入數(shù)據(jù)到文件末尾

    ‘r+’

    可讀寫模式,

    ‘w+’

    可寫入模式,覆蓋已有內(nèi)容

    ‘a(chǎn)+’

    可寫入模式,寫入數(shù)據(jù)到文件末尾

    ‘A’

    無自動刪除添加

    ‘W’

    無自動刪除寫入

    fclose? 關(guān)閉文件。status=fclose(fid) ,status=fclose('all')

    fprintf:以指定格式將數(shù)據(jù)寫入文件 。count = fprintf(fid, format, A, ...)

    實例:

    ?

    ?
  • x=1:0.1:2;

  • y=[x,sin(x)];

  • fid=fopen('sin.txt','wt');

  • fprintf(fid,'%5.2f %5.6f\n',y);

  • fclose(fid)

  • ?

    fscanf :以指定格式讀取文件中的內(nèi)容 。A =fscanf(fid, format) , [A,count] = fscanf(fid, format, size)

    fread :讀取文件中的二進(jìn)制數(shù)據(jù) 。A =fread(fid, count ,precision, skip, machineformat)

    fwrite :將二進(jìn)制數(shù)據(jù)寫入到文件中 。

    fseek :設(shè)置文件位置指針 。status = fseek(fid,offset, origin)

    ftell :獲取文件位置指針 。position = ftell(fid)

    fwind :把文件位置指針移動到文件起始位置 。fwind(fid)

    fgetl :按行讀取文件內(nèi)容,并刪去換行符 。tline = fgetl(fid)

    fgets :按行讀取文件內(nèi)容,并保留換行符 。tline = fgets(fid, nchar)

    frewind :將文件指針移到文件的起始位置。 frewind(fid)

    feof :測試是否為文件的末尾 。message = ferror(fid)

    ferro :測試文件輸入輸出是否有錯誤 。message = ferror(fid,'clear') , [message,errnum] = ferror(...)

    disp :將目標(biāo)文件所包含的信息以不同形式顯示,如文本、數(shù)組等形式。

    ?disp(obj)

    ?

    4)電子表格操作函數(shù)

    xlsfinfo :檢測文件中是否包含Microsoft Excel電子表格文件 。

    ?? typ = xlsfinfo(filename) [typ,desc, fmt] = xlsfinfo(filename)

    xlsread :讀Microsoft Excel電子表格文件中的內(nèi)容 。

    ?? num = xlsread(filename),num = xlsread(filename,sheet),num =xlsread(filename, range),num = xlsread(filename, sheet, range, 'basic')

    [num,txt,raw,X]=xlsread(filename,sheet, range, 'basic')?

    xlswrite :將數(shù)據(jù)寫入Microsoft Excel電子表格文件中 。

    ??? xlswrite(filename, M),xlswrite(filename, M, sheet, range),

    ??? [status, message] = xlswrite(filename, ...)

    wk1finfo :檢測文件中是否包含Lotus 1-2-3 WK1電子表格。

    ?? [extens, typ] = wk1finfo(filename)??

    wk1read :讀取Lotus 1-2-3 WK1電子表格文件 。

    ??? M = wk1read(filename) ,M = wk1read(filename,r,c,range)

    wk1write :將數(shù)據(jù)寫入Lotus1-2-3 WK1電子表格文件中 。

    ??? wk1write(filename,M,r,c)

    總結(jié)

    以上是生活随笔為你收集整理的matlab常用函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。