欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      MatLab基礎(chǔ)知識(shí)小結(jié)來源

      時(shí)間:2019-05-12 12:57:13下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《MatLab基礎(chǔ)知識(shí)小結(jié)來源》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《MatLab基礎(chǔ)知識(shí)小結(jié)來源》。

      第一篇:MatLab基礎(chǔ)知識(shí)小結(jié)來源

      MatLab基礎(chǔ)知識(shí)小結(jié)來源: 吳學(xué)簫的日志

      matlab常用到的永久變量。ans:計(jì)算結(jié)果的默認(rèn)變量名。i j:基本虛數(shù)單位。

      eps:系統(tǒng)的浮點(diǎn)(F10a9Bg個(gè)oht): inf: 無限大,例1/0 nan NaN:非數(shù)值(N航a nmnb謝)pi:圓周率n(n=3.1415926..)。realmax:系統(tǒng)所能表示的最大數(shù)值。realmin: 系統(tǒng)所能表示的最小數(shù)值,nargin: 函數(shù)的輸入?yún)?shù)個(gè)數(shù): nargout:函數(shù)的輸出多數(shù)個(gè)數(shù)

      ①matlab的所有運(yùn)算都定義在復(fù)數(shù)城上。對(duì)于方根問題運(yùn)算只返回處于第一象限的解。

      ⑦matlab分別用左斜/和右來表示“左除和“右除”運(yùn)算。對(duì)于標(biāo)量運(yùn)算而言,這兩者的作用沒有區(qū)別:但對(duì)于矩陣運(yùn)算來說,二者將產(chǎn)生不同的結(jié)果。

      多項(xiàng)式的表示方法和運(yùn)算

      p(x)=x^3-3x-5 可以表示為p=[1 0 –3 5],求x=5時(shí)的值用plotval(p,5)也可以求向量:a=[3 4 5],plotval(p,a)函數(shù)roots求多項(xiàng)式的根 roots(p)p=[1 0-3 5];r=roots(p)由根重組多項(xiàng)式poly(根)q=poly(r)real(q)有時(shí)會(huì)產(chǎn)生虛根,這時(shí)用real抽取實(shí)根即可 conv(a,b)函數(shù) 多項(xiàng)式乘法(執(zhí)行兩個(gè)數(shù)組的卷積)a=[1 2 3 4];b=[1 4 9 16];c=conv(a,b)多項(xiàng)式的加減法,低階的多項(xiàng)式必須用首零填補(bǔ),使其與高階多項(xiàng)式有同樣的階次 多項(xiàng)式除法 [q , r]=deconv(c , b)表示b/c q為商多項(xiàng)式,r為余數(shù) 多項(xiàng)式的導(dǎo)數(shù) polyder(f)f=[ 2 4 5 6 2 1];s=polyder(f)

      多項(xiàng)式的曲線擬合 x=[1 2 3 4 5];y=[5.6 40 150 250 498.9];p=polyfit(x,y,n)數(shù)據(jù)的n次多項(xiàng)式擬合 poly:矩陣的特征多項(xiàng)式、根集對(duì)應(yīng)的多項(xiàng)式 x2=1:0.1:5;n取1時(shí),即為最小二乘法

      y2=polyval(p,x2);計(jì)算多項(xiàng)式的值(polyvalm計(jì)算矩陣多項(xiàng)式)plot(x,y,'*',x2,y2);grid on 最小二乘法 x=[1 2 3 4 5];y=[5.6 40 150 250 498.9];plot(x,y,’*’),lsline

      多項(xiàng)式插值(p158)

      YI=interp1(x,y,XI,’method’)一維插值

      (XI為插值點(diǎn)的自變量坐標(biāo)向量,可以為數(shù)組或單個(gè)數(shù)。method為選擇插值算法的方法,包括: linear(線性插值)cubic(立方插值)spline(三次樣條插值)nearst(最近臨插值)

      例如:人口預(yù)測 year=1900:10:1900;number=[78 91 105 ?.每十年的人口數(shù)];x=1900:1:2000;y=interp1(year,number,x,’spline’);plot(year,numeber,’*’,x,y);grid on

      一維博里葉變換插值使用函數(shù)interpft實(shí)現(xiàn),計(jì)算含有周期函數(shù)值的矢量的傅里葉變換

      然后使用更多的點(diǎn)進(jìn)行傅里葉變換的逆變換,函數(shù)的使用格式如下:y=interpft(x,n)其中x是含有周期函數(shù)值的矢量,并為等距的點(diǎn),n為返同等間距點(diǎn)的個(gè)數(shù)。

      求解一元函數(shù)的最小值

      y=fminbnd('humps',0.3,1)humps為一內(nèi)置函數(shù) 求解多元函數(shù)的最小值

      函數(shù)fminserch用于求多元函數(shù)的最小值。它可以指定一個(gè)開始的矢量,并非指定一個(gè)區(qū)間。此函數(shù)返回一個(gè)矢量為此多元函數(shù)局部最小函數(shù)值對(duì)應(yīng)的自變量

      紋理成圖功能

      由warp函數(shù)的紋理成圖功能實(shí)現(xiàn)平面圖像在空間三維曲面上的顯示。將文件名為flowers.tif的圖像分別投影到圓柱形和球星表面上 i=imread('flowers.tif');[x,y,z]=cylinder;subplot(1,2,1),warp(x,y,z,i);[x,y,z]=sphere(50);subplot(1,2,2),warp(x,y,z,i);warp(x,y,z,i);求函數(shù)的零點(diǎn)

      求函數(shù)humps在[1,2]區(qū)間上的零點(diǎn) fzero(‘humps’,[1,2]);也可以給一個(gè)初始值 fzero(‘humps’,0.9);對(duì)于多項(xiàng)式可直接由roots求其根 roots(‘4*x^3+……’);也可以用solve c=sym('c','real');x=sym('x','real');s=solve(x^3-x+c)

      函數(shù)定積分

      q=quadl(‘humps’,0,1)求humps函數(shù)在0 1區(qū)間上的定積分,也可以用quad語句

      二重積分 首先計(jì)算內(nèi)積分,然后借助內(nèi)積分的中間結(jié)果再求出二重積分的值,類似于積分中的分步積分法。Result=dblquad(‘integrnd’,xin,xmax.,ymin,ymax)integrnd為被積函數(shù)的名稱字符串

      符號(hào)積分運(yùn)算int(f)最精確的是符號(hào)積分法 計(jì)算s=∫12[∫01xydx]dy syms x y 中間為空格,不能為逗號(hào)

      s=int(int(‘x^y’,’x’,0,1),’y’,1,2)引號(hào)可省略 vpa(s)顯示s的值 內(nèi)積分限為函數(shù)的二重積分 I=∫14[∫√y2(x2+y2)dx]dy 符號(hào)法I=vpa(int(int(‘x^2+y^2’,’x’,sqrt(y),2),’y’,1,4)

      微分運(yùn)算(diff)

      微分是描述一個(gè)函數(shù)在一點(diǎn)處的斜率,是函數(shù)的微觀性質(zhì)、因此積分對(duì)函數(shù)的形狀在小范圍內(nèi)的改變不敏感,而微分很敏感?!獋€(gè)函數(shù)的小的變化,容易產(chǎn)生相鄰點(diǎn)的斜率的大的改變。由干微分這個(gè)固有的困難.所以盡可能避免數(shù)值微分.特別是對(duì)實(shí)驗(yàn)獲得的數(shù)據(jù)進(jìn)行微分。在這種情況,最好用最小二乘曲線擬合這種數(shù)據(jù),然后對(duì)所得到的多項(xiàng)式進(jìn)行微分;或用另一種方法對(duì)點(diǎn)數(shù)據(jù)進(jìn)行三次樣條擬合,然后尋找樣條微分,但是,有時(shí)微分運(yùn)算是不能避免的,在MATLAB中.用函數(shù)diff汁算一個(gè)矢量或者矩陣的微分(也可以理解為差分)。

      a=[1 2 3 3 3 7 8 9];b=diff(a)一次微分 bb=diff(a,2)二次微分

      實(shí)際上diff(a)=[a(2)-a(1),a(3)-a(2),??,a(n)-a(n-1)] 對(duì)于求矩陣的微分,即為求各列矢量的微分,從矢量的微分值可以判斷矢量的單調(diào)性、是否等間距以及是否有重復(fù)的元素。符號(hào)微分運(yùn)算(diff)syms x t a f =cos(a*x)df =diff(f)由findsym的規(guī)則,隱式的指定對(duì)x進(jìn)行微分 dfa=diff(f,'a')指定對(duì)變量a進(jìn)行微分 dfa=diff(f,'a',3)三次微分 diff函數(shù)不僅作用在標(biāo)量上,還可以在矩陣上,運(yùn)算規(guī)則就是按矩陣的元素分別進(jìn)行微分 syms a x A=[cos(a*x),sin(a*x),-sin(a*x),cos(a*x)];dA=diff(A)微分方程dsolve 在matlab中,符號(hào)表達(dá)式中包含字母D用來表示微分運(yùn)算,D2,D3分別對(duì)應(yīng)第二,第三階導(dǎo)數(shù),D2y表示d2y/dt2 把t缺省了

      y=dsolve(‘Dy=f(y)’)單個(gè)方程,單個(gè)輸出

      [u,v]=dsolve(‘Du=f(u,v)’,’Dv=g(u,v)’)2個(gè)方程,2個(gè)輸出 s=dsolve(‘Dx=f(x,y,z)’,’Dy=g(x,y,z)’,’Dz=k(x,y,z)’)s.x s.y s.z 3個(gè)方程,架構(gòu)數(shù)組

      dsolve('Dx=-a*x')結(jié)果:C1*exp(-a*t)沒給定初值,所以結(jié)果中含參變量 x=dsolve('Dx=-a*x','x(0)=1','s')結(jié)果exp(-a*s)給定了初值,獨(dú)立變量設(shè)為s 計(jì)算多元函數(shù)的梯度

      fx=gradient(f)f是一個(gè)矢量返回f的一維數(shù)值梯度,fx對(duì)應(yīng)于x方向的微分。

      [x,y]=meshgrid(-2:.2:2,-2:.2:2);z=x.*exp(-x.^2-y.^2);[px,py]=gradient(z,.2,.2);contour(z),hold on 畫等值線 quiver(px,py)

      matlab字符串運(yùn)算 利用sym命令創(chuàng)建表達(dá)式

      f=sym(‘cos(x)+sin(x)’)或 syms x , f=cos(x)+sin(x)diff(f)求其導(dǎo)數(shù)

      (也可直接用命令f=diff(‘cos(x)+cos(y)’)

      當(dāng)字符表達(dá)式中含有多于一個(gè)的變量時(shí),只有—個(gè)變量是獨(dú)立變量。如果不告訴matlab哪一個(gè)變量是獨(dú)立變量,則可以通過findsym命令詢問 利用findsym命令查詢獨(dú)立變量 f=sym('sin(a*x)+b')findsym(f,1)給出獨(dú)立變量(一個(gè)變量,如果為2則給出2個(gè)變量)findsym(f)給出所有變量

      符號(hào)表達(dá)式的化簡和替換

      collect函數(shù) collect(f,v)表示將f表示為關(guān)于符號(hào)變量v的多項(xiàng)式形式,即關(guān)于v合并同類項(xiàng),v缺省,則用findsym確定的缺省變量 syms x y f=x^2*y+y*x-x^2-2*x+1 collect(f)得到(-1+y)*x^2+(y-2)*x+1 collect(f,y)得到(x+x^2)*y+1-x^2-2*x expand函數(shù) expand(f)將f展開,寫成和的形式 syms x expand((x-1)^3)得到x^3-3*x^2+3*x-1 horner函數(shù) horner(f)將f寫成鑲嵌套形式 syms x horner(x^3-6*x^2)得到(-6+x)*x^2 factor函數(shù) factor(f)將f轉(zhuǎn)換成低階有理多項(xiàng)式的乘積 syms x f=x^3-6*x^2+11*x-6 factor(f)得到(x-1)*(x-2)*(x-3)simplify(f)函數(shù) 綜合化簡 simple(f)函數(shù)的最簡形式 syms x f=2*sin(x^2)+cos(3*x)simple(f)如果不想看到中間過程,可z=simple(f)有時(shí)使用兩次simple命令可以得到最簡式 如果想知道哪個(gè)簡化命令得到最后結(jié)果,可以加一個(gè)參數(shù)how [z,how]=simple(f)

      符號(hào)表達(dá)式的替換 subs(f,new,old)f='a*x^2+b*x+c' subs(f,'t','x')得到a*(t)^2+b*(t)+c subs是一個(gè)符號(hào)函數(shù),返回一個(gè)符號(hào)變量

      subexpr函數(shù) 有時(shí)matlab返回的符號(hào)表達(dá)式難以理解,用subexpr函數(shù),可以將表達(dá)式中重復(fù)出現(xiàn)的子式用一個(gè)符號(hào)表示,從而簡化表達(dá)形式 c=sym('c','real');x=sym('x','real');s=solve(x^3-x+c)a=subexpr(s)得到sigma =-108*c+12*(-12+81*c^2)^(1/2)a =

      [ 1/6*sigma^(1/3)+2/sigma^(1/3)] [-1/12*sigma^(1/3)-1/sigma^(1/3)+1/2*i*3^(1/2)*(1/6*sigma^(1/3)-2/sigma^(1/3))] [-1/12*sigma^(1/3)-1/sigma^(1/3)-1/2*i*3^(1/2)*(1/6*sigma^(1/3)-2/sigma^(1/3))]

      pretty函數(shù)有時(shí)也能起到同樣的作用。Pretty(f)顯示函數(shù)的習(xí)慣書寫形式

      線性方程組的求解

      求解線性方程組,用反斜杠 a=hilb(3)b=[1 2 3]' ab

      矩陣的特征值和特征向量

      用eig(v,d)函數(shù),[v,d]=eig(A);其中d將返回特征值,v返回相應(yīng)的特征向量,缺省第二個(gè)參數(shù)將只返回特征值

      syms a b c real A=[a b c;b c a;c a b];[v,d]=eig(A);

      為了觀察更清楚,使用以前學(xué)過的替換函數(shù),這里不用默認(rèn)的sigma,而改用M,顯式的代替繁瑣的表達(dá)子式

      vv=subexpr(v);vs=subs(vv,'m','sigma')運(yùn)行結(jié)果為 vs =

      [ 1, 1, 1] [-(c+(m)-a)/(c-b),-(c-(m)-a)/(c-b), 1] [-(a-(m)-b)/(c-b),-(a+(m)-b)/(c-b), 1]

      再用m替換d中的表達(dá)子式 dd=subexpr(d);ds=subs(dd,’m’,’sigma’)運(yùn)行結(jié)果為ds =

      [(m), 0, 0] [ 0,-(m), 0] [ 0, 0, c+a+b] note 求特征值也可用以下命令

      f=poly(A)poly函數(shù) 用來求A的特征多項(xiàng)式 d=solve(f)solve(f)函數(shù)用來求多項(xiàng)式的解

      svd()函數(shù) 求矩陣的奇異值分解,將矩陣分解為兩個(gè)正交矩陣和對(duì)角矩陣的乘積 a=sym(hilb(2))[u,s,v]=svd(a)

      代數(shù)方程和方程組

      代數(shù)方程的求解可用solve(f)命令,如果f不含=,matlab將給表達(dá)式置零。方程的未知量在默認(rèn)的情況下由findsym決定或顯式指出 syms a b c x solve(a*x^2+b*x+c)以x為默認(rèn)變量 solve(a*x^2+b*x+c,a)指定對(duì)a為變量 求含有等號(hào)的方程的解(一定要加單引號(hào))f=solve(‘cos(x)=sin(x)’)

      x=solve('exp(x)=tan(x)')如果不能求得符號(hào)解,就計(jì)算可變精度解。求解方程組與單方程類似 解一個(gè)三元一次方程

      v=solve('a*u^2+v^2','u-v=1','a^2-5*a+6')結(jié)果為v =

      a: [4x1 sym] u: [4x1 sym] v: [4x1 sym] 一些常用的符號(hào)運(yùn)算 極限運(yùn)算limit limit(f)求x到0的極限

      limit(f,x,a)或limit(f,a)求x到a的極限

      limit(f,a,’left’)limit(f,a,’right’)求x到a的左極限和右極限 limit(f,inf)求x趨于無窮的極限 符號(hào)求和symsum(s)symsum(s)以默認(rèn)的findsym決定的變量求和 symsum(s,v)以s中指定的變量v求和

      symsum(s,a,b)symsum(s,v,a,b)從a到b的有限項(xiàng)求和 syms k n symsum(k)從0到k求和

      symsum(k,0,n-1)從0到n-1求和 symsum(1/k^2,1,inf)無限項(xiàng)求和 泰勒級(jí)數(shù)taylor(f)taylor(f)表示求f的5階talor展開,可以增加參數(shù)指定展開的階數(shù)(默認(rèn)式5),也可以對(duì)于多元函數(shù)指定展開的變量,還可以指定在哪個(gè)點(diǎn)展開 syms x t taylor(exp(-x))taylor(log(x),6,1)在1點(diǎn)的6階taylor展開 taylor(x^t,3,t)對(duì)t的3階taylor展開 積分變換

      fourier變換和逆變換fourier(f)

      fourier分析可以將信號(hào)轉(zhuǎn)換為不同頻率的正弦曲線??蓪?duì)離散數(shù)據(jù)進(jìn)行分析,也可對(duì)連續(xù)時(shí)間系統(tǒng)進(jìn)行分析,特別在信號(hào)和圖形處理領(lǐng)域。離散變換(DFT)作用于有限數(shù)據(jù)的采集,最有效的是快速fourier變換(FFT)

      F=fourier(f)獨(dú)立變量x,返回關(guān)于參數(shù)w的函數(shù) F=fourier(f,v)返回函數(shù)F關(guān)于符號(hào)對(duì)象v的函數(shù)

      F=fourier(f,u,v)對(duì)關(guān)于u的函數(shù)f進(jìn)行變換,而不是缺省的w,返回函數(shù)F是關(guān)于v的函數(shù) syms t v w x fourier(1/t)fourier(exp(-t)*sym('Heaviside(t)'),v)fourier(diff(sym('F(x)')),x,w)Fourier逆變換

      f=ifourier(F)缺省獨(dú)立變量w,返回關(guān)于x的函數(shù)對(duì)w進(jìn)行積分 f=ifourier(F,v)返回函數(shù)f是關(guān)于符號(hào)對(duì)象v的函數(shù),而不是缺省的x f=ifourier(F,u,v)是關(guān)于u的函數(shù)f進(jìn)行變換,而不是缺省的x,返回函數(shù)f是關(guān)于v的函數(shù) Laplace變換和逆變換laplace(f)應(yīng)用于連續(xù)系統(tǒng)(微分方程)中,可以用來求解微分方程的初值問題 laplace(F)缺省獨(dú)立變量t,缺省返回關(guān)于s的函數(shù)L laplace(F,t)返回關(guān)于t的函數(shù)L,而不是缺省的s laplace(F,w,z)對(duì)函數(shù)F的自變量w積分,返回關(guān)于z的函數(shù)L 逆變換

      F=ilaplace(L)缺省獨(dú)立變量s,返回關(guān)于t的函數(shù)F F=ilaplace(L,y)返回關(guān)于y的函數(shù)F,而不是缺省的t F=ilaplace(L,y,x)對(duì)函數(shù)L的自變量y積分,返回關(guān)于x的函數(shù)F Z-變換和逆變換ztrans(f)標(biāo)量符號(hào)f的Z-變換 F=ztrans(f)缺省獨(dú)立變量n,返回關(guān)于z的函數(shù)

      F=ztrans(f,w)返回關(guān)于符號(hào)變量w的函數(shù)F,而不是缺省的z F=ztrans(f,k,w)關(guān)于k的符號(hào)變量作Z-變換返回關(guān)于符號(hào)變量w的函數(shù) 逆變換iztrans(F)f=iztrans(F)或(F,k)或(F,w,k)

      符號(hào)繪圖函數(shù)

      符號(hào)函數(shù)簡易繪圖函數(shù)ezplot(f)f可以包含單個(gè)符號(hào)變量x的字符串或表達(dá)式,默認(rèn)畫圖區(qū)間(-2pi,2pi),如果f包含x和y,畫出的圖像是f(x,y)=0的圖像,缺省區(qū)間是-2pi

      Ezplot(f,xmin,xmax)或ezplot(f,[xmin,xmax])繪制在xmin

      [x,y]=fplot(fun,lims,…)只返回用來繪圖的點(diǎn),并不繪圖,可以自己調(diào)用plot(x,y)來繪制圖形。syms x subplot(2,2,1),fplot('humps',[0,1])f='abs(exp(x*(0:9))*ones(10,1))' subplot(2,2,2),fplot(f,[0,2*pi])subplot(2,2,3),fplot('sin(1./x)',[0.01,0.1],1e-3)matlab繪圖 二維圖形的繪制

      plot 在(x,y)坐標(biāo)下繪制二維圖像 支持多個(gè)x-y二元結(jié)構(gòu) plot3 在(x,y,z)坐標(biāo)下繪制三維圖形 loglog 在(x,y)對(duì)數(shù)坐標(biāo)下繪制二維圖形

      semilogx 在x為對(duì)數(shù)坐標(biāo),y為線性坐標(biāo)的二維坐標(biāo)中繪圖 semilogy 在x為線性坐標(biāo),y為對(duì)數(shù)坐標(biāo)的二維坐標(biāo)中繪圖 plotyy 在有兩個(gè)y軸的坐標(biāo)下繪圖

      plot用法

      plot(x,y,'--rs','linewidth',2,'markeredgecolor','k',...'markerfacecolor','g','markersize',10)plotyy用法

      plotyy(x1,y1,x2,y2)以x1為標(biāo)準(zhǔn),左軸為y軸繪制y1向量,x2為基準(zhǔn),右軸為y軸,繪制y2向量 plotyy(x1,y1,x2,y2,fun)用字符串fun指定的繪圖函數(shù)(plot ,semilogx,semilogy,loglog,stem)plotyy((x1,y1,x2,y2,fun1,fun2)t=0:pi/20:2*pi;y=exp(sin(t));plotyy(t,y,t,y,'plot','stem')stem為二維桿圖

      [ax,h1,h2]=plotyy(?)返回左右兩y軸的句柄(分別為ax(1)ax(2),以及在兩坐標(biāo)軸中生成的圖形對(duì)象的句柄,分別為h1 h2 t=0:900;A=1000;a=0.005;b=0.005;z2=cos(b*t);z1=A*exp(-a*t);[haxes,hline1,hline2]=plotyy(t,z1,t,z2,'semilogy','plot');axes(haxes(1))ylabel('semilog plot')對(duì)數(shù)坐標(biāo) axes(haxes(2))ylabel('linear plot')set(hline2,'linestyle','--')其他二維圖形繪圖指令 bar(x,y)二維條形圖 hist(y,n)直方圖

      histfit(y,n)帶擬和線的直方圖,n為直方的個(gè)數(shù) stem(x,y)火柴桿圖 comet(x,y)彗星狀軌跡圖 compass(x,y)羅盤圖 errorbar(x,y,l,u)誤差限圖 feather(x,y)羽毛狀圖

      fill(x,y,’r’)二維填充函數(shù) 以紅色填充 pie(x)餅圖

      polar(t,r)極坐標(biāo)圖 r為幅值向量,t為角度向量 t=0:0.1:8*pi;r=cos(3*t/2)+1/2;polar(t,r),xlabel('polar 指令')quiver(x,y)磁力線圖 stairs(x,y)階梯圖 loglog(x,y)對(duì)數(shù)圖

      semilogx semilogy 半對(duì)數(shù)圖

      matlab三維作圖 plot3(x,y,z)三維線條圖 t=0:pi/50:15*pi;plot3(sin(t),cos(t),t,'r*')與plot相似 v=axis 返回各個(gè)軸的范圍

      text(0,0,0,'origin')在某個(gè)坐標(biāo)點(diǎn)加入文字

      plot3 增加維數(shù)可以一次畫多個(gè)圖,使所個(gè)二維圖形眼一個(gè)軸排列

      三維網(wǎng)線圖的繪制 mesh(x,y,z)網(wǎng)格圖

      mesh(x,y,z,c)四維作圖,(x,y,z)代表空間三維,c代表顏色維 mesh(…,’property name’,property value,…)設(shè)置曲面各屬性的值 [x,y,z]=sphere(12);mesh(x,y,z),hidden off 曲面設(shè)置為透明 meshc(x,y,z)畫網(wǎng)格圖和基本的等值線圖 meshz(x,y,z)畫包含零平面的網(wǎng)格圖

      waterfall(x,y,z)與mesh一樣,只是在效果上它的網(wǎng)格線只在x軸一個(gè)方向出現(xiàn),呈瀑布狀水線 兩個(gè)變量的標(biāo)量指令meshgrid(x)或meshgrid(x,y)(p179)將兩個(gè)一維向量生成兩個(gè)二維向量,以便進(jìn)行z=f(x,y)運(yùn)算,算出z的所有值,z為x y的標(biāo)量指令 [X,Y]=meshgrid(x)meshgrid(x,x)的簡略式 [X,Y]=meshgrid(x,y)[X,Y,Z]=meshgrid(x,y,z)用于三維圖形的繪制 [x,y]=meshgrid([-2:0.1:2]);z=x.*exp(-x.^2-y.^2);plot3(x,y,z)surf(x,y,z,c)著色表面圖 surf(x,y,z)隱含著c=z surf(z)隱含著x,y的值為surf指令根據(jù)z的尺寸自動(dòng)生成 surfc 畫出具有基本等值線的曲面圖 surfl 畫出一個(gè)具有亮度的曲面圖

      shading flat 網(wǎng)線圖的某整條線段或曲面圖的某個(gè)貼片都著一種顏色

      shading interp 某一線段或貼片上各點(diǎn)的顏色由線或片的頂端顏色經(jīng)線性插值而得 曲面圖不能設(shè)成網(wǎng)格圖那樣透明,但需要時(shí),可以在孔洞處將數(shù)據(jù)設(shè)成nun

      等高線的繪制

      在二維空間繪制等高線contour contour(x,y,z,n)繪制n條等值線(n可省略)

      contour(x,y,z,v)在向量v所指定的高度上繪制等高線(可?。ヽ=contour(x,y,z)計(jì)算等值線的高度值

      c=contourc(x,y,z,n)計(jì)算n條等高線的x-y坐標(biāo)數(shù)據(jù)

      c=contourc(x,y,z,v)計(jì)算向量v所指定的等高線的x-y坐標(biāo)數(shù)據(jù) clabel(c)給c陣所表示的等高線加注高度標(biāo)識(shí) clabel(c,v)給向量v所指定的等高線加注高度標(biāo)識(shí) clabel(c,’manual’)借助鼠標(biāo)給點(diǎn)中的等高線加注高度標(biāo)識(shí) 三維空間繪制等高線contour3(x,y,z)[x,y,z]=peaks(30);contour3(x,y,z,16,'g')二元函數(shù)的偽彩圖pcolor(x,y,z)是指令surf的二維等效指令,代表偽彩色,可與contour單色等值線結(jié)合畫彩色等值線圖 [x,y,z]=peaks(30);pcolor(x,y,z);偽彩色 shading interp 顏色插值,使顏色平均漸變 hold on,contour(x,y,z,20,'k')...畫等值線 colorbar('horiz')水平顏色標(biāo)尺 c=contour(x,y,z,8);clabel(c)標(biāo)注等高線 矢量場圖(速度圖)quiver 用于描述函數(shù)z=f(x,y)在點(diǎn)(x,y)的梯度大小和方向 [X,Y]=meshgrid(x,y)X,Y為Z陣元素的坐標(biāo)矩陣

      [U,V]=gradient(Z,dx,dy)U,V分別為Z對(duì)x對(duì)y的導(dǎo)數(shù),dx dy是x y方向上的計(jì)算步長

      quiver(X,Y,U,V,s,’linespec’,’filled’)U,V為必選項(xiàng),決定矢量場圖中各矢量的大小和方向,s為指定所畫箭頭的大小,缺省時(shí)取1,linespec為字符串,指定合法的線形和彩色,filled用于填充定義的繪圖標(biāo)識(shí)符 [x,y]=meshgrid(-2:.2:2,-1:.15:1);z=x.*exp(-y.^2);[px,py]=gradient(z,.2,.15);contour(x,y,z);hold on,quiver(x,y,px,py),axis image 多邊形的填色fill(x,y,c)c定義顏色字符串,可以是’r’,’b’等,也可以用RGB三色表示[r,g,b]值為0-1 圖形的四維表現(xiàn)

      matlab常用到的永久變量。

      ans:計(jì)算結(jié)果的默認(rèn)變量名。i j:基本虛數(shù)單位。

      eps:系統(tǒng)的浮點(diǎn)(F10a9Bg個(gè)oht): inf: 無限大,例1/0 nan NaN:非數(shù)值(N航a nmnb謝)pi:圓周率n(n=3.1415926..)。realmax:系統(tǒng)所能表示的最大數(shù)值。realmin: 系統(tǒng)所能表示的最小數(shù)值,nargin: 函數(shù)的輸入?yún)?shù)個(gè)數(shù): nargout:函數(shù)的輸出多數(shù)個(gè)數(shù)

      ①matlab的所有運(yùn)算都定義在復(fù)數(shù)城上。對(duì)于方根問題運(yùn)算只返回處于第一象限的解。

      ⑦matlab分別用左斜/和右來表示“左除和“右除”運(yùn)算。對(duì)于標(biāo)量運(yùn)算而言,這兩者的作用沒有區(qū)別:但對(duì)于矩陣運(yùn)算來說,二者將產(chǎn)生不同的結(jié)果。多項(xiàng)式的表示方法和運(yùn)算

      p(x)=x^3-3x-5 可以表示為p=[1 0 –3 5],求x=5時(shí)的值用plotval(p,5)也可以求向量:a=[3 4 5],plotval(p,a)函數(shù)roots求多項(xiàng)式的根 roots(p)p=[1 0-3 5];r=roots(p)由根重組多項(xiàng)式poly(根)q=poly(r)real(q)有時(shí)會(huì)產(chǎn)生虛根,這時(shí)用real抽取實(shí)根即可 conv(a,b)函數(shù)

      多項(xiàng)式乘法(執(zhí)行兩個(gè)數(shù)組的卷積)a=[1 2 3 4];b=[1 4 9 16];c=conv(a,b)多項(xiàng)式的加減法,低階的多項(xiàng)式必須用首零填補(bǔ),使其與高階多項(xiàng)式有同樣的階次 多項(xiàng)式除法 [q , r]=deconv(c , b)表示b/c q為商多項(xiàng)式,r為余數(shù) 多項(xiàng)式的導(dǎo)數(shù) polyder(f)f=[ 2 4 5 6 2 1];s=polyder(f)MATLAB常用的基本數(shù)學(xué)函數(shù) abs(x):純量的絕對(duì)值或向量的長度

      angle(z):復(fù) 數(shù)z的相角(Phase angle)

      sqrt(x):開平方

      real(z):復(fù)數(shù)z的實(shí)部imag(z):復(fù)數(shù)z的虛 部

      conj(z):復(fù)數(shù)z的共軛復(fù)數(shù) round(x):四舍五入至最近整數(shù) fix(x):無論正負(fù),舍去小數(shù)至最近整數(shù) floor(x):地板函數(shù),即舍去正小數(shù)至最近整數(shù) ceil(x):天花板函數(shù),即加入正小數(shù)至最近整數(shù) rat(x):將實(shí)數(shù)x化為分?jǐn)?shù)表示 rats(x):將實(shí)數(shù)x化為多項(xiàng)分?jǐn)?shù)展開 sign(x):符號(hào)函數(shù)(Signum function)。

      當(dāng)x<0時(shí),sign(x)=-1;

      當(dāng)x=0時(shí),sign(x)=0;當(dāng)x>0時(shí),sign(x)=1。

      > 小整理:MATLAB常用的三角函數(shù) sin(x):正弦函數(shù) cos(x):馀弦函數(shù) tan(x):正切函數(shù) asin(x):反正弦函數(shù) acos(x):反馀弦函數(shù) atan(x):反正切函數(shù)

      atan2(x,y):四象限的反正切函數(shù) sinh(x):超越正弦函數(shù) cosh(x):超越馀弦函數(shù) tanh(x):超越正切函數(shù) asinh(x):反超越正弦函數(shù) acosh(x):反超越馀弦函數(shù) atanh(x):反超越正切函數(shù)

      變數(shù)也可用來存放向量或矩陣,并進(jìn)行各種運(yùn)算

      若要輸入矩陣,則必須在每一列結(jié)尾加上分號(hào)(;),如下例:

      A = [1 2 3 4;5 6 7 8;9 10 11 12];

      第二篇:MatLab 知識(shí)小結(jié)

      MatLab 知識(shí)小結(jié)

      matlab常用到的永久變量。ans:計(jì)算結(jié)果的默認(rèn)變量名。i j:基本虛數(shù)單位。

      eps:系統(tǒng)的浮點(diǎn)(F10a9Bg個(gè)oht): inf: 無限大,例1/0 nan NaN:非數(shù)值(N航a nmnb謝)pi:圓周率n(n=3.1415926..)。realmax:系統(tǒng)所能表示的最大數(shù)值。realmin: 系統(tǒng)所能表示的最小數(shù)值,nargin: 函數(shù)的輸入?yún)?shù)個(gè)數(shù): nargout:函數(shù)的輸出多數(shù)個(gè)數(shù)

      ①matlab的所有運(yùn)算都定義在復(fù)數(shù)城上。對(duì)于方根問題運(yùn)算只返回處于第一象限的解。

      ⑦matlab分別用左斜/和右來表示“左除和“右除”運(yùn)算。對(duì)于標(biāo)量運(yùn)算而言,這兩者的作用沒有區(qū)別:但對(duì)于矩陣運(yùn)算來說,二者將產(chǎn)生不同的結(jié)果。

      多項(xiàng)式的表示方法和運(yùn)算

      p(x)=x^3-3x-5 可以表示為p=[1 0 –3 5],求x=5時(shí)的值用plotval(p,5)也可以求向量:a=[3 4 5],plotval(p,a)函數(shù)roots求多項(xiàng)式的根 roots(p)p=[1 0-3 5];r=roots(p)由根重組多項(xiàng)式poly(根)q=poly(r)

      real(q)有時(shí)會(huì)產(chǎn)生虛根,這時(shí)用real抽取實(shí)根即可

      conv(a,b)函數(shù) 多項(xiàng)式乘法(執(zhí)行兩個(gè)數(shù)組的卷積)a=[1 2 3 4];b=[1 4 9 16];c=conv(a,b)多項(xiàng)式的加減法,低階的多項(xiàng)式必須用首零填補(bǔ),使其與高階多項(xiàng)式有同樣的階次

      多項(xiàng)式除法 [q , r]=deconv(c , b)表示b/c q為商多項(xiàng)式,r為余數(shù) 多項(xiàng)式的導(dǎo)數(shù) polyder(f)f=[ 2 4 5 6 2 1];s=polyder(f)

      多項(xiàng)式的曲線擬合

      x=[1 2 3 4 5];

      y=[5.6 40 150 250 498.9];

      p=polyfit(x,y,n)數(shù)據(jù)的n次多項(xiàng)式擬合 poly:矩陣的特征多項(xiàng)式、根集對(duì)應(yīng)的多項(xiàng)式

      x2=1:0.1:5;n取1時(shí),即為最小二乘法

      y2=polyval(p,x2);計(jì)算多項(xiàng)式的值(polyvalm計(jì)算矩陣多項(xiàng)式)plot(x,y,'*',x2,y2);grid on 最小二乘法 x=[1 2 3 4 5];

      y=[5.6 40 150 250 498.9];plot(x,y,’*’),lsline

      多項(xiàng)式插值(p158)

      YI=interp1(x,y,XI,’method’)一維插值

      (XI為插值點(diǎn)的自變量坐標(biāo)向量,可以為數(shù)組或單個(gè)數(shù)。

      method為選擇插值算法的方法,包括:

      linear(線性插值)cubic(立方插值)spline(三次樣條插值)nearst(最近臨插值)

      例如:人口預(yù)測 year=1900:10:1900;

      number=[78 91 105 ?.每十年的人口數(shù)];

      x=1900:1:2000;

      y=interp1(year,number,x,’spline’);plot(year,numeber,’*’,x,y);grid on

      一維博里葉變換插值使用函數(shù)interpft實(shí)現(xiàn),計(jì)算含有周期函數(shù)值的矢量的傅里葉變換

      然后使用更多的點(diǎn)進(jìn)行傅里葉變換的逆變換,函數(shù)的使用格式如下:y=interpft(x,n)其中x是含有周期函數(shù)值的矢量,并為等距的點(diǎn),n為返同等間距點(diǎn)的個(gè)數(shù)。

      求解一元函數(shù)的最小值

      y=fminbnd('humps',0.3,1)humps為一內(nèi)置函數(shù)

      求解多元函數(shù)的最小值

      函數(shù)fminserch用于求多元函數(shù)的最小值。它可以指定一個(gè)開始的矢量,并非指定一個(gè)區(qū)間。此函數(shù)返回一個(gè)矢量為此多元函數(shù)局部最小函數(shù)值對(duì)應(yīng)的自變量

      紋理成圖功能

      由warp函數(shù)的紋理成圖功能實(shí)現(xiàn)平面圖像在空間三維曲面上的顯示。將文件名為flowers.tif的圖像分別投影到圓柱形和球星表面上 i=imread('flowers.tif');[x,y,z]=cylinder;

      subplot(1,2,1),warp(x,y,z,i);[x,y,z]=sphere(50);subplot(1,2,2),warp(x,y,z,i);warp(x,y,z,i);

      求函數(shù)的零點(diǎn)

      求函數(shù)humps在[1,2]區(qū)間上的零點(diǎn) fzero(‘humps’,[1,2]);

      也可以給一個(gè)初始值 fzero(‘humps’,0.9);

      對(duì)于多項(xiàng)式可直接由roots求其根 roots(‘4*x^3+……’);也可以用solve c=sym('c','real');x=sym('x','real');s=solve(x^3-x+c)

      函數(shù)定積分

      q=quadl(‘humps’,0,1)求humps函數(shù)在0 1區(qū)間上的定積分,也可以用quad語句

      二重積分 首先計(jì)算內(nèi)積分,然后借助內(nèi)積分的中間結(jié)果再求出二重積分的值,類似于積分中的分步積分法。Result=dblquad(‘integrnd’,xin,xmax.,ymin,ymax)integrnd為被積函數(shù)的名稱字符串

      符號(hào)積分運(yùn)算int(f)最精確的是符號(hào)積分法 計(jì)算s=∫12[∫01xydx]dy syms x y 中間為空格,不能為逗號(hào) s=int(int(‘x^y’,’x’,0,1),’y’,1,2)引號(hào)可省略 vpa(s)顯示s的值 內(nèi)積分限為函數(shù)的二重積分 I=∫14[∫√y2(x2+y2)dx]dy 符號(hào)法I=vpa(int(int(‘x^2+y^2’,’x’,sqrt(y),2),’y’,1,4)

      微分運(yùn)算(diff)

      微分是描述一個(gè)函數(shù)在一點(diǎn)處的斜率,是函數(shù)的微觀性質(zhì)、因此積分對(duì)函數(shù)的形狀在小范圍內(nèi)的改變不敏感,而微分很敏感?!獋€(gè)函數(shù)的小的變化,容易產(chǎn)生相鄰點(diǎn)的斜率的大的改變。由干微分這個(gè)固有的困難.所以盡可能避免數(shù)值微分.特別是對(duì)實(shí)驗(yàn)獲得的數(shù)據(jù)進(jìn)行微分。在這種情況,最好用最小二乘曲線擬合這種數(shù)據(jù),然后對(duì)所得到的多項(xiàng)式進(jìn)行微分;或用另一種方法對(duì)點(diǎn)數(shù)據(jù)進(jìn)行三次樣條擬合,然后尋找樣條微分,但是,有時(shí)微分運(yùn)算是不能避免的,在MATLAB中.用函數(shù)diff汁算一個(gè)矢量或者矩陣的微分(也可以理解為差分)。a=[1 2 3 3 3 7 8 9];b=diff(a)一次微分 bb=diff(a,2)二次微分 實(shí)際上diff(a)=[a(2)-a(1),a(3)-a(2),??,a(n)-a(n-1)] 對(duì)于求矩陣的微分,即為求各列矢量的微分,從矢量的微分值可以判斷矢量的單調(diào)性、是否等間距以及是否有重復(fù)的元素。符號(hào)微分運(yùn)算(diff)syms x t a f =cos(a*x)df =diff(f)由findsym的規(guī)則,隱式的指定對(duì)x進(jìn)行微分

      dfa=diff(f,'a')指定對(duì)變量a進(jìn)行微分 dfa=diff(f,'a',3)三次微分

      diff函數(shù)不僅作用在標(biāo)量上,還可以在矩陣上,運(yùn)算規(guī)則就是按矩陣的元素分別進(jìn)行微分 syms a x A=[cos(a*x),sin(a*x),-sin(a*x),cos(a*x)];dA=diff(A)微分方程dsolve

      在matlab中,符號(hào)表達(dá)式中包含字母D用來表示微分運(yùn)算,D2,D3分別對(duì)應(yīng)第二,第三階導(dǎo)數(shù),D2y表示d2y/dt2 把t缺省了

      y=dsolve(‘Dy=f(y)’)單個(gè)方程,單個(gè)輸出

      [u,v]=dsolve(‘Du=f(u,v)’,’Dv=g(u,v)’)2個(gè)方程,2個(gè)輸出

      s=dsolve(‘Dx=f(x,y,z)’,’Dy=g(x,y,z)’,’Dz=k(x,y,z)’)

      s.x s.y s.z 3個(gè)方程,架構(gòu)數(shù)組

      dsolve('Dx=-a*x')結(jié)果:C1*exp(-a*t)沒給定初值,所以結(jié)果中含參變量 x=dsolve('Dx=-a*x','x(0)=1','s')結(jié)果exp(-a*s)給定了初值,獨(dú)立變量設(shè)為s

      計(jì)算多元函數(shù)的梯度

      fx=gradient(f)f是一個(gè)矢量返回f的一維數(shù)值梯度,fx對(duì)應(yīng)于x方向的微分。

      [x,y]=meshgrid(-2:.2:2,-2:.2:2);z=x.*exp(-x.^2-y.^2);[px,py]=gradient(z,.2,.2);contour(z),hold on 畫等值線 quiver(px,py)

      matlab字符串運(yùn)算 利用sym命令創(chuàng)建表達(dá)式

      f=sym(‘cos(x)+sin(x)’)或 syms x , f=cos(x)+sin(x)diff(f)求其導(dǎo)數(shù)(也

      f=diff(‘cos(x)+cos(y)’)

      當(dāng)字符表達(dá)式中含有多于一個(gè)的變量時(shí),只有—個(gè)變量是獨(dú)立變量。如果不告訴matlab哪一個(gè)變量是獨(dú)立變量,則可以通過findsym命令詢問 利用findsym命令查詢獨(dú)立變量 f=sym('sin(a*x)+b')

      findsym(f,1)給出獨(dú)立變量(一個(gè)變量,如果為2則給出2個(gè)變量)findsym(f)給出所有變量

      符號(hào)表達(dá)式的化簡和替換

      collect函數(shù) collect(f,v)表示將f表示為關(guān)于符號(hào)變量v的多項(xiàng)式形式,即關(guān)于v合并同類項(xiàng),v缺省,則用findsym確定的缺省變量 syms x y

      f=x^2*y+y*x-x^2-2*x+1 collect(f)得到(-1+y)*x^2+(y-2)*x+1 collect(f,y)

      (x+x^2)*y+1-x^2-2*x

      expand函數(shù) expand(f)將f展開,寫成和的形式 syms x

      expand((x-1)^3)得

      x^3-3*x^2+3*x-1

      horner函數(shù) horner(f)將f寫成鑲嵌套形式 syms x

      horner(x^3-6*x^2)得

      (-6+x)*x^2

      factor函數(shù) factor(f)將f轉(zhuǎn)換成低階有理多項(xiàng)式的乘積 syms x

      f=x^3-6*x^2+11*x-6

      factor(f)得到(x-1)*(x-2)*(x-3)simplify(f)函數(shù) 綜合化簡 simple(f)函數(shù)的最簡形式 syms x

      f=2*sin(x^2)+cos(3*x)

      simple(f)如果不想看到中間過程,可z=simple(f)有時(shí)使用兩次simple命令可以得到最簡式

      如果想知道哪個(gè)簡化命令得到最后結(jié)果,可以加一個(gè)參數(shù)how [z,how]=simple(f)

      符號(hào)表達(dá)式的替換 subs(f,new,old)f='a*x^2+b*x+c'

      subs(f,'t','x')得到a*(t)^2+b*(t)+c subs是一個(gè)符號(hào)函數(shù),返回一個(gè)符號(hào)變量

      subexpr函數(shù) 有時(shí)matlab返回的符號(hào)表達(dá)式難以理解,用subexpr函數(shù),可以將表達(dá)式中重復(fù)出現(xiàn)的子式用一個(gè)符號(hào)表示,從而簡化表達(dá)形式 c=sym('c','real');x=sym('x','real');s=solve(x^3-x+c)a=subexpr(s)

      得到

      sigma

      =

      -108*c+12*(-12+81*c^2)^(1/2)a =

      [ 1/6*sigma^(1/3)+2/sigma^(1/3)] [-1/12*sigma^(1/3)-1/sigma^(1/3)+1/2*i*3^(1/2)*(1/6*sigma^(1/3)-2/sigma^(1/3))] [-1/12*sigma^(1/3)-1/sigma^(1/3)-1/2*i*3^(1/2)*(1/6*sigma^(1/3)-2/sigma^(1/3))]

      pretty函數(shù)有時(shí)也能起到同樣的作用。Pretty(f)顯示函數(shù)的習(xí)慣書寫形式

      線性方程組的求解

      求解線性方程組,用反斜杠 a=hilb(3)b=[1 2 3]' ab

      矩陣的特征值和特征向量

      用eig(v,d)函數(shù),[v,d]=eig(A);其中d將返回特征值,v返回相應(yīng)的特征向量,缺省第二個(gè)參數(shù)將只返回特征值 syms a b c real A=[a b c;b c a;c a b];[v,d]=eig(A);

      為了觀察更清楚,使用以前學(xué)過的替換函數(shù),這里不用默認(rèn)的sigma,而改用M,顯式的代替繁瑣的表達(dá)子式 vv=subexpr(v);vs=subs(vv,'m','sigma')運(yùn)行結(jié)果為

      vs = [ 1, 1, 1] [-(c+(m)-a)/(c-b),-(c-(m)-a)/(c-b), 1] [-(a-(m)-b)/(c-b),-(a+(m)-b)/(c-b), 1]

      再用m替換d中的表達(dá)子式 dd=subexpr(d);ds=subs(dd,’m’,’sigma’)運(yùn)行結(jié)果為ds =

      [(m), 0, 0] [ 0,-(m), 0] [ 0, 0, c+a+b] note 求特征值也可用以下命令

      f=poly(A)poly函數(shù) 用來求A的特征多項(xiàng)式

      d=solve(f)solve(f)函數(shù)用來求多項(xiàng)式的解

      svd()函數(shù) 求矩陣的奇異值分解,將矩陣分解為兩個(gè)正交矩陣和對(duì)角矩陣的乘積 a=sym(hilb(2))[u,s,v]=svd(a)

      代數(shù)方程和方程組

      代數(shù)方程的求解可用solve(f)命令,如果f不含=,matlab將給表達(dá)式置零。方程的未知量在默認(rèn)的情況下由findsym決定或顯式指出 syms a b c x

      solve(a*x^2+b*x+c)以x為默認(rèn)變量

      solve(a*x^2+b*x+c,a)指定對(duì)a為變量

      求含有等號(hào)的方程的解(一定要加單引號(hào))

      f=solve(‘cos(x)=sin(x)’)

      x=solve('exp(x)=tan(x)')如果不能求得符號(hào)解,就計(jì)算可變精度解。求解方程組與單方程類似 解一個(gè)三元一次方程

      v=solve('a*u^2+v^2','u-v=1','a^2-5*a+6')結(jié)果為v =

      a: [4x1 sym] u: [4x1 sym] v: [4x1 sym]

      一些常用的符號(hào)運(yùn)算 極限運(yùn)算limit

      limit(f)求x到0的極限

      limit(f,x,a)或limit(f,a)求x到a的極限

      limit(f,a,’left’)limit(f,a,’right’)求x到a的左極限和右極限 limit(f,inf)求x趨于無窮的極限 符號(hào)求和symsum(s)

      symsum(s)以默認(rèn)的findsym決定的變量求和

      symsum(s,v)以s中指定的變量v求和

      symsum(s,a,b)symsum(s,v,a,b)從a到b的有限項(xiàng)求和

      syms k n

      symsum(k)從0到k求和

      symsum(k,0,n-1)從0到n-1求和 symsum(1/k^2,1,inf)無限項(xiàng)求和 泰勒級(jí)數(shù)taylor(f)

      taylor(f)表示求f的5階talor展開,可以增加參數(shù)指定展開的階數(shù)(默認(rèn)式5),也可以對(duì)于多元函數(shù)指定展開的變量,還可以指定在哪個(gè)點(diǎn)展開 syms x t taylor(exp(-x))

      taylor(log(x),6,1)在1點(diǎn)的6階taylor展開

      taylor(x^t,3,t)對(duì)t的3階taylor展開 積分變換

      fourier變換和逆變換fourier(f)fourier分析可以將信號(hào)轉(zhuǎn)換為不同頻率的正弦曲線??蓪?duì)離散數(shù)據(jù)進(jìn)行分析,也可對(duì)連續(xù)時(shí)間系統(tǒng)進(jìn)行分析,特別在信號(hào)和圖形處理領(lǐng)域。離散變換(DFT)作用于有限數(shù)據(jù)的采集,最有效的是快速fourier變換(FFT)F=fourier(f)獨(dú)立變量x,返回關(guān)于參數(shù)w的函數(shù)

      F=fourier(f,v)返回函數(shù)F關(guān)于符號(hào)對(duì)象v的函數(shù)

      F=fourier(f,u,v)對(duì)關(guān)于u的函數(shù)f進(jìn)行變換,而不是缺省的w,返回函數(shù)F是關(guān)于v的函數(shù) syms t v w x fourier(1/t)

      fourier(exp(-t)*sym('Heaviside(t)'),v)fourier(diff(sym('F(x)')),x,w)Fourier逆變換

      f=ifourier(F)缺省獨(dú)立變量w,返回關(guān)于x的函數(shù)對(duì)w進(jìn)行積分 f=ifourier(F,v)返回函數(shù)f是關(guān)于符號(hào)對(duì)象v的函數(shù),而不是缺省的x f=ifourier(F,u,v)是關(guān)于u的函數(shù)f進(jìn)行變換,而不是缺省的x,返回函數(shù)f是關(guān)于v的函數(shù)

      Laplace變換和逆變換laplace(f)應(yīng)用于連續(xù)系統(tǒng)(微分方程)中,可以用來求解微分方程的初值問題 laplace(F)缺省獨(dú)立變量t,缺省返回關(guān)于s的函數(shù)L

      laplace(F,t)返回關(guān)于t的函數(shù)L,而不是缺省的s

      laplace(F,w,z)對(duì)函數(shù)F的自變量w積分,返回關(guān)于z的函數(shù)L 逆變換

      F=ilaplace(L)缺省獨(dú)立變量s,返回關(guān)于t的函數(shù)F F=ilaplace(L,y)返回關(guān)于y的函數(shù)F,而不是缺省的t F=ilaplace(L,y,x)對(duì)函數(shù)L的自變量y積分,返回關(guān)于x的函數(shù)F Z-變換和逆變換ztrans(f)標(biāo)量符號(hào)f的Z-變換

      F=ztrans(f)缺省獨(dú)立變量n,返回關(guān)于z的函數(shù)

      F=ztrans(f,w)返回關(guān)于符號(hào)變量w的函數(shù)F,而不是缺省的z F=ztrans(f,k,w)關(guān)于k的符號(hào)變量作Z-變換返回關(guān)于符號(hào)變量w的函數(shù) 逆變換iztrans(F)f=iztrans(F)或(F,k)或(F,w,k)

      符號(hào)繪圖函數(shù)

      符號(hào)函數(shù)簡易繪圖函數(shù)ezplot(f)f可以包含單個(gè)符號(hào)變量x的字符串或表達(dá)式,默認(rèn)畫圖區(qū)間(-2pi,2pi),如果f包含x和y,畫出的圖像是f(x,y)=0的圖像,缺省區(qū)間是-2pi

      syms x t ezplot('t*cos(t)','t*sin(t)',[0,4*pi])繪制符號(hào)圖像函數(shù)fplot(fun,lims,tol,’linespec’,n)其中l(wèi)ims=[xmin,xmax]或[xmin,xmax,ymin,ymax] tol為指定相對(duì)誤差,默認(rèn)0.001 ‘linespec’指定繪圖的線型 n指定最少以n+1個(gè)點(diǎn)繪圖

      [x,y]=fplot(fun,lims,…)只返回用來繪圖的點(diǎn),并不繪圖,可以自己調(diào)用plot(x,y)來繪制圖形。syms x subplot(2,2,1),fplot('humps',[0,1])f='abs(exp(x*(0:9))*ones(10,1))' subplot(2,2,2),fplot(f,[0,2*pi])subplot(2,2,3),fplot('sin(1./x)',[0.01,0.1],1e-3)matlab繪圖 二維圖形的繪制

      plot 在(x,y)坐標(biāo)下繪制二維圖像 支持多個(gè)x-y二元結(jié)構(gòu)

      plot3 在(x,y,z)坐標(biāo)下繪制三維圖形 loglog 在(x,y)對(duì)數(shù)坐標(biāo)下繪制二維圖形

      semilogx 在x為對(duì)數(shù)坐標(biāo),y為線性坐標(biāo)的二維坐標(biāo)中繪圖

      semilogy 在x為線性坐標(biāo),y為對(duì)數(shù)坐標(biāo)的二維坐標(biāo)中繪圖

      plotyy 在有兩個(gè)y軸的坐標(biāo)下繪圖

      plot用法

      plot(x,y,'--rs','linewidth',2,'markeredgecolor','k',...'markerfacecolor','g','markersize',10)plotyy用法

      plotyy(x1,y1,x2,y2)以x1為標(biāo)準(zhǔn),左軸為y軸繪制y1向量,x2為基準(zhǔn),右軸為y軸,繪制y2向量

      plotyy(x1,y1,x2,y2,fun)用字符串fun指

      定的繪

      數(shù)

      (plot ,semilogx,semilogy,loglog,stem)plotyy((x1,y1,x2,y2,fun1,fun2)t=0:pi/20:2*pi;y=exp(sin(t));

      plotyy(t,y,t,y,'plot','stem')stem為二維桿圖

      [ax,h1,h2]=plotyy(?)返回左右兩y軸的句柄(分別為ax(1)ax(2),以及在兩坐標(biāo)軸中生成的圖形對(duì)象的句柄,分別為h1 h2 t=0:900;A=1000;a=0.005;b=0.005;z2=cos(b*t);z1=A*exp(-a*t);

      [haxes,hline1,hline2]=plotyy(t,z1,t,z2,'semilogy','plot');axes(haxes(1))

      ylabel('semilog plot')對(duì)數(shù)坐標(biāo) axes(haxes(2))ylabel('linear plot')set(hline2,'linestyle','--')其他二維圖形繪圖指令 bar(x,y)二維條形圖 hist(y,n)直方圖

      histfit(y,n)帶擬和線的直方圖,n為

      直方的個(gè)數(shù) stem(x,y)火柴桿圖 comet(x,y)彗星狀軌跡圖 compass(x,y)羅盤圖 errorbar(x,y,l,u)誤差限圖 feather(x,y)羽毛狀圖

      fill(x,y,’r’)二維填充函數(shù) 以紅色填充

      pie(x)餅圖

      polar(t,r)極坐標(biāo)圖 r為幅值向量,t為角度向量 t=0:0.1:8*pi;r=cos(3*t/2)+1/2;

      polar(t,r),xlabel('polar 指令')quiver(x,y)磁力線圖 stairs(x,y)階梯圖 loglog(x,y)對(duì)數(shù)圖

      semilogx semilogy 半對(duì)數(shù)圖

      matlab三維作圖 plot3(x,y,z)三維線條圖 t=0:pi/50:15*pi;

      plot3(sin(t),cos(t),t,'r*')與plot相似 v=axis 返回各個(gè)軸的范圍

      text(0,0,0,'origin')在某個(gè)坐標(biāo)點(diǎn)加入文字

      plot3 增加維數(shù)可以一次畫多個(gè)圖,使所個(gè)二維圖形眼一個(gè)軸排列

      三維網(wǎng)線圖的繪制 mesh(x,y,z)網(wǎng)格圖

      mesh(x,y,z,c)四維作圖,(x,y,z)代表空間三維,c代表顏色維 mesh(…,’property name’,property

      value,…)設(shè)置曲面各屬性的值

      [x,y,z]=sphere(12);

      mesh(x,y,z),hidden off 曲面設(shè)置為透明

      meshc(x,y,z)畫網(wǎng)格圖和基本的等值線圖

      meshz(x,y,z)畫包含零平面的網(wǎng)格圖 waterfall(x,y,z)與mesh一樣,只是在效果上它的網(wǎng)格線只在x軸一個(gè)方向出現(xiàn),呈瀑布狀水線

      兩個(gè)變量的標(biāo)量指令meshgrid(x)或meshgrid(x,y)(p179)

      將兩個(gè)一維向量生成兩個(gè)二維向量,以便進(jìn)行z=f(x,y)運(yùn)算,算出z的所有值,z為x y的標(biāo)量指令 [X,Y]=meshgrid(x)meshgrid(x,x)的簡略式

      [X,Y]=meshgrid(x,y)[X,Y,Z]=meshgrid(x,y,z)用于三維圖形的繪制

      [x,y]=meshgrid([-2:0.1:2]);z=x.*exp(-x.^2-y.^2);plot3(x,y,z)surf(x,y,z,c)著色表面圖 surf(x,y,z)隱含著c=z surf(z)隱含著x,y的值為surf指令根據(jù)z的尺寸自動(dòng)生成

      surfc 畫出具有基本等值線的曲面圖 surfl 畫出一個(gè)具有亮度的曲面圖 shading flat 網(wǎng)線圖的某整條線段或曲面圖的某個(gè)貼片都著一種顏色 shading interp 某一線段或貼片上各點(diǎn)的顏色由線或片的頂端顏色經(jīng)線性插值而得

      曲面圖不能設(shè)成網(wǎng)格圖那樣透明,但需要時(shí),可以在孔洞處將數(shù)據(jù)設(shè)成nun

      等高線的繪制

      在二維空間繪制等高線contour contour(x,y,z,n)繪制n條等值線(n可省略)

      contour(x,y,z,v)在向量v所指定的高度上繪制等高線(可?。?/p>

      c=contour(x,y,z)計(jì)算等值線的高度值

      c=contourc(x,y,z,n)計(jì)算n條等高線的x-y坐標(biāo)數(shù)據(jù)

      c=contourc(x,y,z,v)計(jì)算向量v所指定的等高線的x-y坐標(biāo)數(shù)據(jù) clabel(c)給c陣所表示的等高線加注高度標(biāo)識(shí)

      clabel(c,v)給向量v所指定的等高線加注高度標(biāo)識(shí)

      clabel(c,’manual’)借助鼠標(biāo)給點(diǎn)中的等高線加注高度標(biāo)識(shí)

      三維空間繪制等高線contour3(x,y,z)[x,y,z]=peaks(30);contour3(x,y,z,16,'g')二元函數(shù)的偽彩圖pcolor(x,y,z)是指令surf的二維等效指令,代表偽彩色,可與contour單色等值線結(jié)合畫彩色等值線圖 [x,y,z]=peaks(30);

      pcolor(x,y,z);偽彩色

      shading interp 顏色插值,使顏色平均漸變

      hold on,contour(x,y,z,20,'k')...畫等值線

      colorbar('horiz')水平顏色標(biāo)尺 c=contour(x,y,z,8);clabel(c)標(biāo)注等高線

      矢量場圖(速度圖)quiver

      用于描述函數(shù)z=f(x,y)在點(diǎn)(x,y)的梯度大小和方向

      [X,Y]=meshgrid(x,y)X,Y為Z陣元素的坐標(biāo)矩陣

      [U,V]=gradient(Z,dx,dy)U,V分別為Z對(duì)x對(duì)y的導(dǎo)數(shù),dx dy是x y方向上的計(jì)算步長

      quiver(X,Y,U,V,s,’linespec’,’filled’)U,V為必選項(xiàng),決定矢量場圖中各矢量的大小和方向,s為指定所畫箭頭的大小,缺省時(shí)取1,linespec為字符串,指定合法的線形和彩色,filled用于填充定義的繪圖標(biāo)識(shí)符

      [x,y]=meshgrid(-2:.2:2,-1:.15:1);z=x.*exp(-y.^2);

      [px,py]=gradient(z,.2,.15);contour(x,y,z);

      hold on,quiver(x,y,px,py),axis image 多邊形的填色fill(x,y,c)

      c定義顏色字符串,可以是’r’,’b’等,也可以用RGB三色表示[r,g,b]值為0-1

      圖形的四維表現(xiàn)

      第三篇:matlab圖像處理小結(jié)

      1.function [center, r] = solve_circle(pt1, pt2, pt3)

      2.%Effect: solve the circle which across points 'pt1', 'pt2' and 'pt3' 3.%Inputs:

      4.%pt1, pt2, pt3: [x, y]

      5.%center: the circle center [x0;y0] 6.%r: the radius of the circle 7.%Author: Su dongcai at 2012/1/2 8.A = zeros(2, 2);B = zeros(2, 1);9.[A(1, :), B(1)] = circle2line(pt1, pt2);10.[A(2, :), B(2)] = circle2line(pt2, pt3);11.center = AB;

      12.r = norm(pt1'(y2^2 + y2^2)18.%(a-x2)^2 +(b-y2)^2 = r^2 | 19.%Inputs:

      20.%pt1, pt2: [x1, y1], [x2, y2] 21.%Outputs:

      22.%A: 2[x1-x2, y1-y2]

      23.%B:(x1^2 + y1^2)pt2);

      26.B = norm(pt1)^2-norm(pt2)^2;

      close all;clear;clc;>> i=imread('rice.png');%>> imshow(i);>> background=imopen(i,strel('disk',15));>> i2=imsubtract(i,background);%>> figure,imshow(i2);>> i3=imadjust(i2,stretchlim(i2),[0 1]);%>> figure,imshow(i3);>> level=graythresh(i3);>> bw=im2bw(i3,level);%>> figure,imshow(bw);>> [labeled,numobjects]=bwlabel(bw,4);graindata=regionprops(labeled,'all');

      close all;clear;clc;i=imread('rice.png');background=imopen(i,strel('disk',15));i2=imsubtract(i,background);i3=imadjust(i2,stretchlim(i2),[0 1]);level=graythresh(i3);bw=im2bw(i3,level);[labeled,numobjects]=bwlabel(bw,4);data=regionprops(labeled,'all');

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.2 close all;clear;clc;>> i=imread('r.jpg');%>> figure,imshow(i);>> imgray=rgb2gray(i);>> figure,imshow(imgray)>> background=imopen(imgray,strel('disk',15));>> i2=imsubtract(imgray,background);%>> figure,imshow(i2);>> i3=imadjust(i2,stretchlim(i2),[0 1]);%>> figure,imshow(i3);>> level=graythresh(i3);>> bw=im2bw(i3,level);%>> figure,imshow(bw);>> imnobord=imclearborder(bw,4);%>> figure,imshow(imnobord);>> [labeled,numobjects]=bwlabel(bw,4);>> rgb_label=label2rgb(labeled,@spring,'c','shuffle');>> figure,imshow(rgb_label);>> graindata=regionprops(labeled,'all');hold on;for k=1:numobjects lab=sprintf('%d',k);text(graindata(k).Centroid(1),graindata(k).Centroid(2),lab,'Color','k');end hold off;%剔除碎米粒

      >> idxdown=find([graindata.Area]<150);%剔除碎米粒 little=ismember(labeled,idxdown);figure,imshow(little);

      [lab_little,num_little]=bwlabel(little,4);rgb_little=label2rgb(lab_little,@spring,'c','shuffle');figure,imshow(rgb_little);

      little_data=regionprops(lab_little,'all');hold on;for k=1:num_little lab=sprintf('%d',k);text(little_data(k).Centroid(1),little_data(k).Centroid(2),lab,'Color','k');end hold off;%>> graindata(idxdown,:)=[];%剔除碎米粒 %剔除連接米粒

      >> idxup=find([graindata.Area]>250);%剔除連接米粒 big=ismember(labeled,idxup);figure,imshow(big);

      [lab_big,num_big]=bwlabel(big,4);rgb_big=label2rgb(lab_big,@spring,'c','shuffle');figure,imshow(rgb_big);

      big_data=regionprops(lab_big,'all');hold on;for k=1:num_big lab=sprintf('%d',k);text(big_data(k).Centroid(1),big_data(k).Centroid(2),lab,'Color','k');end hold off;%>> graindata(numup,:)=[];%剔除連接米粒 %獲取完整米粒

      idxsuit=find([graindata.Area]>=150&[graindata.Area]<=250);suit=ismember(labeled,idxsuit);figure,imshow(suit);%獲取完整米粒 [lab_suit,num_suit]=bwlabel(suit,4);suit_data=regionprops(lab_suit,'all');hold on;for k=1:num_suit signature=sprintf('%d',k);text(suit_data(k).Centroid(1),suit_data(k).Centroid(2),signature,'Color','r');end hold off;%獲取完整米粒 whos graindata whos little_data whos big_data whos suit_data

      >> graindata >> mean([graindata.Area])>> mean([graindata.Eccentricity])>> mean([graindata.MajorAxisLength])>> mean([graindata.MinorAxisLength])>> mean([graindata.EquivDiameter])>> figure,hist([graindata.Area],20);>> figure,hist([graindata.Eccentricity],20);>> figure,hist([graindata.MajorAxisLength],20);>> figure,hist([graindata.MinorAxisLength],20);>> figure,hist([graindata.EquivDiameter],20);

      data=[graindata.Area] data=[graindata.Centroid] data=[graindata.BoundingBox] data=[graindata.SubarrayIdx] data=[graindata.MajorAxisLength] data=[graindata.MinorAxisLength] data=[graindata.Eccentricity] data=[graindata.Orientation] data=[graindata.ConvexHull] data=[graindata.ConvexImage] data=[graindata.ConvexArea] data=[graindata.Image] data=[graindata.FilledImage] data=[graindata.FilledArea] data=[graindata.EulerNumber] data=[graindata.Extrema] data=[graindata.EquivDiameter] data=[graindata.Solidity] data=[graindata.Extent] data=[graindata.PixelIdxList] data=[graindata.PixelList]

      Area 計(jì)算各個(gè)連通區(qū)域中的象素總數(shù) BoundingBox 包含相應(yīng)區(qū)域的最小矩形 Centroid 給出每個(gè)區(qū)域的質(zhì)心

      MajorAxisLength 與區(qū)域具有相同標(biāo)準(zhǔn)二階中心矩(又叫標(biāo)準(zhǔn)差)的橢圓的長軸長度 MinorAxisLength 與區(qū)域具有相同標(biāo)準(zhǔn)二階中心矩的橢圓的短軸長度 Eccentricity 與區(qū)域具有相同標(biāo)準(zhǔn)二階中心矩的橢圓的離心率

      Orientation 與區(qū)域具有相同標(biāo)準(zhǔn)二階中心矩的橢圓的長軸與x軸的交角 Image 二值圖像,與某區(qū)域具有相同大小的邏輯矩陣。

      FilledImage 與上相同,唯一區(qū)別是這是個(gè)做了填充的邏輯矩陣!本例中和上面的沒有區(qū)別,只有 區(qū)域有空洞時(shí)才有明顯差別。

      FilledArea 是標(biāo)量,填充區(qū)域圖像中的 on 像素個(gè)數(shù)

      ConvexHull 是p行2列的矩陣,包含某區(qū)域的最小凸多邊形 ConvexImage 二值圖像,用來畫出上述的區(qū)域最小凸多邊形 ConvexArea 是標(biāo)量,填充區(qū)域凸多邊形圖像中的 on 像素個(gè)數(shù) EulerNumber 等于圖像中目標(biāo)個(gè)數(shù)減去這些目標(biāo)中空洞的個(gè)數(shù) Extrema 8行2列矩陣,八方向區(qū)域極值點(diǎn)

      EquivDiameter 是標(biāo)量,等價(jià)直徑:與區(qū)域具有相同面積的圓的直徑.計(jì)算公式為:sqrt(4*Area/pi)

      Solidity 是標(biāo)量,同時(shí)在區(qū)域和其最小凸多邊形中的像素比例。計(jì)算公式為: Area/ConvexArea,這也是個(gè)仿射特征,實(shí)際上反映出區(qū)域的固靠性程度。

      Extent 是標(biāo)量,同時(shí)在區(qū)域和其最小邊界矩形中的像素比例。計(jì)算公式為:Area除以邊界矩 形面積,這也是個(gè)仿射特征,實(shí)際上反映出區(qū)域的擴(kuò)展范圍程度。

      PixelIdxList p元向量,存儲(chǔ)區(qū)域像素的索引下標(biāo)

      PixelList p行ndims(L)列矩陣,存儲(chǔ)上述索引對(duì)應(yīng)的像素坐標(biāo) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 基于特定原則的區(qū)域選擇

      當(dāng)你要基于特定準(zhǔn)則條件選擇某個(gè)區(qū)域時(shí),將函數(shù) ismember 和 regionprops 聯(lián)合使用是很有用處的。例如:創(chuàng)建一個(gè)只包含面積大于80的二值圖像,用以下命令

      idx = find([stats.Area] > 80);BW2 = ismember(L,idx);regionprops函數(shù)的擴(kuò)展思路

      在regionprops函數(shù)的基礎(chǔ)上,你可以使用它提供的基本數(shù)據(jù)來擴(kuò)展它的功能,比如我就將區(qū)域的曲率數(shù)據(jù)和骨架數(shù)據(jù)作為它的另外屬性值來開發(fā),從而希望它能用來做更細(xì)致的特征提取。

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.2 P221圖像粒度測定(雪花)>> i=imread('snowflakes.png');>> figure,imshow(i);>> %(2)>> clahei=adapthisteq(i,'numtiles',[10 10]);>> clahei=imadjust(clahei);>> imshow(clahei);>> gi=imadjust(im2double(i),[],[0 1]);>> figure,imshow(gi),title('adjusted grayscale image');>> %(3)>> se=strel('disk',10);>> topi=imtophat(gi,se);>> figure,imshow(topi),title('top-hat image');>> %(4)>> for counter=0:22 remain=imopen(clahei,strel('disk',counter));intensity_area(counter+1)=sum(remain(:));end >> figure,plot(intensity_area,'m-*'),grid on;>> title('sum of opening(pixels)');>> title('sum of opening values in opened image as a function of radius');>> xlabel('radius of opening(pixels)');>> ylabel('pixel value sum of opened objects(intensity)');>> >> >> >> for counter=0:20 remain=imopen(topi,strel('disk',counter));surfarea(counter+1)=sum(remain(:));end >> figure,plot(surfarea,'m-*'),grid on;>> set(gca,'xtick',[0 2 4 6 8 10 12 14 16 18 20]);>> title('surface area of opened objects as a function of radius');>> xlabel('radius of opening(pixels)');>> ylabel('surface area of opened objects(pixels)');>> %(5)>> intensity_area_prime=diff(intensity_area);>> figure,plot(intensity_area_prime,'m-*'),grid on;>> title('Granulometry(size distrubution)of snowflakes');>> set(gca,'xtick',[0 2 4 6 8 10 12 14 16 18 20 22]);>> xlabel('radius of snowflakes(pixels)');>> ylabel('sum of pixel values in snowflakes as a function of radius');>> derivsurfarea=diff(surfarea);>> figure,plot(derivsurfarea,'m-*'),grid on;>> title('granulometry(size distribution)of stars');>> xlabel('radius of stars(pixels)');>> ylabel('loss of pixels between two successive openings');

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.2 花椒檢測 clc;clear;close all;i=imread('gj.jpg');imshow(i);icanny=edge(i,'canny');imshow(icanny);se90=strel('line',2,90);se0=strel('line',2,0);bwsdil=imdilate(icanny,[se90 se0]);figure,imshow(bwsdil),title('dilated');ifill=imfill(bwsdil,'holes');figure,imshow(ifill);

      %bwero=imerode(bwsdil,[se90 se0]);%figure,imshow(bwero);%i2fill=imfill(bwero,'holes');%figure,imshow(bwero);%imshow(i2fill);

      %bwnobord=imclearborder(bwsdil,4);%figure,imshow(bwnobord);bwnobord=imclearborder(ifill,4);figure,imshow(bwnobord);se=strel('disk',5);bwc=imclose(bwnobord,se);bwco=imopen(bwnobord,se);figure,imshow(bwc);figure,imshow(bwco);%mask=bwsdil&bwco;%figure,imshow(mask);clc [labeled,numobjects]=bwlabel(bwco);numobjects

      jdata=regionprops(labeled,'all');%jdata

      jarea=[jdata.Area];mean(jarea)max(jarea)min(jarea)hist(jarea,255)jdata.Eccentricity %std([jdata.Eccentricity])/(Mean([jdata.Eccentricity])jstd=std([jdata.Eccentricity])jmean=Mean([jdata.Eccentricity])jcv=jstd/jmean

      >> std([jdata.Area])/ mean([jdata.Area])%面積的變異系數(shù)

      >> std([jdata.Eccentricity])/ mean([jdata.Eccentricity])%橢圓的變異系數(shù) >> std([jdata.MajorAxisLength])/ mean([jdata.MajorAxisLength])>> std([jdata.MinorAxisLength])/ mean([jdata.MinorAxisLength])>> std([jdata.EquivDiameter])/ mean([jdata.EquivDiameter])

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.06.06 rice.png close all;clear;clc >> i=imread('rice.png');imshow(i);background=imopen(i,strel('disk',15));figure,imshow(background);i2=imsubtract(i,background);figure,imshow(i2);i3=imadjust(i2,stretchlim(i2),[0 1]);figure,imshow(i3);level=graythresh(i3);bw=im2bw(i3,level);figure,imshow(bw);imnobord=imclearborder(bw);[label,numobjects]=bwlabel(imnobord,4);numobjects rgb_label=label2rgb(label,@spring,'c','shuffle');figure,imshow(rgb_label);graindata=regionprops(label,'all');graindata

      >> numdown=find([graindata.Area]<150);>> graindata(numdown,:)=[];>> numup=find([graindata.Area]>250);>> graindata(numup,:)=[];>> graindata

      >> std([graindata.Area])/ mean([graindata.Area])%面積的變異系數(shù)

      >> std([graindata.Eccentricity])/ mean([graindata.Eccentricity])%橢圓的變異系數(shù)

      >> std([graindata.MajorAxisLength])/ mean([graindata.MajorAxisLength])>> std([graindata.MinorAxisLength])/ mean([graindata.MinorAxisLength])>> std([graindata.EquivDiameter])/ mean([graindata.EquivDiameter])%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.06.06 rice的堊白度檢測 >> clear;close all;clc;>> rgb=imread('r.jpg');>> close all;>> imshow(rgb);>> i=rgb2gray(rgb);>> j=medfilt2(i,[5 5]);>> figure,imshow(i);>> figure,imshow(j);>> imhist(j,256);>> t=0.3;>> v=imadjust(j,[t 1],[],1);>> imhist(v,256);>> t_c=0.6;>> bw_v=im2bw(v,0.01);>> chalk=imadjust(v,[t_c 1],[],1);>> bw_chalk=im2bw(chalk,0.01);>> figure,imshow(v);>> figure,imshow(bw_v);>> figure,imshow(chalk);>> figure,imshow(bw_chalk);>> degree_chalkness=bwarea(bw_chalk)/bwarea(bw_v)*100 >> bw=im2bw(j,t);>> figure,imshow(bw);>> se=(ones(3,3));>> bw1=imerode(bw,se);%兩次腐蝕 >> figure,imshow(bw1);>> bw2=imerode(bw1,se);>> figure,imshow(bw2);

      >> [l,num]=bwlabel(bw2);%標(biāo)記腐蝕后的大米圖像 >> t_chalk=100;%設(shè)置堊白面積的下限 >> compare=(l)&(chalk>t_chalk);%>> compare=(bw2)&(bw_chalk>t_chalk);>> [r,c]=find(compare);%標(biāo)記堊白米粒的位置 >> result=bwselect(l,c,r);%顯示只含有堊白米粒的圖像 >> figure,imshow(result);

      >> [l_chalk,num_chalk]=bwlabel(result);%標(biāo)記堊白米粒圖像,便于計(jì)數(shù) >> rate_chalky_grains=num_chalk/num*100;>> rate_chalky_grains

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.17 bwmorph函數(shù) >> help bwmorph BWMORPH Perform morphological operations on binary image.BW2 = BWMORPH(BW1,OPERATION)applies a specific morphological operation to the binary image BW1.BW2 = BWMORPH(BW1,OPERATION,N)applies the operation N times.N can be Inf, in which case the operation is repeated until the image no longer changes.OPERATION is a string that can have one of these values: 'bothat' Subtract the input image from its closing 'bridge' Bridge previously unconnected pixels 'clean' Remove isolated pixels(1's surrounded by 0's)'close' Perform binary closure(dilation followed by erosion)'diag' Diagonal fill to eliminate 8-connectivity of background 'dilate' Perform dilation using the structuring element ones(3)'erode' Perform erosion using the structuring element ones(3)'fill' Fill isolated interior pixels(0's surrounded by 1's)'hbreak' Remove H-connected pixels 'majority' Set a pixel to 1 if five or more pixels in its 3-by-3 neighborhood are 1's 'open' Perform binary opening(erosion followed by dilation)'remove' Set a pixel to 0 if its 4-connected neighbors are all 1's, thus leaving only boundary pixels 'shrink' With N = Inf, shrink objects to points;shrink objects with holes to connected rings 'skel' With N = Inf, remove pixels on the boundaries of objects without allowing objects to break apart 'spur' Remove end points of lines without removing small objects completely.'thicken' With N = Inf, thicken objects by adding pixels to the exterior of objects without connected previously unconnected objects 'thin' With N = Inf, remove pixels so that an object without holes shrinks to a minimally connected stroke, and an object with holes shrinks to a ring halfway between the hold and outer boundary 'tophat' Subtract the opening from the input image

      Class Support-------------The input image BW1 can be numeric or logical.It must be 2-D, real and nonsparse.The output image BW2 is logical.Examples--------BW1 = imread('circles.png');imview(BW1)BW2 = bwmorph(BW1,'remove');BW3 = bwmorph(BW1,'skel',Inf);imview(BW2)imview(BW3)

      See also erode, dilate, bweuler, bwperim.Reference page in Help browser doc bwmorph

      BW1 = imread('circles.png');figure,imshow(BW1)BW2 = bwmorph(BW1,'erode');figure,imshow(BW2)

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %邊界提取 b=bwmorph(bw,'remove');b=bwperim(bw,8);%又叫邊界象素測定 b=edge(bw,'canny');%又叫邊界提取 %去除孤立象素點(diǎn)

      nosinglepixel=bwmorph(bw,'clean');%去除小面積物體

      nosmall=bwareaopen(bw,CNN);%閾值處理再取反

      bw=~im2bw(i,graythresh(i));

      %開運(yùn)算(消除小物體)與閉運(yùn)算(填充物體內(nèi)細(xì)小空洞)se=strel('disk',6);iopen=imopen(bw,se);iclose=imclose(bw,se);%腐蝕與膨脹聯(lián)合操作 %(1)創(chuàng)建結(jié)構(gòu)元素 se=strel('rectangle',[40 30]);%(2)使用結(jié)構(gòu)元素腐蝕圖像 bw1=imread('circbw.tif');bw2=imerode(bw1,se);imshow(bw2);%(3)逆操作,回復(fù)矩形原來大小 bw3=imdilate(bw2,se);figure,imshow(bw3);

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.18花椒子

      %直接對(duì)灰度圖進(jìn)行canny運(yùn)算 >> i=imread('nut.bmp');>> figure,imshow(i);>> ig=rgb2gray(i);>> figure,imshow(ig);%igcanny=edge(ig,'canny');%igcfill=imfill(igcanny,'hole');igcanny_thresh=edge(ig,'canny',(graythresh(ig)*.1));igcfill=imfill(igcanny_thresh,'hole');>> figure,imshow(igcfill);

      %先對(duì)灰度圖濾波,再進(jìn)行canny運(yùn)算

      >> imed=medfilt2(ig);%中值濾波后對(duì)圖像邊界有一定的損傷??!>> imedcanny=edge(imed,'canny');>> imedfill=imfill(imedcanny,'hole');>> figure,imshow(imedfill);>> nosmall=bwareaopen(imedfill,150);>> figure,imshow(nosmall);

      %注意:若對(duì)灰度圖像先拉氏銳化,在canny提取邊界,效果不大好!!%結(jié)論:無需拉氏銳化,也不必中值濾波,可直接canny提取邊界?。?> ifill=igcfill|imedfill;>> figure,imshow(ifill);>> nosmall=bwareaopen(ifill,150);>> figure,imshow(nosmall);

      %當(dāng)t=0.55時(shí),閾值處理再canny運(yùn)算的效果 >> imhist(ig);>> t=0.55;>> v=imadjust(ig,[0 t],[],1);>> vcanny=edge(v,'canny');>> vfill=imfill(vcanny,'hole');>> figure,imshow(vfill);>> ifill=igcfill|vfill;>> figure,imshow(ifill);>> nosmall=bwareaopen(ifill,150);>> figure,imshow(nosmall);

      %當(dāng)t=0.6時(shí),閾值處理再canny運(yùn)算的效果的效果 >> t=0.6;>> v=imadjust(ig,[0 t],[],1);>> vcanny=edge(v,'canny');>> vfill=imfill(vcanny,'hole');>> figure,imshow(vfill);>> ifill=igcfill|vfill;>> figure,imshow(ifill);>> nosmall=bwareaopen(ifill,150);>> figure,imshow(nosmall);

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %處理花椒子

      >> i=imread('nut.bmp');%figure,imshow(i);ig=rgb2gray(i);figure,imshow(ig);>> imed=medfilt2(ig);imedcanny=edge(imed,'canny');imedfill=imfill(imedcanny,'hole');%figure,imshow(imedfill);nosmall=bwareaopen(imedfill,150);>> figure,imshow(nosmall);>> [labeled,numobjects]=bwlabel(nosmall,4);>> rgb_label=label2rgb(labeled,@spring,'c','shuffle');%>> figure,imshow(rgb_label);>> nutdata=regionprops(labeled,'all');>> min([nutdata.Solidity])

      >> rectangle('Position', [253.5000 207.5000 26.0000 28.0000])%畫矩形

      >> rectangle('Position', [250.5000 50.5000 27.0000 26.0000])>> figure,imshow(nutdata(1).Image)%只顯示1號(hào)物體的圖像

      >> figure,imshow(nutdata(1).ConvexImage)%畫出1號(hào)物體的凸多邊形 >> std([nutdata.Eccentricity])/ mean([nutdata.Eccentricity])std([nutdata.Area])/ mean([nutdata.Area])std([nutdata.Solidity])/ mean([nutdata.Solidity])>> std([nutdata.Centroid])/ mean([nutdata.Centroid])std([nutdata.MajorAxisLength])/ mean([nutdata.MajorAxisLength])std([nutdata.MinorAxisLength])/ mean([nutdata.MinorAxisLength])std([nutdata.Orientation])/ mean([nutdata.Orientation])std([nutdata.EquivDiameter])/ mean([nutdata.EquivDiameter])std([nutdata.Extent])/ mean([nutdata.Extent])std([nutdata.Extrema])/ mean([nutdata.Extrema])

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %處理花椒皮 close all;clc;clear;>> i=imread('p.bmp');imshow(i);ig=rgb2gray(i);figure,imshow(ig);imed=medfilt2(ig);imedcanny=edge(imed,'canny');figure,imshow(imedcanny);>> se90=strel('line',2,90);se0=strel('line',2,0);bwsdil=imdilate(imedcanny,[se90 se0]);figure,imshow(bwsdil),title('dilated');ifill=imfill(bwsdil,'holes');figure,imshow(ifill);>> bwero=imerode(ifill,[se90 se0]);>> figure,imshow(bwero);>> nosmall=bwareaopen(bwero,150,4);>> figure,imshow(nosmall);>> nobord=imclearborder(nosmall,4);>> figure,imshow(nobord);>> [labeled,numobjects]=bwlabel(nobord,4);>> numobjects >> pdata=regionprops(labeled,'all');>> max([pdata.Solidity])>> std([pdata.Solidity])/mean([pdata.Solidity])

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %處理混合圖像 >> clear;clc;close all;>> i=imread('m.bmp');%>> figure,imshow(i);>> ig=rgb2gray(i);figure,imshow(ig);imed=medfilt2(ig);%>> figure,imshow(imed);imedcanny=edge(imed,'canny');%>> figure,imshow(imedcanny);>> se90=strel('line',2,90);se0=strel('line',2,0);bwsdil=imdilate(imedcanny,[se90 se0]);%figure,imshow(bwsdil),title('dilated');ifill=imfill(bwsdil,'holes');%figure,imshow(ifill);bwero=imerode(ifill,[se90 se0]);%figure,imshow(bwero);>> nosmall=bwareaopen(bwero,150,4);%figure,imshow(nosmall);nobord=imclearborder(nosmall,4);figure,imshow(nobord);>> [labeled,numobjects]=bwlabel(nobord,4);>> numobjects >> rgb_label=label2rgb(labeled,@spring,'c','shuffle');figure,imshow(rgb_label);>> mexdata=regionprops(labeled,'all');hold on;%以下內(nèi)容畫在同一figure中 centr=[mexdata.Centroid];%尋找重心位置 nums=1:numobjects;for k = 1:numobjects soli=mexdata(k).Solidity;soli_string=sprintf('%2.2f',soli);%等價(jià)于轉(zhuǎn)字符串 % signal=num2str(nums(k));signal=sprintf('%d',k);%直接使用打印語句打印序號(hào) text(centr(2*k-1),centr(2*k),signal)%按序標(biāo)記物體

      text(centr(2*k-1)-30,centr(2*k)-30,soli_string)%標(biāo)注每個(gè)Solidity值 end

      for k=1:numobjects plot(mexdata(k).ConvexHull(:,1),mexdata(k).ConvexHull(:,2),...'b','Linewidth',2)end

      %畫出1和2號(hào)物體的外接矩形

      %>> rectangle('position',[9.5000 224.5000 62.0000 63.0000])%>> rectangle('position',[65.5000 141.5000 34.0000 39.0000])%畫出每個(gè)物體的外接矩形 bb=[mexdata.BoundingBox];for k=1:numobjects rectangle('position',[bb(4*k-3)bb(4*k-2)bb(4*k-1)bb(4*k)])end

      %>> figure,imshow(mexdata(1).Image)%只顯示1號(hào)物體的圖像

      %>> figure,imshow(mexdata(1).ConvexImage)%畫出1號(hào)物體的凸多邊形 %>> figure,imshow(mexdata(2).Image)%只顯示2號(hào)物體的圖像

      %>> figure,imshow(mexdata(2).ConvexImage)%畫出2號(hào)物體的凸多邊形 %畫出單個(gè)物體的凸多邊形的填充圖形 for k=1:numobjects figure,imshow(mexdata(k).ConvexImage)end

      %只顯示Solidity>0.92的物體的圖像 >> idx = find([mexdata.Solidity] > 0.92);>> BW2 = ismember(labeled,idx);>> figure,imshow(BW2)

      >> mexdata=regionprops(labeled,'all');>> %只顯示Solidity<0.92的物體的圖像 idx = find([mexdata.Solidity] < 0.92);bw2 = ismember(labeled,idx);figure,imshow(bw2)%mexdata.Solidity;

      >> numdown=find([mexdata.Solidity]<0.92);mexdata(numdown,:)=[];>> mexdata

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.19 %roipoly函數(shù)的用法 I = imread('eight.tif');c = [222 272 300 270 221 194];r = [21 21 75 121 121 75];BW = roipoly(I,c,r);imview(I), imview(BW)

      %可以使用下面的方法創(chuàng)建相應(yīng)的向量: regionprops(L,'Area');allArea = [stats.Area];

      %創(chuàng)建一個(gè)只包含面積大于80的二值圖像 idx = find([stats.Area] > 80);BW2 = ismember(L,idx);

      %只顯示某個(gè)下標(biāo)所對(duì)應(yīng)的物體圖像 bw2=ismember(L,N);figure,imshow(bw2);

      %在調(diào)用regionprops之前必須將二值圖像轉(zhuǎn)變?yōu)闃?biāo)注矩陣 L = bwlabel(BW);%或者

      L = double(BW);

      %將matlab數(shù)據(jù)寫到excel中 a=ones(3);success = xlswrite('c:/matlab/work/myworkbook.xls',a,'A2:C4')%將行矩陣轉(zhuǎn)換為列矩陣 a=[1 2 3 4 5 6];b=transpose(a);

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2006.6.22球形物體的檢測和標(biāo)識(shí)(循環(huán)檢測和標(biāo)識(shí)算法)clc;clear;close all;%Step 1: Read image %Step 2: Threshold the image %Step 3: Remove the noise %Step 4: Find the boundaries %Step 5: Determine which objects are round >> RGB = imread('pillsetc.png');imshow(RGB)>> I = rgb2gray(RGB);threshold = graythresh(I);bw = im2bw(I,threshold);imshow(bw)>> % remove all object containing fewer than 30 pixels bw = bwareaopen(bw,30);>> figure,imshow(bw)>> % fill a gap in the pen's cap se = strel('disk',2);bw = imclose(bw,se);>> figure,imshow(bw)>> % fill any holes, so that regionprops can be used to estimate % the area enclosed by each of the boundaries bw = imfill(bw,'holes');>> figure,imshow(bw)>> [B,L] = bwboundaries(bw,'noholes');>> % Display the label matrix and draw each boundary figure,imshow(label2rgb(L, @jet, [.5.5.5]))>> hold on for k = 1:length(B)boundary = B{k};plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)end >> stats = regionprops(L,'Area','Centroid');>> stats = regionprops(L,'Area','Centroid');threshold = 0.94;% loop over the boundaries for k = 1:length(B)% obtain(X,Y)boundary coordinates corresponding to label 'k' boundary = B{k};% compute a simple estimate of the object's perimeter delta_sq = diff(boundary).^2;perimeter = sum(sqrt(sum(delta_sq,2)));

      % obtain the area calculation corresponding to label 'k' area = stats(k).Area;

      % compute the roundness metric metric = 4*pi*area/perimeter^2;

      % display the results metric_string = sprintf('%2.2f',metric);% mark objects above the threshold with a black circle if metric > threshold centroid = stats(k).Centroid;plot(centroid(1),centroid(2),'ko');end

      text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','y',...'FontSize',14,'FontWeight','bold');end >> title(['Metrics closer to 1 indicate that ',...'the object is approximately round']);

      第四篇:MATLAB實(shí)訓(xùn)小結(jié)

      實(shí)訓(xùn)小結(jié)

      為期一周的MATLAB實(shí)訓(xùn)在學(xué)習(xí)與忙碌中度過了,時(shí)間雖短,但我們卻真真切切的學(xué)到了知識(shí),在現(xiàn)實(shí)工作中可以運(yùn)用的知識(shí)。

      在第一節(jié)課,我們便了解到MATLAB是世界上最流行的、應(yīng)用最廣泛的工程計(jì)算和仿真軟件,它將計(jì)算、可視化和編程等功能同時(shí)集于一個(gè)易于開發(fā)的環(huán)境。MATLAB主要應(yīng)用于數(shù)學(xué)計(jì)算、系統(tǒng)建模與仿真、數(shù)學(xué)分析與可視化、科學(xué)與工程繪圖和用戶界面設(shè)計(jì)等。對(duì)MATLAB的系統(tǒng)結(jié)構(gòu)和特點(diǎn)等,老師也向我們做出了大致的講解,同時(shí),我們知道了MATLAB程序的一些最基本的應(yīng)用和運(yùn)算,并能夠進(jìn)行一些簡單的編程。就這樣,實(shí)訓(xùn)的第一天大家都在期待和興奮中度過。

      接下來的時(shí)間,主要是以大家自學(xué)和練習(xí)為主,老師進(jìn)行輔導(dǎo)和考察。在學(xué)習(xí)過程中,不懂的可以相互之間小聲的討論,也可向老師請(qǐng)教,但必須確保自己真正學(xué)到了知識(shí),認(rèn)真的看書并進(jìn)行編程練習(xí)。一天的學(xué)習(xí)接近尾聲時(shí),就是老師考察大家一天的收獲的時(shí)候了,老師總會(huì)出一些小題目讓大家編出它的程序,雖然有的題目對(duì)我們來說還是有些難度的,但是在老師的指點(diǎn)下我們還是編出程序的,當(dāng)我們看到自己編的程序運(yùn)行正確時(shí),總是會(huì)萬分的興奮,充滿成就感。

      就這樣,僅僅一個(gè)星期的實(shí)訓(xùn)就結(jié)束了,雖然不能十分熟悉和運(yùn)用MATLAB的所有程序,但是我們卻打下了一定的基礎(chǔ),在以后,當(dāng)我們真正開始深入學(xué)習(xí)這門學(xué)問時(shí),我們對(duì)它將不會(huì)再那么陌生,學(xué)起來也將輕松許多。這次實(shí)訓(xùn)為我們提供了一個(gè)很好的學(xué)習(xí)機(jī)會(huì),唯一不足的就是時(shí)間有點(diǎn)短,我們不能在這段時(shí)間里學(xué)到更多的知識(shí),因此,在這一周打下的基礎(chǔ)上,我們需要用自己的努力去自學(xué),以獲取更多的知識(shí)。

      知識(shí)是無窮無盡的,知識(shí)的獲取需要一顆上進(jìn)的心,老師將我們領(lǐng)進(jìn)了門,下面的路就應(yīng)該我們自己去走,即是充滿荊棘,也要努力奮斗往前沖。

      第五篇:matlab的nntool工具箱小結(jié)

      擬合以及插值還有逼近是數(shù)值分析的三大基礎(chǔ)工具,通俗意義上它們的區(qū)別在于:擬合是已知點(diǎn)列,從整體上靠近它們;插值是已知點(diǎn)列并且完全經(jīng)過點(diǎn)列;逼近是已知曲線,或者點(diǎn)列,通過逼近使得構(gòu)造的函數(shù)無限靠近它們。

      新建訓(xùn)練使用輸入數(shù)據(jù)X和目標(biāo)數(shù)據(jù)Y,如下所示,X是3個(gè)輸入變量,20個(gè)樣本,Y是1個(gè)輸出變量,20個(gè)樣本(注意,輸入和輸出的樣本數(shù)一定要相同,matlab 神經(jīng)網(wǎng)絡(luò)工具箱中默認(rèn)一行是一個(gè)變量,列代表樣本)

      matlab命令窗口輸入,nnstart,啟動(dòng)神經(jīng)網(wǎng)絡(luò)工具箱。

      點(diǎn)擊Fitting app,得到如下

      點(diǎn)擊Next,得到如下,并選擇Inputs和Targets數(shù)據(jù):

      在下圖設(shè)置完validation和testing之后,點(diǎn)擊Next

      注意,這里的Training、Validation和Testing的意義如下所示: training是訓(xùn)練數(shù)據(jù),拿來擬合模型,就是用這部分?jǐn)?shù)據(jù)來建立模型,這個(gè)相信大家都明白。

      validation是驗(yàn)證數(shù)據(jù),剛才說training建了一個(gè)模型,但是模型的效果僅體現(xiàn)了訓(xùn)練數(shù)據(jù),但不一定適合同類的其他數(shù)據(jù),所以我們會(huì)在建模前會(huì)將數(shù)據(jù)分成兩部分,一部分為訓(xùn)練數(shù)據(jù),一部分為驗(yàn)證數(shù)據(jù)(兩部分?jǐn)?shù)據(jù)的比例大致為7:3,這取決于你驗(yàn)證的方法,詳細(xì)說明我從網(wǎng)上摘了下放在本次說明的最下邊,但愿你能看懂);另外,你也可能訓(xùn)練多個(gè)模型,但不知哪個(gè)模型性能更佳,這時(shí)可以將驗(yàn)證數(shù)據(jù)輸入不同模型進(jìn)行比較。

      testing是測試數(shù)據(jù),它跟前兩者的最大區(qū)別在于:training和validation數(shù)據(jù)均是同一時(shí)期的數(shù)據(jù),如都是5-7月數(shù)據(jù),但既然是測試,我們就需要用跨期的數(shù)據(jù)來驗(yàn)證模型的穩(wěn)定性,此時(shí),可采用8月單月數(shù)據(jù)或9月單月數(shù)據(jù)對(duì)建好的模型進(jìn)行測試,看性能有沒有下降或偏移。

      設(shè)置Number of Hidden Neurons之后,點(diǎn)擊Next

      設(shè)置完training algorithm之后,點(diǎn)擊Training

      多次點(diǎn)擊Retrain,直到下圖紅圈中的三個(gè)MSE值達(dá)到盡可能小的值為止。點(diǎn)擊Next。

      上圖紅框中Training后面的MSE數(shù)據(jù)代表用來參與神經(jīng)網(wǎng)絡(luò)訓(xùn)練training的那部分?jǐn)?shù)據(jù),把輸入數(shù)據(jù)帶入神經(jīng)網(wǎng)絡(luò)模型后,輸出數(shù)據(jù)與目標(biāo)數(shù)據(jù)偏差平方和的均值,validation后面的MSE數(shù)據(jù)表示,用來進(jìn)行validation數(shù)據(jù),把輸入數(shù)據(jù)帶入之后,輸出數(shù)據(jù)與目標(biāo)數(shù)據(jù)之間的偏差平方的平均值。testing后面的數(shù)據(jù)表示用來進(jìn)行testing的MSE數(shù)據(jù),把輸入數(shù)據(jù)帶入之后,輸出數(shù)據(jù)與目標(biāo)數(shù)據(jù)之間的偏差平方的平均值。

      下圖點(diǎn)擊“Next”

      點(diǎn)擊Matlab Function,把訓(xùn)練形成的神經(jīng)網(wǎng)絡(luò)函數(shù)保存下來

      出現(xiàn)下圖之后,保存

      然后用這個(gè)函數(shù),就可以對(duì)新的輸入進(jìn)行預(yù)測了。比如新建了一個(gè)輸入如下所示:

      使用函數(shù)myNeuralNetworkFunction(X1)得到如下預(yù)測結(jié)果:

      注意,有的時(shí)候,X1設(shè)置為X的第一列,myNeuralNetworkFunction(X1)的到的值與myNeuralNetworkFunction(X)第一個(gè)值不同,理論上應(yīng)該相同,想不明白,后來發(fā)現(xiàn),重啟matlab,重新做一遍就好了,可能是哪個(gè)地方我操作不當(dāng)導(dǎo)致程序錯(cuò)亂了。

      下載MatLab基礎(chǔ)知識(shí)小結(jié)來源word格式文檔
      下載MatLab基礎(chǔ)知識(shí)小結(jié)來源.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        MATLAB小波函數(shù)小結(jié)(小編整理)

        通用函數(shù)函數(shù) 含義Allnodes 計(jì)算樹結(jié)點(diǎn)appcoef 提取一維小波變換低頻系數(shù)appcoef2 提取二維小波分解低頻系數(shù) bestlevt 計(jì)算完整最佳小波包樹besttree 計(jì)算最佳(優(yōu))樹* bio......

        信息技術(shù)基礎(chǔ)知識(shí)小結(jié)

        信息技術(shù)基礎(chǔ)知識(shí) 1. 世界上第一臺(tái)電腦:1946年第一臺(tái)電子計(jì)算機(jī)在美國賓夕法尼亞大學(xué)問世,,它的名字叫ENIAC。 2. 計(jì)算機(jī)也可以叫信息處理機(jī),它可以幫助我們收集、存儲(chǔ)、加工、傳......

        MATLAB實(shí)驗(yàn)小結(jié)論文 數(shù)學(xué)建模

        數(shù)學(xué)建模論文題 目 求π的近似值的數(shù)學(xué)建模問題 學(xué) 院 材料科學(xué)與工程 專業(yè)班級(jí) 學(xué)生姓名 成 績 年 05 月 20 MATLAB 2010 日 摘要 這個(gè)學(xué)期,我們開了MATLAB的課程,因?yàn)槭?.....

        第三單元基礎(chǔ)知識(shí)小結(jié)

        八年級(jí)語文上 第三單元 臨水騁懷主備人:張紅艷審核:八年級(jí)備課組班級(jí):姓名: 第三單元基礎(chǔ)知識(shí)小結(jié) 1、根據(jù)課文內(nèi)容在下列空缺處填上恰當(dāng)?shù)脑~語。 1) 入口就是那些圖片被拍攝的地......

        matlab作業(yè)題

        第一章 MATLAB環(huán)境 1、MATLAB通用操作界面窗口包括哪些?命令窗口、歷史命令窗口、當(dāng)前目錄窗口、工作空間窗口各有哪些功能? 答:MATLAB通用操作界面窗口包括:命令窗口、歷史命令......

        Matlab心得體會(huì)

        Matlab心得體會(huì) 10金融3 呂淼 2010241125 在為學(xué)習(xí)這門課前就聽說了他的強(qiáng)大,因?yàn)楝F(xiàn)在的經(jīng)濟(jì)模型都是需要這些分析軟件的,也曾聽說金融的未來方向是需要數(shù)學(xué)等等作為依托的。......

        Matlab心得體會(huì)

        Matlab心得體會(huì) 10金融3 呂淼 2010241125 在為學(xué)習(xí)這門課前就聽說了他的強(qiáng)大,因?yàn)楝F(xiàn)在的經(jīng)濟(jì)模型都是需要這些分析軟件的,也曾聽說金融的未來方向是需要數(shù)學(xué)等等作為依托的。......

        matlab學(xué)習(xí)心得[最終定稿]

        學(xué)習(xí)MATLAB 感想 學(xué)習(xí)了 MATLAB 這門課程,我了解該軟件的基本功能,也知道 了該軟件在我們生活中的重要地位。隨著社會(huì)的不斷發(fā)展,科技 的不斷進(jìn)步,計(jì)算機(jī)的普及,它也被應(yīng)用在越......