MATLAB上機實驗實驗報告.doc
《MATLAB上機實驗實驗報告.doc》由會員分享,可在線閱讀,更多相關(guān)《MATLAB上機實驗實驗報告.doc(68頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、MATLAB上機實驗一 一、實驗?zāi)康? 初步熟悉 MATLAB 工作環(huán)境,熟悉命令窗口,學(xué)會使用幫助窗口查找?guī)椭畔ⅰ? 命令窗口 二、實驗內(nèi)容 (1) 熟悉MATLAB 平臺的工作環(huán)境。 (2) 熟悉MATLAB 的5 個工作窗口。 (3) MATLAB 的優(yōu)先搜索順序。 三、實驗步驟 1. 熟悉MATLAB 的5 個基本窗口 ① Command Window (命令窗口) ② Workspace (工作空間窗口) ③ Command History (命令歷史記錄窗口) ④ Current Directory (當(dāng)前目錄窗口) ⑤ Hel
2、p Window (幫助窗口) (1) 命令窗口(Command Window)。 在命令窗口中依次輸入以下命令: >>x=1 >> y=[1 2 3 4 5 6 7 8 9]; >> z1=[1:10],z2=[1:2:5]; >> w=linspace(1,10,10); >> t1=ones(3),t2=ones(1,3),t3=ones(3,1) >> t4=ones(3),t4=eye(4) x =1 z1 = 1 2 3 4 5 6 7 8 9 10
3、 t1 = 1 1 1 1 1 1 1 1 t2 = 1 1 1 t3 = 1 1 1 t4 = 1 1 1 1 1 1 1 1 1 t4 = 1 0 0 0 0 1 0 0 0 0 1 0
4、 0 0 0 1 思考題:① 變量如何聲明,變量名須遵守什么規(guī)則、是否區(qū)分大小寫。 答:(1)變量聲明 1.局部變量 每個函數(shù)都有自己的局部變量,這些變量只能在定義它的函數(shù)內(nèi)部使用。當(dāng)函數(shù)運行時,局部變量保存在函數(shù)的工作空間中,一旦函數(shù)退出,這些局部變量將不復(fù)存在。 腳本(沒有輸入輸出參數(shù),由一系列MATLAB命令組成的M文件)沒有單獨的工作空間,只能共享調(diào)用者的工作空間。當(dāng)從命令行調(diào)用,腳本變量存在基本工作空間中;當(dāng)從函數(shù)調(diào)用,腳本變量存在函數(shù)空間中。 2.全局變量 在函數(shù)或基本工作空間內(nèi),用global聲明的變量為全局變量。例如聲明a為全局變量:
5、>>global a 聲明了全局變量的函數(shù)或基本工作空間,共享該全局變量,都可以給它曲賦值。 如果函數(shù)的子函數(shù)也要使用全局變量,也必須用global聲明。 3.永久變量 永久變量用persistent聲明,只能在M文件函數(shù)中定義和使用,只允許聲明它的函數(shù)存取。當(dāng)聲明它的函數(shù)退出時,MATLAB不會從內(nèi)存中清除它,例如聲明a為永久變量: >>persistent a (2)變量命名規(guī)則如下: 始于字母,由字母、數(shù)字或下劃線組成; 區(qū)分大小寫; 可任意長,但使用前N個字符。N與硬件有關(guān),由函數(shù)namelengthmax返回,一般N=63; 不能使用關(guān)鍵字作為變量名(關(guān)鍵字在后面
6、給出); 避免使用函數(shù)名作為變量名。 如果變量采用函數(shù)名,該函數(shù)失效。 (3)區(qū)分大小寫 ② 試說明分號、逗號、冒號的用法。 答:分號:加上分號“;”其作用是將計算機結(jié)果存入內(nèi)存,但不顯示在屏幕上,反之,語句結(jié)尾若不加“;”,則表示在語句執(zhí)行后,在將計算結(jié)果存入內(nèi)存的同時,還將運算結(jié)果顯示出來。 逗號:分割列表 冒號:從什么到什么,比如1:10意思是——1到10 ③ linspace( )稱為“線性等分”函數(shù),說明它的用法??墒褂胔elp命令,格式如下: >>help linspace ④ 說明函數(shù)ones( )、zeros( )、eye( ) 的用法。
7、 答;(1)ones()函數(shù):全部元素都為1的常數(shù)矩陣; (2)zeros()函數(shù):全部元素都為0的矩陣; (3)eye()函數(shù):單位矩陣; (4)linspace()函數(shù):如a=linspace(n1,n2,n3),表示在線性空 間上,行矢量的值從n1到n2 (2) 工作空間窗口(Workspace)。 單擊工作空間窗口右上角的按鈕,將其從MATLAB 主界面分離出來。 ① 在工作空間查看各個變量,或在命令窗口用who, whos(注意大小寫)查看各個 變量。 ② 在工作空間雙擊變量,彈出Array Editor 窗口(數(shù)組編輯器窗口),即可修改變量。
8、 ③ 使用save 命令把工作空間的全部變量保存為my_var.mat 文件。 >>save my_var.mat ④ 輸入下列命令: >>clear all %清除工作空間的所有變量 觀察工作空間的變量是否被清空。使用load 命令把剛才保存的變量載入工作空間。 >>load my_var.mat ⑤ 清除命令窗口命令: >>clc (3) 歷史命令窗口(Command History)。 打開歷史命令窗口,可以看到每次運行MATLAB 的時間和曾在命令窗口輸入過的命 令,練習(xí)以下幾種利用歷史命令窗口重復(fù)執(zhí)行輸入過的命令的方法。 ① 在歷史
9、命令窗口中選中要重復(fù)執(zhí)行的一行或幾行命令,右擊,出現(xiàn)快捷菜單,選擇 Copy,然后再Paste 到命令窗口。 ② 在歷史命令窗口中雙擊要執(zhí)行的一行命令,或者選中要重復(fù)執(zhí)行的一行或幾行命令 后,用鼠標(biāo)將其拖動到命令窗口中執(zhí)行。 ③ 在歷史命令窗口中選中要重復(fù)執(zhí)行的一行或幾行命令,右擊,出現(xiàn)快捷菜單,選擇 Evaluate Selection,也可以執(zhí)行。 ④ 或者在命令窗口使用方向鍵的上下鍵得到以前輸入的命令。例如,按方向鍵“↑” 一次,就重新將用戶最后一次輸入的命令調(diào)到MATLAB 提示符下。重復(fù)地按方向上鍵 “↑”,就會在每次按下的時候調(diào)用再往前一次輸入的
10、命令。類似地,按方向鍵“↓”的時 候,就往后調(diào)用一次輸入的命令。按方向鍵“←”或者方向鍵“→”就會在提示符的命令 中左右移動光標(biāo),這樣用戶就可以用類似于在字處理軟件中編輯文本的方法編輯這些命令。 (4) 當(dāng)前目錄命令窗口(Current Directory)。 MATLAB 的當(dāng)前目錄即是系統(tǒng)默認(rèn)的實施打開、裝載、編輯和保存文件等操作時的文 件夾。打開當(dāng)前目錄窗口后,可以看到用“save”命令所保存的my_var.mat 文件是保存在 目錄C:\MATLAB6p5\work 下。 (5) 幫助窗口(Help Window)。 單擊工具欄的圖標(biāo),或選擇菜單View|Help,
11、或選擇菜單Help|MATLAB Help 都能 啟動幫助窗口。 ① 通過Index 選項卡查找log2()函數(shù)的用法,在Search index for 欄中輸入需要查找的 詞匯“l(fā)og2”,在左下側(cè)就列出與之最匹配的詞匯條目,選擇“l(fā)og2[1]”,右側(cè)的窗口就 會顯示相應(yīng)的內(nèi)容。 ② 也可以通過Search 選項卡查找log2( )函數(shù)的用法。Search 選項卡與Index 選項卡 不同,Index 只在專用術(shù)語表中查找,而Search 搜索的是整個HTML 幫助文件。 2. MATLAB 的數(shù)值顯示格式設(shè)置 屏幕顯示方式有緊湊(Compact)和松散(Lo
12、ose)兩種,其中Loose 為默認(rèn)方式。 >>a=ones(1,30) >>format compact >>a 數(shù)字顯示格式有short、long、short e、long e 等,請參照教材的列表練習(xí)一遍。 >>format long >>pi >>format short >>pi >>format long >>pi >>format + >>pi >>-pi 3. 變量的搜索順序 在命令窗口中輸入以下指令: >>pi >>sin(pi); >>exist(pi) >>pi=0; >>exist(pi)
13、 >>pi >>clear pi >>exist(pi) >>pi 思考題:① 3 次執(zhí)行exist(pi)的結(jié)果一樣嗎?如果不一樣,試解釋為什么? 答:不一樣,pi原來是庫存函數(shù),但是如果被賦值則系統(tǒng)默認(rèn)被賦予的值為pi后來的值,但是當(dāng)執(zhí)行clear pi之后所賦的值被清空,因此pi的值又成為3.1416 ② 圓周率pi 是系統(tǒng)的默認(rèn)常量,為什么會被改變?yōu)?? 答:pi原來是庫存函數(shù),但是如果被賦值則系統(tǒng)默認(rèn)被賦予的值為pi后來的值,但是當(dāng)執(zhí)行clear pi之后所賦的值被清空,因此pi的值又成為3.1416
14、 實驗二 MATLAB語言基礎(chǔ) 1、 實驗?zāi)康? 基本掌握MATLAB向量、矩陣、數(shù)組的生成及其基本運算(區(qū)分?jǐn)?shù)組運算和矩陣運算)、常用的數(shù)學(xué)函數(shù)。交接字符串的操作。 2、 實驗內(nèi)容 (1) 向量的生成和運算。 (2) 矩陣的創(chuàng)建、引用和運算。 (3) 多維數(shù)組的創(chuàng)建及運算。 (4) 字符串的操作。 三、實驗步驟 1.向量的生成和運算 1) 向量的生成 ?直接輸入法: A = 2 3 4 5 6 >> B=[1;2;3;4;5] B = 1 2
15、3 4 5 ? 冒號生成發(fā): >> A=1:2:10 ,B=1:10 ,C=10:-1:1 A = 1 3 5 7 9 B = 1 2 3 4 5 6 7 8 9 10 C = 10 9 8 7 6 5 4 3 2 1 ? 函數(shù)法: Linspace( )是線性等分函數(shù),logspace( )是對數(shù)等分
16、函數(shù)。 >> A=linspace(1,10) ,B=linspace(1,30,10) A = Columns 1 through 9 1.0000 1.0909 1.1818 1.2727 1.3636 1.4545 1.5455 1.6364 1.7273 Columns 10 through 18 1.8182 1.9091 2.0000 2.0909 2.1818 2.2727 2.3636 2.4545 2.5455
17、 Columns 19 through 27 2.6364 2.7273 2.8182 2.9091 3.0000 3.0909 3.1818 3.2727 3.3636 Columns 28 through 36 3.4545 3.5455 3.6364 3.7273 3.8182 3.9091 4.0000 4.0909 4.1818 Columns 37 through 45 4.2727 4.3636 4.4545
18、 4.5455 4.6364 4.7273 4.8182 4.9091 5.0000 Columns 46 through 54 5.0909 5.1818 5.2727 5.3636 5.4545 5.5455 5.6364 5.7273 5.8182 Columns 55 through 63 5.9091 6.0000 6.0909 6.1818 6.2727 6.3636 6.4545 6.5455 6.636
19、4 Columns 64 through 72 6.7273 6.8182 6.9091 7.0000 7.0909 7.1818 7.2727 7.3636 7.4545 Columns 73 through 81 7.5455 7.6364 7.7273 7.8182 7.9091 8.0000 8.0909 8.1818 8.2727 Columns 82 through 90 8.3636 8.4545 8.
20、5455 8.6364 8.7273 8.8182 8.9091 9.0000 9.0909 Columns 91 through 99 9.1818 9.2727 9.3636 9.4545 9.5455 9.6364 9.7273 9.8182 9.9091 Column 100 10.0000 B = Columns 1 through 9 1.0000 4.2222 7.4444
21、 10.6667 13.8889 17.1111 20.3333 23.5556 26.7778 Column 10 30.0000 >> A=logspace(0,4,5) A = 1 10 100 1000 10000 練習(xí): 使用logspace( )創(chuàng)建1-4的有10個元素的行向量。 答案: >> A=logspace(1,10,4*pi) A = 1.0e+010 * Columns 1
22、through 9 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0005 0.0035 Columns 10 through 12 0.0231 0.1520 1.0000 2) 向量的運算 ?維數(shù)相同的行向量只見可以相加減,維數(shù)相同的列向量也可以相加減,標(biāo)量可以與向量直接相乘除。 >> A=[1 2 3 4 5], B=3:7, A = 1 2 3 4 5 B
23、= 3 4 5 6 7 >> AT=A, BT=B, AT = 1 2 3 4 5 BT = 3 4 5 6 7 >> E1=A+B, E2=A-B E1 = 4 6 8 10 12 E2 = -2 -2 -2 -2 -2 >> F=AT-BT,
24、 F = -2 -2 -2 -2 -2 >> G1=3*A, G2=B/3, G1 = 3 6 9 12 15 G2 = 1.0000 1.3333 1.6667 2.0000 2.3333 ? 向量的點積與叉積運算。 >> A=ones(1,10);B=(1:10); BT=B; >> E1=dot(A,B) E1 = 55 >> E2=A*BT E2 =
25、 55 >> clear >> A=1:3,B=3:5, A = 1 2 3 B = 3 4 5 >> E=cross(A,B) E = -2 4 -2 2. 矩陣的創(chuàng)建、引用和運算 1) 矩陣的創(chuàng)建和引用 矩陣是由元素構(gòu)成的矩陣結(jié)構(gòu),行向量和列向量是矩陣的特殊形式。 ? 直接輸入法: >> A=[1 2 3;4 5 6] A = 1 2 3 4 5
26、 6 >> B=[ 1 4 7 2 5 8 3 6 9 ] B = 1 4 7 2 5 8 3 6 9 >> A(1) ans = 1 >> A(4:end) ans = 5 3 6 >> B(:,1) ans = 1 2 3 >> B(:) ans = 1 2 3 4 5 6 7
27、 8 9 >> B(5) ans = 5 ?抽取法 >> clear >> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >> B=A(1:3,2:3) B = 2 3 6 7 10 11 >> C=A([1 3],[2 4])
28、 C = 2 4 10 12 >> A([1 3;2 4]) ans = 1 9 5 13 ? 函數(shù)法: >> A=ones(3,4) A = 1 1 1 1 1 1 1 1 1 1 1 1 >> B=zero(3) ??? Undefined function or method zero for input arguments of type double. >> B=zeros(3)
29、B = 0 0 0 0 0 0 0 0 0 >> C=eyes(3,2) ??? Undefined function or method eyes for input arguments of type double. >> C=eye(3,2) C = 1 0 0 1 0 0 >> D=magic(3) D = 8 1 6 3 5 7 4 9 2
30、拼接法 >> clear >> A=ones(3,4) A = 1 1 1 1 1 1 1 1 1 1 1 1 >> B=zeros(3) B = 0 0 0 0 0 0 0 0 0 >> C=eye(4) C = 1 0 0 0 0 1 0 0 0 0 1 0 0
31、 0 0 1 >> D=[A B] D = 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 >> F=[A;C] F = 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
32、 1 0 0 0 0 1 0 0 0 0 1 拼接函數(shù)和變形函數(shù)法: >> clear >> A=[0 1;1 1] A = 0 1 1 1 >> B=2*ones(2) B = 2 2 2 2 >> cat (1,A,B,A) ans = 0 1 1 1 2 2 2 2 0 1 1 1
33、 >> cat (2 A,B,A) ??? cat (2 A,B,A) Error: Unexpected MATLAB expression. >> cat(2,A,B,A) ans = 0 1 2 2 0 1 1 1 2 2 1 1 >> repmat(A,2,2) ans = 0 1 0 1 1 1 1 1 0 1 0 1 1 1
34、 1 1 >> repmat(A,2) ans = 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 練習(xí):使用函數(shù)法、拼接法、拼接函數(shù)法和變形函數(shù)法,按照要求創(chuàng)建以下矩陣:A為 的全1矩陣、B為的0矩陣/C為的單位矩陣、D為的魔方陣、E由C 和D縱向拼接而成,F(xiàn)抽取E的2---5行元素生成、G由F經(jīng)變形為的矩陣而得、 以G為子矩陣用復(fù)制函數(shù)(repmat)生成的大矩陣H。 答案:
35、 >> A=ones(3,4) A = 1 1 1 1 1 1 1 1 1 1 1 1 >> B=zeros(3,3) B = 0 0 0 0 0 0 0 0 0 >> C=eye(3) C = 1 0 0 0 1 0 0 0 1 >> D=magic(3) D = 8 1 6
36、 3 5 7 4 9 2 >> E=[C;D] E = 1 0 0 0 1 0 0 0 1 8 1 6 3 5 7 4 9 2 >> F=(2:5,:) ??? F=(2:5,:) Error: Expression or statement is incorrect--possibly unbalanced (, {, or [. >> F=E(2:5,:)
37、 F = 0 1 0 0 0 1 8 1 6 3 5 7 >> G=respace(E,3,4) ??? Undefined command/function respace. >> G=respace(F,3,4) ??? Undefined command/function respace. >> G=reshape(F,3,4) G = 0 3 1 1 0 1 5 6 8
38、 0 0 7 >> H=repmat(G,2,2) H = 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8
39、 0 0 7 8 0 0 7 2) 矩陣的運算 ? 矩陣的加減、數(shù)乘與乘法 已知矩陣: >> A=[1 2 3 -1], A = 1 2 3 -1 >> B=[-1 0 1 2] B = -1 0 1 2 >> A+B ans = 0 2 4 1 >> 2*A ans = 2 4 6 -2 >> 2*A-3*B a
40、ns = 5 4 3 -8 >> A*B ans = 1 4 -4 -2 ? 矩陣的逆矩陣 >> format rat;A=[1 0 1;2 1 2;0 4 6] A = 1 0 1 2 1 2 0 4 6 >> A1=inv(A) A1 = -1/3
41、 2/3 -1/6 -2 1 0 4/3 -2/3 1/6 >> A*A1 ans = 1 0 0 0 1 0 0 0 1 ?矩陣的除法 >> a=[1
42、 2 1;3 1 4;2 2 1],b=[1 1 2],d=b a = 1 2 1 3 1 4 2 2 1 b = 1 1 2 d = 1 1 2 >> c1=b
43、*inv(a),c2=b/a c1 = 6/7 3/7 -4/7 c2 = 6/7 3/7 -4/7 >> c3=inv(a)*d, c4=a\b c3 = 1 2/7 -4/7 ??? Error using ==> mldivide Matrix dimensions must agree. >> c3=inv(a)*d, c4=a\d
44、 c3 = 1 2/7 -4/7 c4 = 1 2/7 -4/7 練習(xí): 按下列要求求出各種的矩陣運算的值 求矩陣的秩、特征值和特征向量、 矩陣的乘冪與開方; 矩陣的指數(shù)與對數(shù) 矩陣的提取與翻轉(zhuǎn) 答案: >> A=[6 3 4 3 -2 5 7 -4 8 -1 -3 -7] A = 6 3
45、 4 3 -2 5 7 -4 8 -1 -3 -7 >> B=rank(A) B = 3 >> rb=rank(A) rb = 3 >> [X,Lamda]=eig(A) ??? Error using ==> eig Matrix must be square. >> [X,Lamda]=eigs(A) ??? Error using ==> eigs A must be a square matrix or a function which c
46、omputes A*x. >> C=[6 3 4 -2 5 7 8 -1 -3] C = 6 3 4 -2 5 7 8 -1 -3 >> [X,Lamda]=eigs(C) X = 0.8013 -0.1094 -0.1606 0.3638 -0.6564 0.8669 0.4749 0.7464 -0.4719 Lamda = 9.7326 0
47、 0 0 -3.2928 0 0 0 1.5602 >> [X,Lamda]=eig(C) X = 0.8013 -0.1094 -0.1606 0.3638 -0.6564 0.8669 0.4749 0.7464 -0.4719 Lamda = 9.7326 0 0 0 -3.2928 0 0 0 1
48、.5602 >> [X,Lamda]=eig(C) X = 0.8013 -0.1094 -0.1606 0.3638 -0.6564 0.8669 0.4749 0.7464 -0.4719 Lamda = 9.7326 0 0 0 -3.2928 0 0 0 1.5602 >> D=A^2 ??? Error using ==> mpower Matrix must be
49、 square. >> D=C^2 D = 62 29 33 34 12 6 26 22 34 >> E=sqrtm(C) E = 2.2447 + 0.2706i 0.6974 - 0.1400i 0.9422 - 0.3494i -0.5815 + 1.6244i 2.1005 - 0.8405i 1.7620 - 2.0970i 1.9719 - 1.8471i -0.3017 + 0.9557i 0.0236 + 2.3845i >> F
50、=expm(C) F = 1.0e+004 * 1.0653 0.5415 0.6323 0.4830 0.2465 0.2876 0.6316 0.3206 0.3745 >> G=logm(C) Warning: Principal matrix logarithm is not defined for A with nonpositive real eigenvalues. A non-principal matrix logarithm is retur
51、ned. > In funm at 153 In logm at 27 G = 1.7129 + 0.4686i 0.5305 - 0.2425i 0.5429 - 0.6049i 1.1938 + 2.8123i 0.3658 - 1.4552i -0.5514 - 3.6305i -0.0748 - 3.1978i 0.7419 + 1.6546i 1.8333 + 4.1282i >> H=fliplr(C) H = 4 3 6 7 5 -2 -3
52、 -1 8 >> I=triu(C) I = 6 3 4 0 5 7 0 0 -3 >> J=tril(C) J = 6 0 0 -2 5 0 8 -1 -3 >> K=diag(C) K = 6 5 -3 3. 多維數(shù)組的創(chuàng)建及運算 1) 多維數(shù)組的創(chuàng)建 >> A1=[1,2,3;4 5 6;7,8,9];A2=reshape([10:1
53、8],3,3) A2 = 10 13 16 11 14 17 12 15 18 >> T1(:,:,1)=ones(3);T1(:,:,2)=zeros(3) T1(:,:,1) = 1 1 1 1 1 1 1 1 1 T1(:,:,2) = 0 0 0 0 0 0 0 0 0 >> T2=ones(3,3,2)
54、 T2(:,:,1) = 1 1 1 1 1 1 1 1 1 T2(:,:,2) = 1 1 1 1 1 1 1 1 1 >> T3=cat(3,A1,A2),T4=repmat(A1,[1,1,2]) T3(:,:,1) = 1 2 3 4 5 6 7 8 9 T3(:,:,2) = 1
55、0 13 16 11 14 17 12 15 18 T4(:,:,1) = 1 2 3 4 5 6 7 8 9 T4(:,:,2) = 1 2 3 4 5 6 7 8 9 2) 多維數(shù)組的創(chuàng)建 數(shù)組運算用小圓點加在運算符的前面表示,以區(qū)分矩陣的運算。特點是兩個數(shù)組相對應(yīng)的元素進(jìn)行運算。 >> A=[1:6];B=ones(1
56、,6); >> C1=A+B,C2=A-B C1 = 2 3 4 5 6 7 C2 = 0 1 2 3 4 5 >> C3=A.*B,C4=B./A,C5=A.\B C3 = 1 2 3 4 5 6 C4 = 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 C5 = 1.0000 0.5000 0.3333 0.25
57、00 0.2000 0.1667 關(guān)系運算或邏輯運算的結(jié)果都是邏輯值。 >> I=A>3,C6=A(I) I = 0 0 0 1 1 1 C6 = 4 5 6 >> A1=A-3,I2=A1&A A1 = -2 -1 0 1 2 3 I2 = 1 1 0 1 1 1 >> I3=~I I3 = 1 1
58、 1 0 0 0 4. 字符串的操作 1) 字符串的創(chuàng)建 >> S1=Ilike MATLAB S1 = Ilike MATLAB >> S2=Im a stuent. S2 = Im a stuent. >> S3=[S2,and,S1] S3 = Im a stuent.andIlike MATLAB 2) 求字符串長度 >> length(S1) ans = 12 >> size(S1) ans = 1 12 3) 字符串與一維數(shù)值數(shù)組的相互轉(zhuǎn)換 >> CS1=abs(S1) CS1
59、= 73 108 105 107 101 32 77 65 84 76 65 66 >> CS2=double(S1) CS2 = 73 108 105 107 101 32 77 65 84 76 65 66 >> char(CS2) ans = Ilike MATLAB >> setstr(CS2) ans = Ilike MATLAB 練習(xí):用char( )和向量生成的方法創(chuàng)建如下字符串AaB
60、bCc......XxYyZz. >> S1=65:90;S2=97:122; >> C=[S1;S2]; >> C=C(:); >> S3=double(C);char(S3) ans = AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 實驗三 MALTAB數(shù)值運算 一、實驗?zāi)康? 掌握MATLAB的數(shù)值運算及其運算中所用到的函數(shù),掌握結(jié)構(gòu)數(shù)組和細(xì)胞數(shù)組的操作。 二、實驗內(nèi)容 1) 多項式運算。 2) 多項式插值和擬合。 3) 數(shù)值為積分。 4) 結(jié)構(gòu)數(shù)組和細(xì)胞數(shù)組。 三、實驗步驟
61、 1、多項式運算 1) 多項式表示。在MATLAB中,多項式表示成向量的形式。 如: 在MATLAB中表示為 >> s=[1 3 -5 0 9] 2) 多項式的加減法相當(dāng)于向量的加減法,但必須注意階次要相同。如不同,低階次的要補0。如多項式與多項式相加。 >> s1=[0 0 2 3 11] >> s2=[1 2 -5 4 7] >> s3=s1+s2 答;s1 = 0 0 2 3 11 s2 = 1 2 -5 4 7 s3 = 1 2
62、 -3 7 18 3) 多項式的乘、除法分別用函數(shù)conv和的deconv實現(xiàn)。 >> s1=[2 3 11] >> s2=[1 3 -5 4 7] >> s3=conv(s1,s2) >> s4=deconv(s3,s1) 答;s1 = 2 3 11 s2 = 1 3 -5 4 7 s3 = 2 9 10 26 -29 65 77 s4 = 1 3 -5 4 7
63、4) 多項式求根用函數(shù)roots。 >> s1=[2 4 2] >> roots(s1) 答;s1 = 2 4 2 ans = -1 -1 5) 多項式求值用函數(shù)polyval >> s1=[2 4 1 -3] >> polyval(s1,3) >> x=1:10 >> y=polyval(s1,x) 答;s1 = 2 4 1 -3 ans = 90 x = 1 2 3 4 5 6
64、 7 8 9 10 y = Columns 1 through 8 4 31 90 193 352 579 886 1285 Columns 9 through 10 練習(xí):求的“商”及余數(shù)。 >> s1=[1 0 1];s2=[1 3];s3=[1 1]; >> s4=[1 0 2 1]; >> [q,r]=deconv(conv(conv(s1,s2),s3),s4) 答;q =
65、 1 4 r = 0 0 2 -5 -1 2、多項式插值和擬合 有一組實驗數(shù)據(jù)如附表1-1所示。 附表1-1 X 1 2 3 4 5 6 7 8 9 10 Y 16 32 70 142 260 436 682 1010 1432 1960 分別用擬合(二階至三階)和插值(線性和三次樣條)的方法來估算X=9.5時Y的值。以下是實現(xiàn)一階擬合的語句。 >> x=1:10 >> y=[16 32 70 142 260 436 682 1010 1342 1960] >>
66、 p1=polyfit(x,y,1) %一階擬合 >> y1=polyval(p1,9.5) %計算多項式P1在x=9.5的值 答;x = 1 2 3 4 5 6 7 8 9 10 y = Columns 1 through 8 16 32 70 142 260 436 682 1010 Columns 9 through 10 1342 1960 p1 = 200.9818 -510.4000 y1 = 1.3989e+003 3、數(shù)值微積分 1) 差分使用diff函數(shù)實現(xiàn)。 >> x=1:2:9 >> diff(x) 答;x = 1 3
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。