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

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

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

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

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

      Matlab與Simulink仿真學(xué)習(xí)心得

      時(shí)間:2019-05-12 12:59:37下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《Matlab與Simulink仿真學(xué)習(xí)心得》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《Matlab與Simulink仿真學(xué)習(xí)心得》。

      第一篇:Matlab與Simulink仿真學(xué)習(xí)心得

      Matlab與Simulink仿真學(xué)習(xí)心得

      班級(jí):07610 學(xué)號(hào):072016 姓名:呂天雄

      一 Matlab學(xué)習(xí)心得體會(huì)與編程實(shí)踐

      <1>學(xué)習(xí)Matlab的心得體會(huì)

      真正開(kāi)始接觸Matlab是大二上就開(kāi)始了,到現(xiàn)在已經(jīng)一年多了,在此之間,Matlab的確為我提供了很多便利。Matlab的確不愧成為是草稿紙上的語(yǔ)言。我們不必去為很簡(jiǎn)單的顯示效果圖形去找一些什么其他軟件或者研究比較復(fù)雜的計(jì)算機(jī)圖形學(xué),一個(gè)plot或者別的函數(shù)往往就可以得到很滿意的效果。

      其實(shí)最初開(kāi)始學(xué)習(xí)matlab的時(shí)候感覺(jué)這個(gè)東西和C沒(méi)什么兩樣,但是后來(lái)具體到一些 東西,比如信號(hào)處理和數(shù)學(xué)建模上以后才感覺(jué)到使用matlab編寫(xiě)程序去驗(yàn)證結(jié)果比C要節(jié) 省很多時(shí)間,而且matlab寫(xiě)東西基本都是按照自己的思路平鋪直敘很少去考慮什么函數(shù)的 嵌套調(diào)用或者指針等等很頭疼的東西。

      關(guān)于matlab的學(xué)習(xí),我感覺(jué)其實(shí)百度和matlab自帶的help基本能夠解決絕大數(shù)問(wèn)題,而且一些比較好的論壇比如004km.cn都會(huì)為你產(chǎn)生很大的幫助,關(guān)鍵是在于多動(dòng)手實(shí)踐,多思考。但是matlab畢竟只是一個(gè)工具,原理和一些基本的編程素質(zhì)還是必須有的,否則matlab最多也只能是驗(yàn)證一些別人的東西而已,根本幫不上什么忙的。

      <2>遇到的一些問(wèn)題的思考方式與解決辦法

      最開(kāi)始用matlab的時(shí)候是在大物實(shí)驗(yàn),實(shí)驗(yàn)要求去根據(jù)測(cè)量得到的數(shù)據(jù)作出圖。但是 手動(dòng)用鉛筆去畫(huà)確實(shí)很麻煩,所以用matlab確實(shí)可以省去很大的麻煩。但是第一次遇到問(wèn) 的時(shí)候是有關(guān)極化坐標(biāo)下的曲線擬合。

      首先是一個(gè)物理實(shí)驗(yàn)的問(wèn)題;在做一個(gè)關(guān)于光的偏振的實(shí)驗(yàn)的時(shí)候,最后的結(jié)果要在一個(gè)極化坐標(biāo)下顯示出來(lái);因?yàn)閿?shù)據(jù)是離散的,所以顯示出來(lái)的圖像是一個(gè)折來(lái)折去的一個(gè)東東; 然后很自然的想法是對(duì)這個(gè)曲線進(jìn)行插值處理。

      但是極化坐標(biāo)下MATLAB并未提供插值處理的函數(shù),interp1這個(gè)函數(shù)只能在笛卡爾坐標(biāo)系,也就是直角坐標(biāo)系下使用。

      然后就想到把極坐標(biāo)的數(shù)據(jù)轉(zhuǎn)換的直角坐標(biāo)系下,pol2cart可以實(shí)現(xiàn)這個(gè)想法,但是隨后而來(lái),也就是最后導(dǎo)致整個(gè)問(wèn)題失敗的關(guān)鍵也在這里。

      pol2cart以后產(chǎn)生的一串?dāng)?shù)據(jù)中出現(xiàn)了重復(fù)的數(shù)據(jù),那么interp1這個(gè)東西也就無(wú)能為力了,因?yàn)閕nterp1不能處理一串?dāng)?shù)據(jù)中有重復(fù)出現(xiàn)的情況。最后的處理辦法是把這些數(shù)據(jù)c os,sin這些東西變換一下后,使其大致規(guī)則,然后再用polar畫(huà)出極坐標(biāo)下的圖形。

      接下來(lái)這個(gè)問(wèn)題就有點(diǎn)超過(guò)我的范圍了,可能會(huì)有點(diǎn)敘述不清楚。問(wèn)題可以概要為:人臉網(wǎng)格插值。

      這是一個(gè)用三角形網(wǎng)格表示的一個(gè)人臉模型。需要通過(guò)插值使其變得光滑,當(dāng)然問(wèn)題的復(fù)雜之處在于,插值會(huì)改變?cè)镜木W(wǎng)格結(jié)構(gòu)。

      對(duì)于這個(gè)問(wèn)題許多人都給出了解決的辦法,當(dāng)然是一些關(guān)于人臉識(shí)別技術(shù)和運(yùn)動(dòng)圖像處理的范疇之內(nèi)的。

      主要有兩種,第一種是face—ls算法。這種算法是基于RBF(徑向插值函數(shù))和loop細(xì)分原則的一種算法,當(dāng)然其精確程度比較差點(diǎn)。但是速度挺好。原理是:基于網(wǎng)格上的點(diǎn),產(chǎn)生出頂點(diǎn)的迭代函數(shù),從而產(chǎn)生出新的定點(diǎn),進(jìn)行細(xì)化。然后進(jìn)行插值。也就是引進(jìn)新的頂點(diǎn)。分為兩個(gè)過(guò)程內(nèi)部插值和邊緣插值。具體可以去看蘭州大學(xué)信息工程學(xué)院的學(xué)報(bào)。

      第二種也就是基本的老辦法RBF。首先解釋一下什么叫做徑向插值 徑向基函數(shù)

      主要是考慮多維空間的數(shù)據(jù)插值問(wèn)題,徑向基函數(shù)在三維圖形的變形中常常被采用,用其來(lái)變分三維人臉的時(shí)候還應(yīng)結(jié)合人臉的固有特征。確定該方法來(lái)實(shí)現(xiàn)三維人臉變形是可行的,但要構(gòu)造好的基函數(shù),以及解這些高維方程的解仍是難點(diǎn)。插值方法:

      假設(shè)大多數(shù)人臉的形狀都可以由一個(gè)拓?fù)湓妥兓脕?lái),那么,通過(guò)調(diào)整一個(gè)一般模型的構(gòu)造參數(shù)可以建立不同的面部模型。但是,這種參數(shù)模型僅僅局限于那些構(gòu)造參數(shù)已知的情況,并且對(duì)特定人臉參數(shù)的調(diào)整非常困難。在離散數(shù)據(jù)的多變量插值問(wèn)題方面,徑向基函數(shù)(radial basis function,RBF)插值方法是一個(gè)行之有效的工具,所以也適用于類(lèi)似人臉這樣高維曲面的近似或平滑插值?,F(xiàn)有的許多方法使用了基于RBF的插值技術(shù),將一般人臉網(wǎng)格變化到特定人臉的形狀。這種方法的優(yōu)點(diǎn)在于:(1)通過(guò)插值可以得到丟失的數(shù)據(jù)點(diǎn),所以源網(wǎng)格和目標(biāo)網(wǎng)格不需要相同數(shù)目的結(jié)點(diǎn);(2)如果選擇了合適的匹配點(diǎn),數(shù)學(xué)上可以保證能夠?qū)⒃淳W(wǎng)格變形到目標(biāo)網(wǎng)格。

      當(dāng)然我也不是很懂,只是理解了部分。這種方法的關(guān)鍵是找到一個(gè)很好的核函數(shù)來(lái)計(jì)算出新的頂點(diǎn)。

      最后問(wèn)題解決的方式是查著了一些圖書(shū)館的學(xué)報(bào)。然后而且在網(wǎng)上找到了部分代碼。然后做出來(lái)的。這是我校大四一個(gè)同學(xué)畢設(shè)中的一個(gè)東西。

      其實(shí)這個(gè)事件最好的解決辦法是在3D-MAX中,不過(guò)因?yàn)闆](méi)能找到MATLAB與3D-MAX是怎么接口的,所以作罷了。

      第三次遇到的問(wèn)題是我在數(shù)學(xué)建模課上遇到的一個(gè)關(guān)于矩陣LU分解的問(wèn)題:

      Matlab作出的結(jié)果和手算的結(jié)果竟然不一樣。

      10??1????1???1?

      U=?1? ?一個(gè)矩陣 A=? 經(jīng)過(guò)三角分解為L(zhǎng)=101????????11?因?yàn)?/?為一個(gè)極大數(shù) 則1—1/?可以看成—1/?;

      設(shè)?=0.***000000001%10的負(fù)24次方

      從而L*U=則最后一位1沒(méi)有了 變成了0

      其中L=

      U=Matlab 程序?yàn)?/p>

      epusino=0.***000000001;U=[epusino 1;0-1/epusino];L=[1 0;1/epusino 1];L*U ans =

      0.***

      1.***

      1.***

      0 而直接用lu函數(shù)對(duì)矩陣A分解的結(jié)果為

      A=[epusino 1;1 1] A =

      0.0000

      1.0000

      1.0000

      1.0000

      >> [L,U]=lu(A)L =

      0.0000

      1.0000

      1.0000

      0

      U =

      0 我們老師當(dāng)時(shí)的解釋是這是由于我們所用matlab是破解版的緣故,破解版的計(jì)算精度 沒(méi)正版的高所以導(dǎo)致運(yùn)算結(jié)果的錯(cuò)誤,后來(lái)我看了一些LU這個(gè)函數(shù)的help文檔 psychologically lower triangular matrix"(i.e.a product of lower triangular and permutation matrices)in L。翻譯過(guò)來(lái)是L是一個(gè)心理上的下三角矩陣,其實(shí)是下三角矩陣和置換矩陣也就是最后的結(jié)論。P*A = L*U.。由此可見(jiàn)這并不是什么精度的問(wèn)題導(dǎo)致的結(jié)果只是LU分解的矩陣意義和書(shū)本上的不同而已。

      以下是我自己寫(xiě)的一些程序的代碼

      1:網(wǎng)絡(luò)隨機(jī)拓?fù)鋱D

      目的是要生成一個(gè)度數(shù)隨機(jī)、權(quán)值隨機(jī)的拓?fù)鋱D。首先的理解是利用鄰接矩陣,先隨機(jī)生成一個(gè)矩陣,該矩陣為一個(gè)對(duì)稱矩陣。然后畫(huà)出這個(gè)矩陣就行了。

      隨機(jī)拓?fù)鋱D10026516398191 ***0430 ***065

      %產(chǎn)生數(shù)組A用來(lái)存放表示兩點(diǎn)之間權(quán)值的矩陣A,也就是臨接矩陣,那么兩點(diǎn)之間權(quán)值不為零元素的個(gè)數(shù)即為該點(diǎn)的度數(shù)

      DEF=5;%設(shè)定一個(gè)東東 方便改變隨機(jī)點(diǎn)的個(gè)數(shù) A=rand(DEF,DEF);%產(chǎn)生DEF*DEF的隨機(jī)矩陣 for i=1:DEF A(i,i)=0%將對(duì)角線上的數(shù)置為0 end A=10*A;A=floor(A);%向下去整 for i=1:DEF for j=1:i A(j,i)=A(i,j)%將A矩陣變?yōu)橐粋€(gè)上三角或者下三角矩陣 end end x=100*rand(1,DEF);y=100*rand(1,DEF);%產(chǎn)生10個(gè)隨機(jī)的點(diǎn) plot(x,y,'r+');

      for i=1:DEF a=find(A(i,:)>0)%將A矩陣每行大于0的數(shù)的在該行的地址找出來(lái)放在a中

      for j=1:length(a)

      c=num2str(A(i,j));%將A中的權(quán)值轉(zhuǎn)化為字符型

      if c~='0'%不顯示為0的值 因?yàn)锳矩陣為零代表兩點(diǎn)不相連 text((x(i)+x(j))/2,(y(i)+y(j))/2,c,'Fontsize',18);%將權(quán)值顯示在兩點(diǎn)連線中間 end hold on;

      line([x(i)x(a(j))],[y(i)y(a(j))]);%連線 end end

      title('隨機(jī)拓?fù)鋱D');e=num2str(DEF);legend(e);%左上角顯示節(jié)點(diǎn)的個(gè)數(shù) for m=1:DEF A(m,m)=m;f=num2str(A(m,m));hold on;text((x(m)+x(m))/2,(y(m)+y(m))/2,f,'Fontsize',18);%將權(quán)值顯示在兩點(diǎn)連線中間 end 接下來(lái)是一個(gè)在信息安全課上寫(xiě)的一個(gè)關(guān)于256色圖分層的程序,一副圖像有m*n個(gè)像素然后每個(gè)像素是一個(gè)8bit的二進(jìn)制數(shù)據(jù)換算為十進(jìn)制是0-255之間。要做的就是把每bit的信息提取出來(lái)。

      I=imread('bupt副本.bmp');%讀入源圖像

      I=double(I);%將圖像轉(zhuǎn)換為double類(lèi)型便于MATLAB中的計(jì)算 %確定圖像的長(zhǎng)寬 M=size(I,1);%長(zhǎng) N=size(I,2);%寬 l=M*N;%圖像長(zhǎng)寬之積 for n=1:8;%剔除每層 for i=1:M

      for j=1:N

      B=numdec2bin(I(i,j),8);%先將每個(gè)像素轉(zhuǎn)換為8位2進(jìn)制序列

      B(n)=[];%刪除相應(yīng)位置的元素

      y(i,j)=numbin2dec(B);%將剩下的7個(gè)元素轉(zhuǎn)換為10進(jìn)制數(shù)放入y矩陣中

      end end

      y=uint8(y);%將10進(jìn)制的矩陣轉(zhuǎn)換為無(wú)符號(hào)整形

      subplot(4,2,9-n);%顯示n個(gè)圖像,每層是相應(yīng)的剔除該層的結(jié)果

      imshow(y);%顯示這個(gè)圖像

      title(strcat('去除第',num2str(9-n),'層后的結(jié)果'));%顯示標(biāo)題 end

      附帶的兩個(gè)函數(shù):

      function y=numdec2bin(x,n);%從函數(shù)將十進(jìn)制數(shù)x轉(zhuǎn)化為n位二進(jìn)制 y=zeros(1,n);a=x;i=n;while a>0 y(i)=mod(a,2);a=floor(a/2);i=i-1;end function y=numbin2dec(x)%將二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) a=0;lx=length(x);for i=1:lx a=a+x(i)*2^(lx-i);end y=a;

      去除第1層后的結(jié)果去除第2層后的結(jié)果去除第3層后的結(jié)果去除第4層后的結(jié)果去除第5層后的結(jié)果去除第6層后的結(jié)果去除第7層后的結(jié)果去除第8層后的結(jié)果

      Matlab的RGB轉(zhuǎn)換為YCbCr之后轉(zhuǎn)換回來(lái)和原圖不符

      這個(gè)是做JPEG圖像壓縮的時(shí)候遇到的一個(gè)問(wèn)題,當(dāng)時(shí)的代碼是用C寫(xiě)的但是結(jié)果不對(duì),后來(lái)想到用matlab進(jìn)行驗(yàn)證結(jié)果發(fā)現(xiàn)通過(guò)公式轉(zhuǎn)換得到的圖是錯(cuò)的。

      原理:BMP圖像壓縮為JPEG的第一步是將RGB色彩空間通過(guò)這個(gè)公式映射到Y(jié)CbCr空間上。

      Y=0.299 R + 0.587 G + 0.114 B Cb =0.3313G + 0.5 B + 128 Cr = 0.5 R0.0813 B + 128 然后再進(jìn)行量化,DCT,編碼等等步驟。JPEG解壓時(shí)需要將YCbCr空間的圖像又轉(zhuǎn)化回來(lái)到RGB上。

      R = Y + 1.402(Cr0.34414(Cb-128)128)

      B = Y + 1.772(Cb-128)

      但是通過(guò)書(shū)上給的公式和網(wǎng)上大部分公式卻發(fā)現(xiàn)根本轉(zhuǎn)化不會(huì)來(lái)。下面是寫(xiě)的程序代碼以及測(cè)試得到的結(jié)果圖像。

      clc,clear;Source=imread('hl.jpg');%讀入原始RGB圖像

      figure(1);subplot(1,2,1);imshow(Source):title('original image');%顯示圖像 [r c d]=size(Source);%計(jì)算圖像大小 %------計(jì)算紅色分量并顯示分解圖------% R(:,:,1)=Source(:,:,1);R(:,:,2)=zeros(r,c);R(:,:,3)=zeros(r,c);R=uint8(R);whos;figure(2);subplot(1,3,1);imshow(R)title('Red Component');%-------計(jì)算綠色分量并顯示分解圖-------% G(:,:,2)=Source(:,:,2);G(:,:,1)=zeros(r,c);G(:,:,3)=zeros(r,c);G=uint8(G);figure(2);subplot(1,3,2);imshow(G)title('Green Component');%--------計(jì)算藍(lán)色分量并顯示分解圖-------% B(:,:,3)=Source(:,:,3);B(:,:,1)=zeros(r,c);B(:,:,2)=zeros(r,c);B=uint8(B);figure(2);subplot(1,3,3)imshow(B)title('Blue Component');%------------合成-------------% Comp(:,:,1)=R(:,:,1);Comp(:,:,2)=G(:,:,2);Comp(:,:,3)=B(:,:,3);figure(1);subplot(1,2,2);imshow(Comp):title('composition image');Y=0.229*R+0.587*G+0.114*B;Cb=0.5*B-0.1687*R-0.3313*G+128;Cr=0.5*R-0.4187*G-0.0813*B+128;red=Y+1.402*(Cr-128);green=Y-0.34414*(Cb-128)-0.71414*(Cr-128);blue=Y+1.772*(Cb-128);Comp2(:,:,1)=red(:,:,1);Comp2(:,:,2)=green(:,:,2);Comp2(:,:,3)=blue(:,:,3);figure(3);imshow(Comp2);title('RGB轉(zhuǎn)換為YCrCb后又轉(zhuǎn)換為RGB的圖像');RD=R(:,:,1)-red(:,:,1);GD=G(:,:,2)-green(:,:,2);BD=B(:,:,3)-blue(:,:,3);figure(4);subplot(1,3,1);imshow(RD);title('紅色分量差異');subplot(1,3,2);imshow(GD);title('綠色分量差異');subplot(1,3,3);imshow(BD);title('藍(lán)色分量差異');

      然而可以通過(guò)figure(4)的圖像清楚看到R 和G分量轉(zhuǎn)換后恢復(fù) 與以前的差別很大。而且看了一下matlab自帶的rgb2ycbcr和ycbcr2rgb并且用了這兩個(gè)函數(shù)測(cè)試后圖像是一樣的。很是不解

      實(shí)驗(yàn)得到的圖為: original imagecomposition image

      將源圖像分為RGB三個(gè)部分。

      Red ComponentGreen ComponentBlue Component

      將源圖像的RGB分量轉(zhuǎn)換到Y(jié)CbCr上后又轉(zhuǎn)化為RGB得到的三個(gè)分量差異的圖。

      紅色分量差異綠色分量差異藍(lán)色分量差異 公式轉(zhuǎn)換的y分量公式轉(zhuǎn)換的cb分量公式轉(zhuǎn)換的Cr分量matlab函數(shù)轉(zhuǎn)換的y分量matlab函數(shù)轉(zhuǎn)換的Cb分量matlab函數(shù)轉(zhuǎn)換的Cr分量

      從最后的結(jié)果可以看出原圖轉(zhuǎn)換到Y(jié)CbCr空間之后又轉(zhuǎn)化回來(lái)得到的圖像與原圖不符….RGB轉(zhuǎn)換為YCrCb后又轉(zhuǎn)換為RGB的圖像

      以上只是我自己用Matlab做過(guò)的部分問(wèn)題,還有一些比如場(chǎng)聲源定位Music算法仿真,DES加密算法。神經(jīng)網(wǎng)絡(luò)濾波器等等,鑒于代碼量太大,就不再敖述。二 Simulink學(xué)習(xí)心得與編程實(shí)踐

      SIMILINK模塊庫(kù)按功能進(jìn)行分類(lèi),包括以下8類(lèi)子庫(kù): Continuous(連續(xù)模塊)Discrete(離散模塊)

      Function&Tables(函數(shù)和平臺(tái)模塊)Math(數(shù)學(xué)模塊)

      Nonlinear(非線性模塊)

      Signals&Systems(信號(hào)和系統(tǒng)模塊)Sinks(接收器模塊)Sources(輸入源模塊)

      對(duì)于simulink來(lái)說(shuō)其實(shí)沒(méi)什么好說(shuō)的,需要什么就把什么拖到Model里面,連線之后設(shè)定參數(shù)。不是很麻煩的。但是重要的是對(duì)于系統(tǒng)的設(shè)計(jì)與仿真思想才是最重要的。而且里面的S-Function也是比較好的一個(gè)設(shè)計(jì),用S-Function可以自定義一些組件,使自己的仿真看上去更加清晰與精簡(jiǎn)。

      Simulink的工作方式:

      (1)模塊內(nèi)的參數(shù)值首先會(huì)送到Matlab中進(jìn)行計(jì)算,得到的參數(shù)值會(huì)用來(lái)當(dāng)做以后需要調(diào)用的參數(shù)。

      (2)模型系統(tǒng)中的各個(gè)層級(jí)將被平展開(kāi)來(lái),每一個(gè)子系統(tǒng)將被相應(yīng)的模塊所代替。(3)模塊按被處理的順序排列,此時(shí)代數(shù)回路結(jié)構(gòu)也被檢查出來(lái),此種排列產(chǎn)生一個(gè)列表,以確保具有代數(shù)回路的模塊驅(qū)動(dòng)輸入的模塊被更新后才更新。

      (4)檢查塊之間的鏈接,是否每一個(gè)塊的輸出端口與它所連接的模塊輸入端口有相同的信號(hào)寬度。

      現(xiàn)在可以準(zhǔn)備執(zhí)行仿真操作,仿真時(shí)使用數(shù)值迭代求的的結(jié)果,每種數(shù)值積分模型提供的連續(xù)狀態(tài)的微分能力。

      Simulink中的模型都是分級(jí)的,因此可以通過(guò)自上而下或者自下而上的方式建立模型。定義了一個(gè)模型以后,就可以通過(guò)Simulink的菜單或者在Matlab的Command中輸入命令進(jìn)行仿真。

      關(guān)于學(xué)習(xí)的心得就寫(xiě)到這里了,接下來(lái)是一些自己做的仿真。

      1:觀察一個(gè)信號(hào)與積分之后的區(qū)別,目的是了解Scope的功能和用法。

      仿真結(jié)果,左邊為原始信號(hào),右邊為積分后的信號(hào)。

      用XYGraph看到的對(duì)比

      Rossler吸引子產(chǎn)生仿真:

      Rossler 吸引子產(chǎn)生是服從下面這個(gè)方程的 1

      212 331

      仿真圖 ???(x?x)x??x?axx??b?x(x?c)xa?b?0.2c?5.7

      仿真結(jié)果

      LMS自適應(yīng)濾波器: 仿真圖:

      遇到的問(wèn)題

      問(wèn)題的解決辦法:

      將Spectrum Scope中的buffer input打勾就行了。

      仿真結(jié)果圖形:

      1:Spectrum Scope的輸出圖形

      2:Vector Scope的輸出結(jié)果

      3:Scope的輸出結(jié)果圖形

      第二篇:Matlab與Simulink系統(tǒng)仿真學(xué)習(xí)心得 馬楠

      Matlab與Simulink系統(tǒng)仿真學(xué)習(xí)心得

      班級(jí):07610

      學(xué)號(hào):072019

      姓名:馬楠

      第一部分:Matlab學(xué)習(xí)心得以及實(shí)踐

      Matlab是迄今為止我所見(jiàn)到過(guò)的功能最為強(qiáng)大實(shí)用范圍寬廣的軟件。的確Matlab適用于教學(xué),航天,網(wǎng)絡(luò)仿真等等。而且提供了很多功能強(qiáng)大的工具箱,并且最為突出的是它自帶的很全面細(xì)致的幫助文檔,無(wú)論你是初學(xué)者還是老手都會(huì)驚嘆于此,你也不必去花很多時(shí)間去熟悉那些繁雜的命令,并且很容易通過(guò)這些幫助文檔得到關(guān)于這些函數(shù)最精準(zhǔn)的用法。

      Matlab是一個(gè)建立在矩陣操作上的軟件,我想要想真正懂得并理解Matlab與一般的語(yǔ)言比如C或者java的區(qū)別,那么你就應(yīng)該真正理解矩陣的思想。而且要熟悉Matlab對(duì)矩陣存儲(chǔ)的方式(在下文中我會(huì)詳細(xì)解釋與之相關(guān)的內(nèi)容),這樣對(duì)提高你的代碼執(zhí)行效率與易懂性都有很大的幫助。

      但是Matlab究竟應(yīng)該怎么定位呢?一個(gè)編程軟件,一個(gè)數(shù)學(xué)工具,一個(gè)工具箱,一個(gè)開(kāi)發(fā)引擎,一個(gè)仿真工具,一個(gè)虛擬現(xiàn)實(shí)軟件…… 的確要精準(zhǔn)的說(shuō)出Matlab的作用很難,或許去定義這個(gè)東西到底是用來(lái)干什么的并不重要,It is just a tool。

      關(guān)于Matlab的學(xué)習(xí)方法,我想與別的語(yǔ)言有很大不同,對(duì)于匯編或者C,我們應(yīng)當(dāng)很注重底層的一些操作,比如?;蛘哧?duì)列存儲(chǔ)數(shù)據(jù)的方式,int或者double類(lèi)型轉(zhuǎn)換的時(shí)候產(chǎn)生的數(shù)據(jù)丟失,或者指針?lè)矫婧茴^疼的一些東西,但是對(duì)于Matlab你根本不必去注重這些東西,也不必去清除的記得那個(gè)函數(shù)的具體調(diào)用方式,那個(gè)函數(shù)的內(nèi)容與結(jié)構(gòu)等等。你需要的只是相當(dāng)用一個(gè)筆記本寫(xiě)下你一步一步實(shí)現(xiàn)目標(biāo)的步驟而已。一種草稿紙式的語(yǔ)言。你所學(xué)的東西很大部分都是為你要做的目標(biāo)來(lái)服務(wù)的,也許這就是當(dāng)初面向?qū)ο笫秸Z(yǔ)言產(chǎn)生的原因,但是Matlab就是這種語(yǔ)言的一個(gè)代表。

      好了,就說(shuō)到這里了,接下來(lái)是我自己學(xué)習(xí)中對(duì)Matlab的一些應(yīng)用中所遇到的問(wèn)題以及思考方式和解決辦法。離散信號(hào)卷積:

      N1=input('N1=');%輸入N1 N2=input('N2=');%輸入N2 k1=0:(N1-1);%定義序列f1的對(duì)應(yīng)序號(hào)向量 k2=0:(N2-1);% 序列f2的對(duì)應(yīng)序號(hào)向量 f1=ones(1,N1);%f1為階躍序列 f2=0.5*k2;%f2為斜坡序列

      [f,k]=dconv(f1,f2,k1,k2)%求離散卷積

      其中dconv函數(shù)的代碼為:

      function [f,k]=dconv(f1,f2,k1,k2)

      %The function of compute f=f1*f2 % f: 卷積和序列f(k)對(duì)應(yīng)的非零樣值向量 % k:

      序列f(k)的對(duì)應(yīng)序號(hào)向量 % f1: 序列f1(k)非零樣值向量 % f2: 序列f2(k)的非零樣值向量 % k1: 序列f1(k)的對(duì)應(yīng)序號(hào)向量 % k2: 序列f2(k)的對(duì)應(yīng)序號(hào)向量 f=conv(f1,f2)

      %計(jì)算序列f1與f2的卷積和f k0=k1(1)+k2(1);

      %計(jì)算序列f非零樣值的起點(diǎn)位置 k3=length(f1)+length(f2)-2;

      %計(jì)算卷積和f的非零樣值的寬度

      k=k0:k0+k3

      %確定卷積和f非零樣值的序號(hào)向量 subplot(2,2,1)stem(k1,f1)title('f1(k)')xlabel('k')ylabel('f1(k)')subplot(2,2,2)

      %在子圖1繪序列f1(k)時(shí)域波形圖

      stem(k2,f2)

      %在圖2繪序列f2(k)時(shí)波形圖 title('f2(k)')xlabel('k')ylabel('f2(k)')subplot(2,2,3)stem(k,f);

      %在子圖3繪序列f(k)的波形圖 title('f(k)f1(k)與f2(k)的卷積和f(k)')xlabel('k')ylabel('f(k)')h=get(gca,'position');

      h(3)=2.5*h(3);set(gca,'position',h)%將第三個(gè)子圖的橫坐標(biāo)范圍擴(kuò)為原來(lái)的2.5倍一次物理實(shí)驗(yàn)中的數(shù)據(jù)處理,關(guān)于非線性電阻。

      x=[12.042 11.844 11.644 11.444 11.244 11.043 10.843 10.645 10.447 10.240 10.054 9.843 9.640 9.447 8.950 8.448 7.946 7.441 6.940 6.444 5.942 5.446 4.946 4.445 3.944 3.447 2.942 2.442 2.246 2.045 1.846 1.643 1.464 1.252 1.038 0.849 0.642 0.448 0.208 0 ];y=[0.601 0.915 1.349 1.742 2.152 2.572 2.994 3.414 3.840 4.285 4.678 4.612 4.526 4.447 4.246 4.043 3.846 3.635 3.433 3.232 3.028 2.827 2.625 2.442 2.220 2.018 1.814 1.614 1.535 1.455 1.376 1.235 1.101 0.950 0.791 0.642 0.491 0.341 0.158 0.001]

      p1=polyfit(x(1:11),y(1:11),1);p2=polyfit(x(11:31),y(11:31),1);p3=polyfit(x(31:end),y(31:end),1);Y1=vpa(poly2sym(p1,'x'),6)Y2=vpa(poly2sym(p2,'x'),6)Y3=vpa(poly2sym(p3,'x'),6)

      x1=min(x(1:11)):0.1:max(x(1:11));x2=min(x(11:31)):0.1:max(x(11:31));x3=min(x(31:end)):0.1:max(x(31:end));y1=polyval(p1,x1);y2=polyval(p2,x2);y3=polyval(p3,x3);

      plot(x,y,'o',x1,y1,x2,y2,x3,y3);xlabel('電壓值U/v');ylabel('電流值I/mA');title('非線性電阻伏安特性曲線');grid on 54.543.532.521.510.5002468101214

      3:三維立體圖形燈光效果 [x,y]=meshgrid(-8:0.5:8);R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;surf(x,y,z,'FaceColor','interp','EdgeColor','none','FaceLighting','phong');axis tight;daspect([5 5 1]);camlight left view(-50,30)

      10.80.60.40.204-0.2-8-6-4-202468-8-6-4-20268

      4:地形模擬:

      A=[ 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.4 0.3 0.2 0.3 0.2 0.1 0.2 0.2 0.4 0.3 0.2 0.2 0.2 0.2 19 0.3 0.2 0.2 0.2 0.2 0.4 0.3 0.3 0.3 0.3 0.4 0.2 0.2 0.2 0.2 0.4 0.4 0.4 0.3 0.2 0.2 18 0.2 0.3 0.3 0.2 0.3 1 0.4 0.5 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.6 0.5 0.4 0.4 0.2 0.2 17 0.2 0.2 0.4 0.2 1 1.1 0.9 0.4 0.3 0.3 0.5 0.3 0.2 0.2 0.2 0.7 0.3 0.6 0.6 0.3 0.4 16 0.2 0.2 0.9 0.7 1 1 1 0.7 0.5 0.3 0.2 0.2 0.2 0.6 0.2 0.8 0.7 0.9 0.5 0.5 0.4 15 0.2 0.3 1 1 1 1.2 1 1.1 0.8 0.3 0.2 0.2 0.2 0.5 0.3 0.6 0.6 0.8 0.7 0.6 0.5 14 0.2 0.4 1 1 1.1 1.1 1.1 1.1 0.6 0.3 0.4 0.4 0.2 0.7 0.5 0.9 0.7 0.4 0.9 0.8 0.3 13 0.2 0.2 0.9 1.1 1.2 1.2 1.1 1.1 0.6 0.3 0.5 0.3 0.2 0.4 0.3 0.7 1 0.7 1.2 0.8 0.4 12 0.2 0.3 0.4 0.9 1.1 1 1.1 1.1 0.7 0.4 0.4 0.4 0.3 0.5 0.5 0.8 1.1 0.8 1.1 0.9 0.3 11 0.3 0.3 0.5 1.2 1.2 1.1 1 1.2 0.9 0.5 0.6 0.4 0.6 0.6 0.3 0.6 1.2 0.8 1 0.8 0.5 10 0.3 0.5 0.9 1.1 1.1 1 1.2 1 0.8 0.7 0.5 0.6 0.4 0.5 0.4 1 1.3 0.9 0.9 1 0.8 9 0.3 0.5 0.6 1.1 1.2 1 1 1.1 0.9 0.4 0.4 0.5 0.5 0.8 0.6 0.9 1 0.5 0.8 0.8 0.9 8 0.4 0.5 0.4 1 1.1 1.2 1 0.9 0.7 0.5 0.6 0.3 0.6 0.4 0.6 1 1 0.6 0.9 1 0.7 7 0.3 0.5 0.8 1.1 1.1 1 0.8 0.7 0.7 0.4 0.5 0.4 0.4 0.5 0.4 1.1 1.3 0.7 1 0.7 0.6 6 0.3 0.5 0.9 1.1 1 0.7 0.7 0.4 0.6 0.4 0.4 0.3 0.5 0.5 0.3 0.9 1.2 0.8 1 0.8 0.4 5 0.2 0.3 0.6 0.9 0.8 0.8 0.6 0.3 0.4 0.5 0.4 0.5 0.4 0.2 0.5 0.5 1.3 0.6 1 0.9 0.3 4 0.2 0.3 0.3 0.7 0.6 0.6 0.4 0.2 0.3 0.5 0.8 0.8 0.3 0.2 0.2 0.8 1.3 0.9 0.8 0.8 0.4 3 0.2 0.3 0.3 0.6 0.3 0.4 0.3 0.2 0.2 0.3 0.6 0.4 0.3 0.2 0.4 0.3 0.8 0.6 0.7 0.4 0.4 2 0.2 0.3 0.4 0.4 0.2 0.2 0.2 0.3 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.5 0.7 0.4 0.4 0.3 0.3 1 0.2 0.2 0.3 0.2 0.2 0.3 0.2 0.2 0.2 0.2 0.2 0.1 0.2 0.4 0.3 0.6 0.5 0.3 0.3 0.3 0.2 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.7 0.4 0.2 0.4 0.5 0.3];z=A(2:end,2:end)[x,y]=meshgrid(0:20,20:-1:0);surf(x,y,z)xlabel('x')[X,Y]=meshgrid(0:0.3:20,20:-0.3:0);Z=interp2(x,y,z,X,Y,'spline')figure surf(X,Y,Z)1.41.210.80.60.40.2020******161820x

      1.41.210.80.60.40.20-0.220******161820

      第二部分:Simulink學(xué)習(xí)心得以及實(shí)踐

      Simulink是Matlab最重要的組件之一,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出復(fù)雜的系統(tǒng)。Simulink具有適應(yīng)面廣、結(jié)構(gòu)和流程清晰及仿真精細(xì)、貼近實(shí)際、效率高、靈活等優(yōu)點(diǎn),并基于以上優(yōu)點(diǎn)Simulink已被廣泛應(yīng)用于控制理論和數(shù)字信號(hào)處理的復(fù)雜仿真和設(shè)計(jì)。同時(shí)有大量的第三方軟件和硬件可應(yīng)用于或被要求應(yīng)用于Simulink。

      最開(kāi)始的仿真是沒(méi)有圖形化輸入的,所謂模型化圖形輸入是指SIMULINK提供了一些按功能分類(lèi)的基本的系統(tǒng)模塊,用戶只需要知道這些模塊的輸入輸出及模塊的功能,而不必考察模塊內(nèi)部是如何實(shí)現(xiàn)的,通過(guò)對(duì)這些基本模塊的調(diào)用,再將它們連接起來(lái)就可以構(gòu)成所需要的系統(tǒng)模型(以.mdl文件進(jìn)行存?。?,進(jìn)而進(jìn)行仿真與分析。

      現(xiàn)在來(lái)想其實(shí)要用Simulink去仿真一個(gè)系統(tǒng)不是很麻煩,只是實(shí)現(xiàn)一些拖拽或者參數(shù)設(shè)置什么的,但是要真正的去設(shè)計(jì)完善一個(gè)系統(tǒng)的確需要很多知識(shí)以及精力。我們必須了解這個(gè)系統(tǒng)的每一個(gè)步驟以及需要什么樣的組件與之匹配。而且在仿真出現(xiàn)錯(cuò)誤之后去分析也是很麻煩的一件事情,我們必須有對(duì)系統(tǒng)詳細(xì)的分析和充分了解以及對(duì)Simulink每個(gè)組件充分的了解才能真正找到錯(cuò)誤所在并且修正。所以學(xué)好計(jì)算機(jī)仿真重在理論知識(shí)。

      接下來(lái)是一些自己做的Simulink仿真。

      1:階躍信號(hào)的積分 仿真圖

      仿真結(jié)果:

      房屋產(chǎn)熱的一個(gè)實(shí)例

      該問(wèn)題是模擬一個(gè)戶外條件下一所房屋能夠產(chǎn)生的熱量的例子

      這是仿真結(jié)果圖

      第三篇:MATLAB實(shí)驗(yàn)六《SIMULINK交互式仿真》

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      實(shí)驗(yàn)六 SIMULINK交互式仿真

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、熟悉SIMULINK交互式仿真集成環(huán)境。

      2、掌握連續(xù)時(shí)間系統(tǒng)建模的方法。

      二、實(shí)驗(yàn)主要儀器與設(shè)備

      裝配有MATLAB7.6軟件的計(jì)算機(jī)

      三、預(yù)習(xí)要求

      做實(shí)驗(yàn)前必須認(rèn)真復(fù)習(xí)第七章SIMULINK交互式仿真集成環(huán)境。

      四、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)步驟

      示的SIMULINK模塊庫(kù)瀏覽器。

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      圖7.2 SIMULINK模塊庫(kù)瀏覽器

      4、開(kāi)啟空白(新建)模型窗

      單機(jī)Simulink模塊庫(kù)瀏覽器工具條上的圖標(biāo)“去的)。

      5、從模塊庫(kù)復(fù)制所需模塊到空白(新建)模型窗(見(jiàn)圖7.3)

      把連續(xù)模塊子庫(kù)中的積分器“拖”進(jìn)空白模型窗; 再用鼠標(biāo)點(diǎn)亮該模塊,選中下拉菜單項(xiàng){Format:Flip Block},使增益模塊 翻轉(zhuǎn)180度。把SimulinkMath Operations子庫(kù)中的求和模塊“拖”進(jìn) 空白模型窗;再把SimulinkSinkScope>示波器模塊“拖”進(jìn)空白模型窗。

      ”;或在選擇下拉菜單項(xiàng){File:

      New},引出如圖7.3所示的空白模型窗(注:窗中的模塊是后一個(gè)步驟復(fù)制進(jìn)

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      7.3 制進(jìn)庫(kù)模塊的新建模型窗

      6、新建模型窗中的模型再?gòu)?fù)制

      在該新建模型窗中,可以通過(guò)再?gòu)?fù)制,產(chǎn)生建模所需的2個(gè)積分模塊和2個(gè)增益 模塊。具體操作方法是:按住[Ctrl]鍵,用鼠標(biāo)“點(diǎn)亮并拖拉”積分模塊 到適當(dāng)?shù)奈恢?,便完成積分模塊的復(fù)制,而這被再?gòu)?fù)制的積分模塊會(huì)自動(dòng)改名為 ,以作區(qū)分。

      見(jiàn)一個(gè)所需的增益模塊,可采用類(lèi)似方法獲得。

      7、模塊連接線的形成方法隨信號(hào)起始端位置不同而不同,具體如下。

      起始端位于模塊輸出口的信號(hào)線生成法。使光標(biāo)靠近模塊輸出口;待光標(biāo)變 為“單線十字叉”時(shí),按下鼠標(biāo)左鍵;移動(dòng)十字叉,拖出一根“虛連線”;光標(biāo) 與另一個(gè)模塊輸出口靠近到一定程度,單十字叉變?yōu)殡p十字叉;放開(kāi)鼠標(biāo)左鍵,”虛連線”便變?yōu)閹Ъ^的信號(hào)連線。

      起始端位于其他信號(hào)線上的信號(hào)線生成法。使光標(biāo)置于已經(jīng)存在的其他信號(hào)線 之上;按下鼠標(biāo)右鍵,光標(biāo)變?yōu)椤皢尉€十字叉”;運(yùn)動(dòng)鼠標(biāo),引出”虛連線”;當(dāng) 鼠標(biāo)與待連接模塊輸入口靠得足夠近,單十字叉變?yōu)殡p十字叉;放開(kāi)鼠標(biāo)右鍵,“虛連線”便變?yōu)閹Ъ^的信號(hào)連線。

      雙擊相應(yīng)的信號(hào)線,給信號(hào)線作標(biāo)注,如x’’,x’,x等。

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      圖7.4

      已構(gòu)建完成的新建模型窗

      8、根據(jù)理論數(shù)學(xué)模型設(shè)置模塊參數(shù)

      為使構(gòu)造的Simulink模型與理論數(shù)學(xué)模型一致,須對(duì)模塊進(jìn)行如下參數(shù)設(shè)置。

      設(shè)置增益模塊參數(shù):雙擊模型窗中的增益模塊,引出如圖7.1-5 所示的參數(shù)設(shè)置窗;把Gain增益欄中的數(shù)字1改寫(xiě)為所需的2;單擊【OK】鍵,完成設(shè)置;此時(shí),新建模型窗中增益模塊上會(huì)出現(xiàn)數(shù)字2。參照以上方法,把增益模塊的增益系數(shù)修改為100.圖7.5 參數(shù)已經(jīng)修改為2的Grain增益模塊參數(shù)設(shè)置窗

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      修改求和模塊輸入口的代數(shù)符號(hào):雙擊求和模塊,引出如圖7.1-6所示的參數(shù)設(shè)置窗; 把符號(hào)列表欄中的默認(rèn)符號(hào)(++)修改成代數(shù)符號(hào)(--);單擊【OK】鍵,完成設(shè)置;

      圖7.6 改變輸出入口符號(hào)的求和模塊參數(shù)設(shè)置窗

      據(jù)初始位移x(0)=0.05m對(duì)積分模塊的初始狀態(tài)進(jìn)行設(shè)置:雙擊積分模塊 ,引出如圖7.7所示的參數(shù)設(shè)置窗;把初始條件Initial condition欄中的默認(rèn)0 初始修改為題目給定的0.05;單擊[OK]鍵,關(guān)閉該窗口,完成設(shè)置。

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      圖7.7 實(shí)現(xiàn)初始化位移0.05設(shè)置的Integrator1設(shè)置窗

      9仿真運(yùn)行參數(shù)采用默認(rèn)解算器“ode45”、默認(rèn)“變步長(zhǎng)”和默認(rèn)仿真終止時(shí)間10.10把新建模型保存為exm070101.mdl.11試運(yùn)行,以便發(fā)現(xiàn)問(wèn)題加以改善。

      雙擊示波器模塊,引出示波器顯示窗,并使它不與exm070101模型窗重疊。單擊exm070101模型窗上的“的運(yùn)行結(jié)果可能如圖7.8所示。

      ”仿真啟動(dòng)鍵,使該模型運(yùn)行;在示波器上呈現(xiàn)

      圖7.8 坐標(biāo)范圍設(shè)置不當(dāng)時(shí)的信號(hào)

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      單擊Scope顯示窗上的縱坐標(biāo)范圍自動(dòng)設(shè)置圖標(biāo)“”,示波器顯示窗改變?yōu)閳D7.9所

      示。在顯示窗中,可以看到位移x(t)的變化曲線。同時(shí)可以發(fā)現(xiàn):縱坐標(biāo)的適當(dāng)范 圍大致在【-0.06,0.06】;仿真時(shí)間取【0,5】即可;顯示的曲線不夠光滑。

      圖7.9 采用軸自動(dòng)設(shè)置功能的信號(hào)顯示

      12、據(jù)試運(yùn)行結(jié)果,進(jìn)行仿真參數(shù)的再設(shè)置

      示波器縱坐標(biāo)設(shè)置:用鼠標(biāo)單擊示波器的黑色顯示屏,在彈出菜單中選擇Axes Properties,引出縱坐標(biāo)設(shè)置對(duì)話窗7.10所示;把縱坐標(biāo)的下限、上限分別設(shè)置為(-0.06)和(+0.06);單 擊【OK】,完成設(shè)置。

      示波器時(shí)間顯示范圍的修改:單擊示波器的參數(shù)設(shè)置圖標(biāo)“

      ”,引出示波器參數(shù)設(shè)置窗;

      在General卡片的Axes區(qū)的Time range欄中,填寫(xiě)5或auto;單擊【OK】,完成設(shè)置。

      圖7.10 對(duì)顯示屏的縱坐標(biāo)范圍進(jìn)行設(shè)置

      7.11 對(duì)示波器時(shí)間顯示范圍的設(shè)置

      ·仿真終止時(shí)間最簡(jiǎn)捷的修改方法:在exam070101模型窗“仿真終止時(shí) 間”欄“

      ”中的默認(rèn)值10改變?yōu)?。

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      ·顯示曲線的光滑化設(shè)置:選中exam070101模型窗的下拉菜單項(xiàng)SimulationConfiguration Parameters,引出仿真參數(shù)配置窗,如圖7.12所示;再在該窗左側(cè)的選擇欄中,選中Data Import/Export項(xiàng),與之相應(yīng)的參數(shù)設(shè)置欄便出現(xiàn)在窗口的右側(cè);把右半窗下方Save options 區(qū)中Refine factor欄中的默認(rèn)值1改為5;單擊OK,完成設(shè)置。

      7.12 通過(guò)仿真參數(shù)配置窗設(shè)置輸出光滑因子

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      完成以上修改后的模型窗如圖7.13所示。再運(yùn)行exam070101,可得比較滿意的位移變化曲線(見(jiàn)圖7.14所示)。順便指出:模型運(yùn)行后,在模塊輸出口的信號(hào)線上會(huì)出現(xiàn)double字樣。這 表示該信號(hào)是采用“雙精度”類(lèi)型數(shù)據(jù)運(yùn)算。如果用戶不希望這類(lèi)標(biāo)識(shí)出現(xiàn),那么應(yīng)取消對(duì)下 拉菜單項(xiàng)FormatPort signal DisplaysPort Data Types的勾選。

      圖7.13

      仿真參數(shù)調(diào)整運(yùn)行后的exam070101模型

      在模型窗中,x’’,x’,x等信號(hào)名稱是模型創(chuàng)建者根據(jù)需要寫(xiě)入的。標(biāo)識(shí)信號(hào)名稱的操作方法 是:用鼠標(biāo)雙擊信號(hào)附近的適當(dāng)位置后,就會(huì)出現(xiàn)一個(gè)虛線框,該虛線框中允許輸入任何 文字。

      13、仿真結(jié)果顯示

      原本比較稀疏的解計(jì)算器數(shù)據(jù),經(jīng)設(shè)定的“光滑因子”下的插值,增加了用于描繪曲線的 數(shù)據(jù)點(diǎn)數(shù),因此使示波器顯示出更為光滑的曲線,如圖7.14所示。

      《計(jì)算機(jī)仿真及應(yīng)用》實(shí)驗(yàn)教案

      圖7.14 適當(dāng)?shù)仫@示仿真所得的位移變化曲線

      五、實(shí)驗(yàn)小結(jié)

      第四篇:2021基于MATLAB Simulink的平面四連桿機(jī)構(gòu)仿真

      基于MATLAB

      Simulink的平面四連桿機(jī)構(gòu)仿真

      基于MATLAB/Simulink的平面四連桿機(jī)構(gòu)仿真

      一、題目及自由度分析

      如圖1所示,該平面四桿機(jī)構(gòu)中有三根運(yùn)動(dòng)的均質(zhì)鋼桿,其中有兩根鋼桿的一端與接地點(diǎn)連接,第三根桿就與這兩根桿剩下的端點(diǎn)連接起來(lái),兩個(gè)接地點(diǎn)就可認(rèn)為是第四桿,機(jī)構(gòu)中相關(guān)尺寸如圖2所示。

      計(jì)算結(jié)構(gòu)自由度,三個(gè)運(yùn)動(dòng)桿被限制到平面內(nèi)運(yùn)動(dòng),因此每個(gè)桿都有兩個(gè)移動(dòng)和一個(gè)轉(zhuǎn)動(dòng),即在考慮約束之前,自由度為:

      3×(2+1)=9

      但是由于每個(gè)桿都受到約束,所以并不是每個(gè)自由度都是獨(dú)立的。在二維狀態(tài)下,剛體間的連接或者剛體與接地點(diǎn)的連接就會(huì)增加兩個(gè)約束。這樣就會(huì)使得剛體其中一端不能夠作為獨(dú)立的自由運(yùn)動(dòng)點(diǎn),而是要受到鄰近剛體的約束。該題中有四個(gè)剛體--剛體或剛體—接地點(diǎn)的連接,這就隱含8個(gè)約束。

      那么最后的自由度為9-8=1.雖然有四個(gè)轉(zhuǎn)動(dòng)自由度,但是,其中三個(gè)都是非獨(dú)立的,只要確定其中一個(gè),就可確定其余三個(gè)。

      二、模型建立及參數(shù)設(shè)置

      1應(yīng)用MATLAB/Simulink建立初始模型

      2在初始模型的基礎(chǔ)上添加Joint

      Sensor模塊

      3依題意設(shè)置相關(guān)參數(shù)

      ⑴配置Ground模塊

      由圖2可得系統(tǒng)的基本尺寸為:

      ①固定構(gòu)件長(zhǎng)86.7厘米

      ②Ground_1表示接地點(diǎn),在World

      CS坐標(biāo)軸原點(diǎn)右邊43.3cm處

      ③Ground_2表示接地點(diǎn),在World

      CS坐標(biāo)軸原點(diǎn)左邊43.4cm處

      ④最下端的鉸處于X-Z平面內(nèi)原點(diǎn)以上4cm

      圖5Ground_1模塊參數(shù)設(shè)置圖6Ground_2模塊參數(shù)設(shè)置

      4配置Joint模塊

      三個(gè)沒(méi)有接地的聯(lián)桿都是在X-Y平面內(nèi)的,所以Revolute軸必須是Z軸。

      ⑴依次打開(kāi)Revolute參數(shù)對(duì)話框,保持默認(rèn)值,即Axis

      of

      rotation[x

      y

      z]默認(rèn)設(shè)置為[001],Reference

      csys都是WORLD。

      圖7Revolute坐標(biāo)設(shè)置

      ⑵根據(jù)連接情況依次設(shè)置Revolute參數(shù)對(duì)話框中的Connection

      parameters參數(shù)

      圖8Revolute模塊參數(shù)對(duì)話框Connection

      parameters參數(shù)

      圖9Revolute模塊參數(shù)對(duì)話框Connection

      parameters參數(shù)

      圖10Revolute模塊參數(shù)對(duì)話框Connection

      parameters參數(shù)

      圖11Revolute模塊參數(shù)對(duì)話框Connection

      parameters參數(shù)5配置Body模塊

      本題中Body模塊(即Bar)定位方式不是直接相對(duì)于WORLD坐標(biāo)系統(tǒng),而是采用相對(duì)坐標(biāo)形式,Bar1的CS1相對(duì)于Ground_1,Bar2的CS1相對(duì)于Bar1,以此類(lèi)推。

      以下為每個(gè)Body模塊的詳細(xì)參數(shù)設(shè)置,其中包括質(zhì)量(Mass)、慣性矩(Inertia)、重心坐標(biāo)原點(diǎn)、CS1坐標(biāo)原點(diǎn)、CS2坐標(biāo)原點(diǎn)和重心的方向。

      圖12Bar1的模塊參數(shù)設(shè)置

      圖13Bar2的模塊參數(shù)設(shè)置

      圖14Bar3的模塊參數(shù)設(shè)置三、檢測(cè)運(yùn)動(dòng),運(yùn)行模型

      圖15仿真結(jié)果動(dòng)畫(huà)顯示

      圖16Revolute2和Revolute3的轉(zhuǎn)角時(shí)程曲線

      三、小結(jié)

      目前較為主流的動(dòng)力學(xué)仿真軟件是Adams,但鑒于本人對(duì)該軟件接觸較少,且MATLAB也具有該功能,故本題采用Simulink中的SimMechanics工具箱對(duì)平面四桿機(jī)構(gòu)進(jìn)行建模仿真,并利用其可視化窗口進(jìn)行系統(tǒng)運(yùn)動(dòng)可視化。

      通過(guò)仿真結(jié)果可以看到,使用已有的計(jì)算機(jī)仿真軟件包Matlab/Simulink來(lái)建立機(jī)構(gòu)的仿真模型,仿真求解機(jī)構(gòu)力學(xué)和運(yùn)動(dòng)參數(shù),可以把用戶從復(fù)雜煩瑣的數(shù)學(xué)計(jì)算中解放出來(lái),提高了求解速度,保證了求解精度。

      第五篇:MATLAB與控制系統(tǒng)仿真實(shí)驗(yàn)報(bào)告

      《MATLAB與控制系統(tǒng)仿真》

      實(shí)驗(yàn)報(bào)告

      2013-2014學(xué)年 第 1 學(xué)期

      專業(yè): 班級(jí): 學(xué)號(hào): 姓名:

      實(shí)驗(yàn)三 MATLAB圖形系統(tǒng)一、實(shí)驗(yàn)?zāi)康模?/p>

      1.掌握繪制二維圖形的常用函數(shù)。2.掌握繪制三維圖形的常用函數(shù)。3.熟悉利用圖形對(duì)象進(jìn)行繪圖操作的方法。4.掌握繪制圖形的輔助操作。

      二、實(shí)驗(yàn)原理:

      1,二維數(shù)據(jù)曲線圖

      (1)繪制單根二維曲線 plot(x,y);(2)繪制多根二維曲線 plot(x,y)當(dāng)x是向量,y是有一維與x同維的矩陣時(shí),則繪制多根不同顏色的曲線。當(dāng)x,y是同維矩陣時(shí),則以x,y對(duì)應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。(3)含有多個(gè)輸入?yún)?shù)的plot函數(shù) plot(x1,y1,x2,y2,…,xn,yn)(4)具有兩個(gè)縱坐標(biāo)標(biāo)度的圖形 plotyy(x1,y1,x2,y2)2,圖形標(biāo)注與坐標(biāo)控制 1)title(圖形名稱); 2)xlabel(x軸說(shuō)明)3)ylabel(y軸說(shuō)明)4)text(x,y圖形說(shuō)明)5)legend(圖例1,圖例2,…)

      6)axis([xmin xmax ymin ymax zmin zmax])3, 圖形窗口的分割 subplot(m,n,p)4,三維曲線

      plot3(x1,y1,z1,選項(xiàng)1,x2,y2,選項(xiàng)2,…,xn,yn,zn,選項(xiàng)n)5,三維曲面

      mesh(x,y,z,c)與surf(x,y,z,c)。一般情況下,x,y,z是維數(shù)相同的矩陣。X,y是網(wǎng)格坐標(biāo)矩陣,z是網(wǎng)格點(diǎn)上的高度矩陣,c用于指定在不同高度下的顏色范圍。6,圖像處理

      1)imread和imwrite函數(shù) 這兩個(gè)函數(shù)分別用于將圖象文件讀入matlab工作空間,以及將圖象數(shù)據(jù)和色圖數(shù)據(jù)一起寫(xiě)入一定格式的圖象文件。

      2)image和imagesc函數(shù) 這兩個(gè)函數(shù)用于圖象顯示。為了保證圖象的顯示效果,一般還應(yīng)使用colormap函數(shù)設(shè)置圖象色圖。

      三、實(shí)驗(yàn)儀器和設(shè)備:

      計(jì)算機(jī)一臺(tái)(帶有MATLAB6.5以上的軟件環(huán)境)。

      四、預(yù)習(xí)要求:

      1.復(fù)習(xí)二維與三維圖形的繪圖函數(shù)。2.復(fù)習(xí)圖形輔助操作。

      五、實(shí)驗(yàn)內(nèi)容及步驟:

      1,設(shè)y?[0.5?3sinx]cosx,在x=0~2π區(qū)間取101點(diǎn),繪制函數(shù)曲線。21?x

      2,已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作:

      (1)在同一坐標(biāo)系下用不同的顏色和線型繪制三條曲線;

      (2)分別用條形圖、階梯圖、桿圖和填充圖繪制三條曲線。

      3,已知

      ?x??,?x?02?e y???1In(x?1?x2),x?0??2在-5<=x<=5區(qū)間繪制函數(shù)曲線。

      4,繪制函數(shù)的曲面圖和等高線

      z?cosxcosye?x2?y24

      其中x的21個(gè)值均勻分布在[-5,5]范圍,y的31個(gè)值均勻分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)將產(chǎn)生的曲面圖和登高圖畫(huà)在同一個(gè)窗口上。

      5.畫(huà)出函數(shù)

      z?x2?y2?sin(xy)的曲面及等高線圖。

      x2y2?1繪制平面曲線,并分析參數(shù)a對(duì)其形狀的影響。6.根據(jù)2?a25?a2

      四、心得體會(huì):

      通過(guò)這次實(shí)驗(yàn)我能熟練掌握二維和三維圖以及其他特殊圖形的制作,弄清楚了基本的圖形操作規(guī)則,大大加深了我對(duì)matlab的興趣。

      實(shí)驗(yàn)二 MATLAB程序設(shè)計(jì)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1.掌握利用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)的方法。

      2.掌握利用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)的方法。3.掌握利用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的方法。4.掌握利用while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的方法。

      二、實(shí)驗(yàn)設(shè)備及條件

      計(jì)算機(jī)一臺(tái)(帶有MATLAB6.5以上的軟件環(huán)境)。

      三、實(shí)驗(yàn)內(nèi)容

      1.編寫(xiě)求解方程ax2?bx?c?0的根的函數(shù)(這個(gè)方程不一定為一元二次方程,因a、b、c的不同取值而定),這里應(yīng)根據(jù)a、b、c的不同取值分別處理,有輸入?yún)?shù)提示,當(dāng)a?0,b?0,c~?0時(shí)應(yīng)提示“為恒不等式!”。并輸入幾組典型值加以檢驗(yàn)。

      clear,clc a=input('請(qǐng)輸入一個(gè)數(shù)a=');b=input('請(qǐng)輸入一個(gè)數(shù)b=');c=input('請(qǐng)輸入一個(gè)數(shù)c=');m=b^2-4*a*c;if a==0

      if b==0

      '為恒不等式'

      end end

      m=b^2-4*a*c;if m>0

      x1=(-b+sqrt(m))/(2*a)

      x2=(-b-sqrt(m))/(2*a)elseif m==0

      x=(-b)/(2*a)else

      '不存在正實(shí)根' end

      2.輸入一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)A+、A、B、C、D、E。其中100分為A+,90分~99分為A,80分~89分為B,70分~79分為C,60分~69分為D,60分以下為E。

      要求:(1)用switch語(yǔ)句實(shí)現(xiàn)。

      (2)輸入百分制成績(jī)后要判斷該成績(jī)的合理性,對(duì)不合理的成績(jī)應(yīng)輸出出錯(cuò)信息。

      clear,clc for k=1:10

      a(k)={89+k};b(k)={79+k};

      c(k)={69+k};d(k)={59+k};end A=cell(3,6);A(1,:)={'a','b','c','d','e','f'};A(2,:)={85,76,95,100,40,65};for k=1:6

      switch A{2,k}

      case 100

      r='A+';

      case a

      r='A';

      case b

      r='B';

      case c

      r='C';

      case d

      r='D';

      otherwise

      r='E';

      end

      A(3,k)={r};end A A =

      'a'

      'b'

      'c'

      [85]

      [76]

      [95]

      'B'

      'C'

      'A'

      'd'

      'e'

      [100]

      [40]

      'A+'

      'E'

      'f' [65] 'D'

      3.利用for循環(huán)語(yǔ)句編寫(xiě)計(jì)算n!的函數(shù)程序,取n分別為-89、0、3、5、10驗(yàn)證其正確性(輸入n為負(fù)數(shù)時(shí)輸出出錯(cuò)信息)。

      clear,clc n=input('請(qǐng)輸入一個(gè)正數(shù)n=');if n<0

      '輸入錯(cuò)誤' elseif n==0

      'n!=0' elseif n==1

      'n!=1' else

      y=1;

      for i=1:1:n

      y=y*i;

      i=i+1;

      end

      y end 請(qǐng)輸入一個(gè)正數(shù)n=-89

      ans =輸入錯(cuò)誤 請(qǐng)輸入一個(gè)正數(shù)n=0

      ans =n!=0 請(qǐng)輸入一個(gè)正數(shù)n=1

      ans =n!=1 請(qǐng)輸入一個(gè)正數(shù)n=3

      y =6 請(qǐng)輸入一個(gè)正數(shù)n=10

      y =3628800

      四、實(shí)驗(yàn)心得體會(huì):

      通過(guò)本次實(shí)驗(yàn)課,我能熟練運(yùn)用for循環(huán)語(yǔ)句,switch條件語(yǔ)句以及if條件語(yǔ)句的新用法,和在C中的區(qū)別。盡管如此,但是在實(shí)驗(yàn)中依然容易把for循環(huán)跟C語(yǔ)言中的for語(yǔ)句弄混,最后經(jīng)過(guò)不懈努力下,終于弄明白了兩者之間的差別,使我能更好的運(yùn)用這些指令語(yǔ)句。

      下載Matlab與Simulink仿真學(xué)習(xí)心得word格式文檔
      下載Matlab與Simulink仿真學(xué)習(xí)心得.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)范文推薦

        實(shí)驗(yàn)報(bào)告 5 Simulink仿真[推薦五篇]

        實(shí)驗(yàn)五 Simulink仿真(一) 一、實(shí)驗(yàn)?zāi)康?1、熟悉Simulink仿真環(huán)境 2、了解Simulink基本操作 3、了解Simulink系統(tǒng)建?;痉椒?3、熟悉Simulink仿真系統(tǒng)參數(shù)設(shè)置和子系統(tǒng)封裝的......

        電子信息MATLAB系統(tǒng)仿真與設(shè)計(jì)

        電子信息系統(tǒng)仿真與設(shè)計(jì) 課程設(shè)計(jì)報(bào)告 設(shè)計(jì)課題: 油價(jià)變化系統(tǒng)的模型 姓 名: 學(xué) 院: 機(jī)電與信息工程學(xué)院專 業(yè): 電子信息科學(xué)與技術(shù)班 級(jí): 09級(jí) 2班 學(xué) 號(hào): 日 期......

        基于simulink的車(chē)輛行駛控制系統(tǒng)建模與仿真

        基于Simulink的車(chē)輛行駛控制系統(tǒng)建模與仿真 汽車(chē)行駛控制系統(tǒng)是應(yīng)用非常廣泛的控制系統(tǒng)之一,其主要的目的是對(duì)汽車(chē)的速度進(jìn)行合理的控制。系統(tǒng)的工作原理如下:通過(guò)速度操縱機(jī)......

        基于Matlab的ASK仿真

        基于MATLAB的2ASK調(diào)制 根據(jù)數(shù)字帶通調(diào)制原理,運(yùn)用MATLAB進(jìn)行編程,仿真調(diào)制過(guò)程,記錄并分析仿真結(jié)果。 形成設(shè)計(jì)報(bào)告。 課程設(shè)計(jì)需要運(yùn)用MATLAB編程實(shí)現(xiàn)2ASK,2FSK,2PSK,2DPSK調(diào)......

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

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

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

        ? matlab博大精深,說(shuō)到底我也只不過(guò)是個(gè)初學(xué)者,只是學(xué)的時(shí)間比新手長(zhǎng)了一點(diǎn),現(xiàn)在寫(xiě)幾句給新手,希望能給你們有點(diǎn)幫助 1 學(xué)Matlab并不難,難的是學(xué)會(huì)怎么用。 2不要試圖掌握matlab的......

        matlab學(xué)習(xí)心得

        編程心得 1.helpwin只是尋找函數(shù)類(lèi),一般不如用doc(相當(dāng)于幫助文檔中的搜索),但在用doc搜索不到幫助文件時(shí)可用helpwin,如找有關(guān)的幫助等;打開(kāi)格式非標(biāo)準(zhǔn)的mat或xls等數(shù)據(jù)文件如dat......

        MATLAB學(xué)習(xí)心得

        MATLAB學(xué)習(xí)心得 MATLAB命令 要查詢某一命令是在搜尋路徑的何處,可用which命令: >>which fact E:studycodematlabfact.m what 列出當(dāng)前目錄下的.m文件和.mat who:顯示當(dāng)前......