《《MATLAB程序設(shè)計》復習》由會員分享,可在線閱讀,更多相關(guān)《《MATLAB程序設(shè)計》復習(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Matlab習題及復習要點
1 .Matlab的英文組成;程序和變量的命名規(guī)則;
在MATLABg言中是區(qū)分字母大小的,也就是說,大寫字母和小寫字母代表的東西是不同的。
2 .Matlab中注釋、關(guān)鍵詞等的顯示顏色;如何設(shè)置當前路徑、如何設(shè)置搜索路徑(例如
第一次上機練習過的,新建的“D:\temp”目錄中有腳本文件abc.m,若要能在命令窗口
輸入abc執(zhí)行則..);
3 .熟悉Matlab中的幾種數(shù)據(jù)類型(int8、double、logical等);
4 .在MATLA中計算數(shù)學公式(如三角函數(shù)、對數(shù)、開根號等)的表達;
5 .掌握數(shù)組的幾個操作(裁剪、擴增、eye、zer
2、os等)、對角陣指令、均勻分布隨即向
量指令;數(shù)組中行和列的分隔符;
6 .在循環(huán)結(jié)構(gòu)中的幾個命令:break、continue等;
7 .已知字符‘A'、'Z'、’a'、'z'的ASCII碼分別為65、90、97、122,strl為全為大寫字母的字符串,采用什么命令可將該字符串轉(zhuǎn)換成小寫。
8 .在MATLA中求解線Tt方程組Ax=b可采用什么指令;
9 .掌握基本運算符,例如*、.*、/、./、A、A的區(qū)別
10 .讀懂邏輯表達式,會寫出邏輯表達式的結(jié)果(0或1)
11 .掌握集中循環(huán)結(jié)構(gòu),尤其if..elseif…else…end和swich…case結(jié)構(gòu)的語法,要準
1
3、2 .會編寫分段函數(shù)的程序;
x和y滿足如下關(guān)系:
編寫函數(shù)y=f(x),用于計算上述分段函數(shù)。
13 .繪圖時采用的幾個命令的掌握:holdon、plot、plot3
14*.用語句[x,y]=meshgrid(a:b)構(gòu)建網(wǎng)格數(shù)據(jù),例子如下:
示例一:
x=-3:1:3;y=-2:1:2;
[X,Y]=?meshgrid(x,y);
這里meshgrid(x,y)的作用是分別產(chǎn)生以向量x為行,向量y為列的兩個大小相同的矩陣,其中x的行是從-3開始到3,每間隔1記下一個數(shù)據(jù),并把這些數(shù)據(jù)集成矩陣X;同理y的列則是從-2到2,每間隔1記下一個數(shù)據(jù),并集成矩陣Y。即
X=
-
4、 3-2-10123
- 3-2-10123
- 3-2-10123
- 3-2-10123
- 3-2-10123
Y=
- 2-2-2-2-2-2-2
- 1-1-1-1-1-1-1
1111111
2222222
15*創(chuàng)建一個范圍為[-兀,冗卜數(shù)據(jù)點個數(shù)為50的向量x的指令為?,以該向量x為橫坐標繪制正弦曲線的指令為?。
16*掌握基本的畫圖命令,會編寫簡單的繪圖程序。
思考題:已知幾個點的坐標a1(-1,0)、a2(0,1)、a3(1,2)、a4(3,-2),求一條三次曲線通過
這四個點,編寫程序完成計算,要求顯示出多項式的系數(shù),并用plot函數(shù)畫出曲線第一
5、講概論
1 .簡述matlab基本特點。(0.5分)
交互式操作界面;高效的數(shù)值計算功能;演算式語言;可視化輸出;代碼、數(shù)據(jù)文件的集成管理環(huán)境;支持用戶界面開發(fā),自定義創(chuàng)建工具(GUIDE)—豐富的外部接口一一支
持C/C++、Java、Excel/Word、Ansys,COMDDE劭態(tài)數(shù)據(jù)交換)和ActiveX……。
2 .簡述matlab的基本功能。(0.5分)
數(shù)學計算;開發(fā)工具;數(shù)據(jù)可視化;交互式圖形編輯;自成一派的算法開發(fā)編程語言和環(huán)境;圖形用戶界面開發(fā)環(huán)境一一GUIDE開放性、可擴展性強;專業(yè)應(yīng)用工具箱;Simulink動態(tài)仿真環(huán)境。
3 .填空(1分)
命令后以分號
6、(;)結(jié)尾,不顯示運行結(jié)果。
命令后無符號或逗號(,)結(jié)尾,顯示運行結(jié)果。
一行輸入多條命令,可用逗號(,)分隔;
若一行很長需換行時,加續(xù)行符(3小數(shù)點…)
注釋文字以百分號(%)開始
所有符號一定要在英文狀態(tài)下輸入
4 .如何將當前路徑設(shè)置為d:\mydir?如何將d:\mydir添加進搜索路徑?(1分)
5 .請寫出如下操作的命令:(2分)
清屏:clc;
刪除工作空間的變量a:cleara;
清空工作空間:clear或clearall;
刪除命令行:esc;
查詢函數(shù)sin的幫助文檔:helpsin;
1 .分別用直接輸入法和存儲變量法求1+cos(pi)*(
7、2+2i)。
直接輸入法:>>1+cos(pi)*(2+2i);
存儲變量法:
>>a=cos(pi);
>>b=2+2i;
>>c=1+a+b;
2 .a=int8(100),b=int8(50)
a+b=127;
a-b=50;
a-3b=-27;
2a-b=77;
a/3b=1;
3 .a=int8(10),b=int16(10),a+b=?(出錯)
4 .請寫出計算代碼
da+4b;sqrt(a+4*b);
1g(a+b);log10(a+b);
eab;exp(a+b);或eA(a+b);
Sin(a+b2);sin(a+bA2);
5 .給出以下
8、計算結(jié)果
4<5;1
4>5;0
4==20;0
4~=20;1
4<5&&4>5;0
第三講數(shù)組
1.生成一個3*3隨機矩陣,將其對角線元素的值加1。(寫出代碼)
rand(3)+eye(3)
1.生成一個元素值在1和10之間的3*3隨機矩陣,將其重新排列,使得:(1)每列按降序排列;(2)每行按降序排列。
(1) sort(rand(3)*10,'descend')
(2) sort(rand(3)*10,2,'descend')
2 .令a=3,x=[2,1;3,2],y=[4,5;6,7],寫出如下式子的計算結(jié)果:
(1)a.Ax=[9,3;27,9];
(
9、2)x.y=[8,1;27,8];
(3)x.Ay=[16,1;729,128].
3 .生成3*4隨機矩陣,判斷其元素是否大于0.5。(寫出代碼)rand(3,4)>0.5
4 .有a=3,B=[4,3;7,5],C=[8,9;7,6],D=[4,7;12,8],寫出如下式子的計算結(jié)果:
(1)~(aC&B
10、4)。
(13)MATLAB中產(chǎn)生對角元素為1,2,3,4,5的對角矩陣可用指令diag(1:5),產(chǎn)生
5個元素值在區(qū)間[1,5]上的均勻分布的隨機向量可用指令4*rand(1,5)+1。
(15)創(chuàng)建一個范圍為[-2兀,2兀]、數(shù)據(jù)點個數(shù)為50的向量x的指令為linspace(-
2*pi,2*pi,50),以該向量x為橫坐標繪制正弦曲線的指令為plot(x,sin(x))。
(16)b=round(rand(3)*10)round為四舍五入函數(shù)
b=
3210
713
求共軛轉(zhuǎn)置矩陣的指令為B’
Ones(n)返回N*N全為1的矩陣arr=
1234
3456
11、1234
>>length(arr)ans=4返回二維數(shù)組最大的那一維數(shù)
>>size(arr)ans=34返回矩陣的行數(shù)和列數(shù)
第四講字符串
1. 生成包含內(nèi)容為“HefeiUniversityofTechnology”字符串str,并顯示其
內(nèi)容(僅顯示內(nèi)容,不顯示字符串名稱)。
2. 生成一個兩行的字符串,第一行內(nèi)容為“HefeiUniversityof
Technology”,第二行內(nèi)容為“Welcome!”
3. 寫出:str=['k',int2str(1),'=rand']和eval(str)的運行結(jié)果。
4. 定義一個2*2的單元數(shù)組A,并令A(yù)(2,2)為一3*
12、3的隨機二維數(shù)組,并顯示A(2,2)的內(nèi)容。
5. 創(chuàng)建一個結(jié)構(gòu)體,并將存入如下數(shù)據(jù):
1) name:liuying,height:170;2)name:liyi,height:165.
第四講字符串
1. 生成包含內(nèi)容為“HefeiUniversityofTechnology”字符串str,并顯示其
內(nèi)容(僅顯示內(nèi)容,不顯示字符串名稱)。
str='HefeiUniversityofTechnology';disp(str);
2. 生成一個兩行的字符串,第一行內(nèi)容為“HefeiUniversityof
Technology”,第二行內(nèi)容為“Welcome!”
str=c
13、har('HefeiUniversityofTechnology','Welcome!');
3. 寫出:str=['k',int2str(1),'=rand']和eval(str)的運行結(jié)果。
k1=0.8174
4. 定義一個2*2的單元數(shù)組A,并令A(yù)(2,2)為一3*3的隨機二維數(shù)組,并顯示
A(2,2)的內(nèi)容。
A(2,2)={rand(3)};A{2,2}
5. 創(chuàng)建一個結(jié)構(gòu)體,并將存入如下數(shù)據(jù):
1) name:liuying,height:170;2)name:liyi,height:165.
person=struct('name',{'liuying','li
14、yi'},'height',{170,165})
第五講繪圖
1. 繪制下列圖像,并標出標題、坐標軸注釋以及圖例。
(1) y=x*sin(x),0
15、x),0
16、1');
xlabel('x');
ylabel('y');
zlabel('z=xA2+6*x.*y+6*x+2*y-1');
legend('z=xA2+6*x.*y+6*x+2*y-1');
2. 編寫程序,該程序在同一窗口中繪制函數(shù)在[0,2*pi]之間的正弦曲線和余弦曲線,步
長為pi/10,線寬為4個像素,正弦曲線設(shè)置為藍色實線,余弦曲線設(shè)置為紅色虛線
(思考兩條曲線交點處,用紅色星號標記,如何實現(xiàn))。
clc;
clear;
x=[0:pi/1000:2*pi];
y1=sin(x);
y2=cos(x);
plot(x,y1,'b');
holdon
17、
plot(x,y2,'r--');
fori=1:1:length(x)
delt=abs(y1(i)-y2(i));
ifdelt<=1e-10
holdon
plot(x(i),y1(i),'r*');
endend
第六講程序設(shè)計
「2LC
x+5x、0
1 .編寫程序計算fa)=/'x的值,其中x的值為-10至u10之間,以0.5
_x2+5,x<0
為步長,并繪出圖形。用兩種方法實現(xiàn)。
2 .編寫一個函數(shù)randomn,該函數(shù)能夠產(chǎn)生[-n,n]之間的任意整數(shù)。
第六講程序設(shè)計
「2LC
x+5x、0
1 .編寫程序計算fa)=/'x的值,其中x
18、的值為-10至u10之間,以0.5
_x2+5,x<0
為步長,并繪出圖形。用兩種方法實現(xiàn)。xth=0;
forx=-10:0.5:10
xth=xth+1;
X(xth)=x;
ifx<0
y(xth)=-xA3+5;
else
y(xth)=xA3+5;endend或xth=0;forx=-10:0.5:10xth=xth+1;nx=x<0;switchnxcase1
y(xth)=-xA3+5;case0
y(xth)=xA3+5;endend
2 .編寫一個函數(shù)randomn,該函數(shù)能夠產(chǎn)生[-n,n]之間的任意整數(shù)。functiony=randomn(n)y=
19、round(rem(random('Normal',0,1),1)*n);
functiony=randnn(n)y=round((-1+2*rand(1))*n);
第七講 數(shù)學運算
1. 寫出以下命令:
生成5階魔術(shù)矩陣:
生成5階單位陣:
生成以向量A為對角線元素的矩陣:求矩陣B的對角陣:
2. 寫出求解如下非齊次線性方程組的代碼
AX=B;
XA=B;
1. 寫出以下命令:
生成5階魔術(shù)矩陣:magic(5)
生成5階單位陣:eye(5)
生成以向量A為對角線元素的矩陣:diag(A)
求矩陣B的對角陣:diag(B)
2. 寫出求解如下非齊次線性方程組的代碼:
AX=B;X=A\B
XA=B;X=B/A