MATLAB技巧的讲座.doc

MATLAB技巧的讲座.doc

ID:48428158

大小:110.50 KB

页数:20页

时间:2020-01-25

MATLAB技巧的讲座.doc_第1页
MATLAB技巧的讲座.doc_第2页
MATLAB技巧的讲座.doc_第3页
MATLAB技巧的讲座.doc_第4页
MATLAB技巧的讲座.doc_第5页
资源描述:

《MATLAB技巧的讲座.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.word可编辑.MATLAB技巧講座作者:黃俊德後續修改:丁建均,廖科傑國立台灣大學電信工程學研究所一、畫方程式plot例:x=sin(t)dt=0.1;t=0:dt:2*pi;x=sin(t);plot(t,x);index1234...616263t00.10.20.3...66.16.2index1234...616263x00.09980.19870.2955...-0..专业.专注..word可编辑.2794-0.1822-0.0831在圖上加上各種文字說明dt=0.1;t=0:dt:2*pi;x1=sin(t);x2=cos(t);plot(t

2、,x1,t,x2);title('sin(t)andcos(t)');xlabel('time(sec)');ylabel('value');legend('sin(t)','cos(t)');.专业.专注..word可编辑.二、將時間值轉為index值如:先設時間軸:dt=0.1;t=-5:dt:5;index12...404142...6162...100101t-5-4.9...-1.1-1-0.9...16.1...4.95希望得到的x值index12...404142...6162...100101x00...011...10...00x=zero

3、s(1,length(t));x(41:61)=1;如何將時間值t1轉為index值i1使得-1®41,1®61ans:i1=(t1-min(t))/dt+1x((-1+5)/dt+1:(1+5)/dt+1)=1;.专业.专注..word可编辑.有時候可能會發生轉換出來的index值不是整數的錯誤訊息可使用round()再轉為整數i1=round((t1-min(t))/dt+1).专业.专注..word可编辑.三、畫圖與畫線的一些技巧figure;plot([-5050],[00],'k',[00],[-5050],'k');holdon;plot([-1

4、50100],[0150-10],'r:');axis([-2020-1515]);t=0:0.1:10;figure;subplot(2,1,1);plot(t,cos(t));subplot(2,1,2);plot(t,sin(t));.专业.专注..word可编辑.四、輸入與輸出x=input('輸入一個數:');disp(x);輸入一個數:1212x1=input('輸入第一個數x1:');x2=input('輸入第二個數x2:');disp(sprintf('x1=%d,x2=%d,x1+x2=%d',x1,x2,x1+x2));輸入第一個數x

5、1:2輸入第二個數x2:4x1=2,x2=4,x1+x2=6五、計時可以用tic,toc兩個指令tic:如同按下碼錶toc:顯示時間.专业.专注..word可编辑.例子:ticsum=1;fora=2:100sum=sum+a;endtocElapsedtimeis0.001423seconds.所以Matlab計算從1加到100的時間為0.001423秒.专业.专注..word可编辑.六、善用find指令「find」這個指令可以找出一個vector或matrix不為零的entries位置,或是找出滿足某些條件的entries的位置例子:>>x=[11010

6、];>>find(x)ans=124>>y=[-2131-110];>>find(y>0)ans=2346又如,我們想要讓im這個vector大於255的值都變為255,可以用>>im=[80120260280220280200];>>im(find(im>255))=255%或者可以簡寫為im(im>255)=255im=80120255255220255200善用「find」這個指令,可以避免迴圈,加快計算速度七、Debug模式增加breakpoint.专业.专注..word可编辑.刪除breakpoint下一步進入函式退出函式到下一個breakpoin

7、t結束程式注意程式中不能有clearall否則會把breakpoint也清除掉.专业.专注..word可编辑.八、向量化寫法由於Matlab在執行迴圈的時候較花時間,但是在處理vector或matrix的時候比較有效率,所以,Matlab寫程式有一個原則,就是儘量用vector或matrix來取代迴圈。以下給一個用Matlab來計算continuousFouriertransform的例子如Fourier轉換:寫成離散的型式:程式:closeall;dt=0.01;t=0:dt:10;N=length(t);x=cos(2*pi*t);df=0.01;f=0

8、:df:5;M=length(f);%方法一:使用迴

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。