MATLAB上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告.doc
《MATLAB上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《MATLAB上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告.doc(68頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
MATLAB上機(jī)實(shí)驗(yàn)一 一、實(shí)驗(yàn)?zāi)康? 初步熟悉 MATLAB 工作環(huán)境,熟悉命令窗口,學(xué)會(huì)使用幫助窗口查找?guī)椭畔ⅰ? 命令窗口 二、實(shí)驗(yàn)內(nèi)容 (1) 熟悉MATLAB 平臺(tái)的工作環(huán)境。 (2) 熟悉MATLAB 的5 個(gè)工作窗口。 (3) MATLAB 的優(yōu)先搜索順序。 三、實(shí)驗(yàn)步驟 1. 熟悉MATLAB 的5 個(gè)基本窗口 ① Command Window (命令窗口) ② Workspace (工作空間窗口) ③ Command History (命令歷史記錄窗口) ④ Current Directory (當(dāng)前目錄窗口) ⑤ Help 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 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 0 0 0 1 思考題:① 變量如何聲明,變量名須遵守什么規(guī)則、是否區(qū)分大小寫。 答:(1)變量聲明 1.局部變量 每個(gè)函數(shù)都有自己的局部變量,這些變量只能在定義它的函數(shù)內(nèi)部使用。當(dāng)函數(shù)運(yùn)行時(shí),局部變量保存在函數(shù)的工作空間中,一旦函數(shù)退出,這些局部變量將不復(fù)存在。 腳本(沒有輸入輸出參數(shù),由一系列MATLAB命令組成的M文件)沒有單獨(dú)的工作空間,只能共享調(diào)用者的工作空間。當(dāng)從命令行調(diào)用,腳本變量存在基本工作空間中;當(dāng)從函數(shù)調(diào)用,腳本變量存在函數(shù)空間中。 2.全局變量 在函數(shù)或基本工作空間內(nèi),用global聲明的變量為全局變量。例如聲明a為全局變量: >>global a 聲明了全局變量的函數(shù)或基本工作空間,共享該全局變量,都可以給它曲賦值。 如果函數(shù)的子函數(shù)也要使用全局變量,也必須用global聲明。 3.永久變量 永久變量用persistent聲明,只能在M文件函數(shù)中定義和使用,只允許聲明它的函數(shù)存取。當(dāng)聲明它的函數(shù)退出時(shí),MATLAB不會(huì)從內(nèi)存中清除它,例如聲明a為永久變量: >>persistent a (2)變量命名規(guī)則如下: 始于字母,由字母、數(shù)字或下劃線組成; 區(qū)分大小寫; 可任意長,但使用前N個(gè)字符。N與硬件有關(guān),由函數(shù)namelengthmax返回,一般N=63; 不能使用關(guān)鍵字作為變量名(關(guān)鍵字在后面給出); 避免使用函數(shù)名作為變量名。 如果變量采用函數(shù)名,該函數(shù)失效。 (3)區(qū)分大小寫 ② 試說明分號(hào)、逗號(hào)、冒號(hào)的用法。 答:分號(hào):加上分號(hào)“;”其作用是將計(jì)算機(jī)結(jié)果存入內(nèi)存,但不顯示在屏幕上,反之,語句結(jié)尾若不加“;”,則表示在語句執(zhí)行后,在將計(jì)算結(jié)果存入內(nèi)存的同時(shí),還將運(yùn)算結(jié)果顯示出來。 逗號(hào):分割列表 冒號(hào):從什么到什么,比如1:10意思是——1到10 ③ linspace( )稱為“線性等分”函數(shù),說明它的用法。可使用help命令,格式如下: >>help linspace ④ 說明函數(shù)ones( )、zeros( )、eye( ) 的用法。 答;(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 主界面分離出來。 ① 在工作空間查看各個(gè)變量,或在命令窗口用who, whos(注意大小寫)查看各個(gè) 變量。 ② 在工作空間雙擊變量,彈出Array Editor 窗口(數(shù)組編輯器窗口),即可修改變量。 ③ 使用save 命令把工作空間的全部變量保存為my_var.mat 文件。 >>save my_var.mat ④ 輸入下列命令: >>clear all %清除工作空間的所有變量 觀察工作空間的變量是否被清空。使用load 命令把剛才保存的變量載入工作空間。 >>load my_var.mat ⑤ 清除命令窗口命令: >>clc (3) 歷史命令窗口(Command History)。 打開歷史命令窗口,可以看到每次運(yùn)行MATLAB 的時(shí)間和曾在命令窗口輸入過的命 令,練習(xí)以下幾種利用歷史命令窗口重復(fù)執(zhí)行輸入過的命令的方法。 ① 在歷史命令窗口中選中要重復(fù)執(zhí)行的一行或幾行命令,右擊,出現(xiàn)快捷菜單,選擇 Copy,然后再Paste 到命令窗口。 ② 在歷史命令窗口中雙擊要執(zhí)行的一行命令,或者選中要重復(fù)執(zhí)行的一行或幾行命令 后,用鼠標(biāo)將其拖動(dòng)到命令窗口中執(zhí)行。 ③ 在歷史命令窗口中選中要重復(fù)執(zhí)行的一行或幾行命令,右擊,出現(xiàn)快捷菜單,選擇 Evaluate Selection,也可以執(zhí)行。 ④ 或者在命令窗口使用方向鍵的上下鍵得到以前輸入的命令。例如,按方向鍵“↑” 一次,就重新將用戶最后一次輸入的命令調(diào)到MATLAB 提示符下。重復(fù)地按方向上鍵 “↑”,就會(huì)在每次按下的時(shí)候調(diào)用再往前一次輸入的命令。類似地,按方向鍵“↓”的時(shí) 候,就往后調(diào)用一次輸入的命令。按方向鍵“←”或者方向鍵“→”就會(huì)在提示符的命令 中左右移動(dòng)光標(biāo),這樣用戶就可以用類似于在字處理軟件中編輯文本的方法編輯這些命令。 (4) 當(dāng)前目錄命令窗口(Current Directory)。 MATLAB 的當(dāng)前目錄即是系統(tǒng)默認(rèn)的實(shí)施打開、裝載、編輯和保存文件等操作時(shí)的文 件夾。打開當(dāng)前目錄窗口后,可以看到用“save”命令所保存的my_var.mat 文件是保存在 目錄C:\MATLAB6p5\work 下。 (5) 幫助窗口(Help Window)。 單擊工具欄的圖標(biāo),或選擇菜單View|Help,或選擇菜單Help|MATLAB Help 都能 啟動(dòng)幫助窗口。 ① 通過Index 選項(xiàng)卡查找log2()函數(shù)的用法,在Search index for 欄中輸入需要查找的 詞匯“l(fā)og2”,在左下側(cè)就列出與之最匹配的詞匯條目,選擇“l(fā)og2[1]”,右側(cè)的窗口就 會(huì)顯示相應(yīng)的內(nèi)容。 ② 也可以通過Search 選項(xiàng)卡查找log2( )函數(shù)的用法。Search 選項(xiàng)卡與Index 選項(xiàng)卡 不同,Index 只在專用術(shù)語表中查找,而Search 搜索的是整個(gè)HTML 幫助文件。 2. MATLAB 的數(shù)值顯示格式設(shè)置 屏幕顯示方式有緊湊(Compact)和松散(Loose)兩種,其中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) >>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)常量,為什么會(huì)被改變?yōu)?? 答:pi原來是庫存函數(shù),但是如果被賦值則系統(tǒng)默認(rèn)被賦予的值為pi后來的值,但是當(dāng)執(zhí)行clear pi之后所賦的值被清空,因此pi的值又成為3.1416 實(shí)驗(yàn)二 MATLAB語言基礎(chǔ) 1、 實(shí)驗(yàn)?zāi)康? 基本掌握MATLAB向量、矩陣、數(shù)組的生成及其基本運(yùn)算(區(qū)分?jǐn)?shù)組運(yùn)算和矩陣運(yùn)算)、常用的數(shù)學(xué)函數(shù)。交接字符串的操作。 2、 實(shí)驗(yàn)內(nèi)容 (1) 向量的生成和運(yùn)算。 (2) 矩陣的創(chuàng)建、引用和運(yùn)算。 (3) 多維數(shù)組的創(chuàng)建及運(yùn)算。 (4) 字符串的操作。 三、實(shí)驗(yàn)步驟 1.向量的生成和運(yùn)算 1) 向量的生成 ?直接輸入法: A = 2 3 4 5 6 >> B=[1;2;3;4;5] B = 1 2 3 4 5 ? 冒號(hào)生成發(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( )是對(duì)數(shù)等分函數(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 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 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.6364 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.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 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個(gè)元素的行向量。 答案: >> A=logspace(1,10,4*pi) A = 1.0e+010 * Columns 1 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) 向量的運(yùn)算 ?維數(shù)相同的行向量只見可以相加減,維數(shù)相同的列向量也可以相加減,標(biāo)量可以與向量直接相乘除。 >> A=[1 2 3 4 5], B=3:7, A = 1 2 3 4 5 B = 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, 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 ? 向量的點(diǎn)積與叉積運(yùn)算。 >> A=ones(1,10);B=(1:10); BT=B; >> E1=dot(A,B) E1 = 55 >> E2=A*BT E2 = 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)建、引用和運(yùn)算 1) 矩陣的創(chuàng)建和引用 矩陣是由元素構(gòu)成的矩陣結(jié)構(gòu),行向量和列向量是矩陣的特殊形式。 ? 直接輸入法: >> A=[1 2 3;4 5 6] A = 1 2 3 4 5 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 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]) 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) 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 拼接法 >> 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 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 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 >> 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 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。 答案: >> 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 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,:) 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 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 0 0 7 8 0 0 7 2) 矩陣的運(yùn)算 ? 矩陣的加減、數(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 ans = 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 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 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*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 c3 = 1 2/7 -4/7 c4 = 1 2/7 -4/7 練習(xí): 按下列要求求出各種的矩陣運(yùn)算的值 求矩陣的秩、特征值和特征向量、 矩陣的乘冪與開方; 矩陣的指數(shù)與對(duì)數(shù) 矩陣的提取與翻轉(zhuǎn) 答案: >> A=[6 3 4 3 -2 5 7 -4 8 -1 -3 -7] A = 6 3 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 computes 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 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.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 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=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 returned. > 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 -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)建及運(yùn)算 1) 多維數(shù)組的創(chuàng)建 >> A1=[1,2,3;4 5 6;7,8,9];A2=reshape([10:18],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) 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) = 10 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ù)組運(yùn)算用小圓點(diǎn)加在運(yùn)算符的前面表示,以區(qū)分矩陣的運(yùn)算。特點(diǎn)是兩個(gè)數(shù)組相對(duì)應(yīng)的元素進(jìn)行運(yùn)算。 >> A=[1:6];B=ones(1,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.2500 0.2000 0.1667 關(guān)系運(yùn)算或邏輯運(yù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 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 = 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)建如下字符串AaBbCc......XxYyZz. >> S1=65:90;S2=97:122; >> C=[S1;S2]; >> C=C(:); >> S3=double(C);char(S3) ans = AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 實(shí)驗(yàn)三 MALTAB數(shù)值運(yùn)算 一、實(shí)驗(yàn)?zāi)康? 掌握MATLAB的數(shù)值運(yùn)算及其運(yùn)算中所用到的函數(shù),掌握結(jié)構(gòu)數(shù)組和細(xì)胞數(shù)組的操作。 二、實(shí)驗(yàn)內(nèi)容 1) 多項(xiàng)式運(yùn)算。 2) 多項(xiàng)式插值和擬合。 3) 數(shù)值為積分。 4) 結(jié)構(gòu)數(shù)組和細(xì)胞數(shù)組。 三、實(shí)驗(yàn)步驟 1、多項(xiàng)式運(yùn)算 1) 多項(xiàng)式表示。在MATLAB中,多項(xiàng)式表示成向量的形式。 如: 在MATLAB中表示為 >> s=[1 3 -5 0 9] 2) 多項(xiàng)式的加減法相當(dāng)于向量的加減法,但必須注意階次要相同。如不同,低階次的要補(bǔ)0。如多項(xiàng)式與多項(xiàng)式相加。 >> 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 -3 7 18 3) 多項(xiàng)式的乘、除法分別用函數(shù)conv和的deconv實(shí)現(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 4) 多項(xiàng)式求根用函數(shù)roots。 >> s1=[2 4 2] >> roots(s1) 答;s1 = 2 4 2 ans = -1 -1 5) 多項(xiàng)式求值用函數(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 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 = 1 4 r = 0 0 2 -5 -1 2、多項(xiàng)式插值和擬合 有一組實(shí)驗(yàn)數(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時(shí)Y的值。以下是實(shí)現(xiàn)一階擬合的語句。 >> x=1:10 >> y=[16 32 70 142 260 436 682 1010 1342 1960] >> p1=polyfit(x,y,1) %一階擬合 >> y1=polyval(p1,9.5) %計(jì)算多項(xiàng)式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ù)實(shí)現(xiàn)。 >> x=1:2:9 >> diff(x) 答;x = 1 3- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- MATLAB 上機(jī) 實(shí)驗(yàn) 報(bào)告
鏈接地址:http://m.zhongcaozhi.com.cn/p-6499438.html