實驗一 MATLAB基本運算及繪圖基礎
一、??????? 實驗要求
1、熟悉MATLAB命令窗口的組成和各菜單的含義;
2、掌握MATLAB基本使用方法,并能熟練操作MATLAB基本命令;
3、掌握函數(shù)表達式或模型的輸入方法和基本數(shù)值計算方法;
4、掌握繪圖函數(shù)plot的基本使用方法,以及圖形各種屬性操作。
二、??????? 實驗內(nèi)容
1、已知蝴蝶曲線由以下參數(shù)方程給出:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

要求如下:
(1)取值范圍為[0,100],步長為1/16(t = 0:1/16:100);
(2)分別計算和
的值(注意表達式中的點乘運算),不要求輸出結果,用函數(shù)plot(x,y,'r-')繪制蝴蝶曲線;
(3)計算當時的
和
值,并輸出;
(4)使用命令hold on保持當前圖像,使用命令plot(x0,y0,'b.','MarkerSize',20)繪制和
值到圖形中;最終參考圖像如圖1-1所示。
(5)對工作區(qū)中的變量進行截圖,并解釋各變量的含義和取值;
(6)把上述正確的命令集中錄入到命令文件中,命名為“Butterfly_Curve.m”,在命令窗口輸入Butterfly_Curve,驗證代碼功能的正確性和圖形的正確性。
2、表1-1是一些關于速度和力的風洞(Wind tunnel)數(shù)據(jù)。
表1-1 風洞數(shù)據(jù)

可以用下面的函數(shù)描述這些數(shù)據(jù):
要求如下:
(1)使用函數(shù)plot繪制表1-1風洞數(shù)據(jù),用品紅色圓形符號表示,圓形符號填充色為青色,使用help plot命令查看函數(shù)參數(shù)的使用方法;
(2)使用函數(shù)plot繪制函數(shù),使用黑色點劃線,繪制函數(shù)從到
之間的部分;
(3)標記坐標軸,標記標題,標記圖例,繪制網(wǎng)格。最終參考圖形如圖1-2所示。
(4)計算表1-1中速度的函數(shù)值FT,并與表1-1中F做比較,即計算平均誤差(公式為
),這里
取風洞數(shù)據(jù)真實測量值F,
取相應的函數(shù)模型估計值FT,(其中用到sum、abs和length函數(shù));
(5)把上述正確的命令集中錄入到命令文件中,命名為“Wind_tunnel.m”,在命令窗口輸入Wind_tunnel,驗證代碼功能的正確性和圖形的正確性。

3、物體的運動軌跡可以建模為:
其中,是高度(m),
是初始角度(弧度),
是水平位移(m),
是重力加速度(取
),
是初始速度(m/s),
是初始高度。
根據(jù)課件案例“電容電量”的求解步驟,完成如下要求:
(1)建立命令文件“Sport_model.m”,按要求輸入命令代碼,(注意:邊輸入邊驗證代碼的正確性);
(2)用MATLAB繪制物體的軌跡,其中,
,初始角度從
到
,步長取
。水平距離從
變化到
,遞增步長取
;
(3)計算結果應該存放在一個矩陣中,矩陣的第一維度(行)對應于水平距離,而第二維度對應于不同初始角度的高度(從第2行到第6行);
(4)針對每個初始角度,用該矩陣繪制一幅高度隨水平距離變化的圖;
(5)使用圖例區(qū)分不同的情況,用axis命令對圖形進行縮放以使最小高度變?yōu)?img type="latex" class="latex" src="http://api.bilibili.com/x/web-frontend/mathjax/tex?formula=-50" alt="-50">,并標記坐標軸和標題。最終參考圖形如圖1-3所示。

4、已知分段函數(shù):

要求如下:
(1)用plot函數(shù)繪制分段函數(shù),取值范圍為[-5, 10)(表示方法可以-5:0.1:10-eps);
(2)求在點x0 = [0,3,5,8]的函數(shù)值,并把此四個點的值繪制在圖形中,繪圖結果如圖1-4所示;
(3)思考如何使用不同顏色繪制不同區(qū)間函數(shù)的曲線,如圖1-5所示。


5、繪圖練習,逐條輸入以下語句,觀察所繪制圖形的變化,并理解熟記繪圖屬性函數(shù),如set、xlabel、legend、title、text、axis。結果如圖1-6所示。(提示:每輸入一條語句,觀察圖形的變化,深刻理解每條語句的含義。特別注意:在輸入代碼的時候,如果此行代碼無誤,請把此行代碼復制到腳本文件中保存,以便重復利用!!)

%---------------------------------------------代碼start-------------------------------------------
%注意以下代碼中%后的為注釋內(nèi)容??!
>> x=0:0.2:12;?
>> y1=sin(x);?
>> y2=cos(x);?
>> y3=sin(x)+cos(x);?? %計算函數(shù)值
>> h=plot(x, y1, x, y2, x, y3);? %繪制基本圖形
>> set(h,{'LineWidth'},{1;2;3})?? %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),將所有線寬設置為2
>> set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--'; '-.'; ':'})?? %設置顏色和線寬
>> axis([0 12 -1.5 1.5])?? %設置坐標軸范圍
>> grid on? %添加網(wǎng)格線
>> X=0:1:12;?? Y=-1.5:0.1:1.5;
>> set(gca,'xtick',X,'ytick',Y)?? %設置網(wǎng)格的顯示格式,gca獲取當前figure的句柄
>> set(xlabel('x'),'FontSize',20,'Color','r')? %設置X軸坐標值的顏色和大小
>> y=ylabel('y');?
>> set(y,'FontSize',24,'Color','g')
>> legend(h,'First','Second','Third')????? %添加圖例
>> title('sin(x)cos(x)and sin(x)+cos(x)')???? %添加標題
>> [y,ix]=min(y1);??? %找到y(tǒng)1的最小值以及改值的下標,賦給y和ix
>> text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right')?? %插入文本
%-------------------------------------------代碼end-------------------------------------------