Matlab基礎(chǔ)知識_第1頁
Matlab基礎(chǔ)知識_第2頁
Matlab基礎(chǔ)知識_第3頁
Matlab基礎(chǔ)知識_第4頁
Matlab基礎(chǔ)知識_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、lxy, china jiliang universty數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一matlab基礎(chǔ)基礎(chǔ)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty引言引言q matlab: matrix laboratry 矩陣實驗室矩陣實驗室q 選擇選擇matlab的理由的理由 matlab功能強大。功能強大。 操作簡單,容易上手。操作簡單,容易上手。 matlab應(yīng)用非常廣泛。應(yīng)用非常廣泛。 易于擴展。易于擴展。數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty內(nèi)容提綱內(nèi)容提綱1.1

2、.基本用法基本用法2.2.向量與矩陣的生成和運算向量與矩陣的生成和運算3.matlab3.matlab編程編程4.4.符號運算符號運算5.matlab5.matlab繪圖繪圖lxy, china jiliang universty1. matlab基本用法數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty基本用法提綱基本用法提綱q matlab幫助系統(tǒng)q matlab變量q 變量的讀取與存儲q 矩陣數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab 的工作界面的工作界

3、面命令窗口命令窗口當前工當前工作目錄作目錄當前工當前工作空間作空間輸入命令的輸入命令的歷史記錄歷史記錄命令命令提示符提示符數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 矩陣的直接排列輸入矩陣的直接排列輸入例:例: a = 1 2 3; 4 5 6; 7 8 9矩陣矩陣q matlab 的的操作對象是操作對象是 矩陣矩陣q 矩陣元素可以是任何數(shù)值表達式矩陣元素可以是任何數(shù)值表達式例:例: x = -1.3, sqrt(3), (1+2+3)*4/5 q 大矩陣可以把小矩陣作為其元素大矩陣可以把小矩陣作為其元素例:例: a = a;

4、 11 12 13 在原矩陣的下方加一行在原矩陣的下方加一行如何在原矩陣的右邊添加一列?如何在原矩陣的右邊添加一列?數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 單個元素的引用單個元素的引用例:例: a(2,3)矩陣元素的引用矩陣元素的引用q 多個元素的引用:多個元素的引用:冒號的特殊用法冒號的特殊用法利用小括弧和元素所在的位置(下標)利用小括弧和元素所在的位置(下標)x(i):向量向量 x 中的第中的第 i 個元素個元素a(i, j):矩陣矩陣 a 中的第中的第 i 行,第行,第 j 列元素列元素a:b:c產(chǎn)生一個由產(chǎn)生一個由

5、等差序列等差序列組成的向量;組成的向量; a 是首項,是首項,b 是公是公差,差,c 確定確定最后一項;若最后一項;若 b=1,則則 b 可以省略??梢允÷?。例:例: x=1:2:5 y=1:2:6例:例: x=2:1:5 y=2:5例:例: x=3:2:1數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 多個元素的引用多個元素的引用(續(xù))(續(xù))例:例: x(1:3)矩陣元素的引用矩陣元素的引用 a(3,1:3)a(i:j, m:n) 表示由矩陣表示由矩陣 a 的第的第 i 到第到第 j 行和第行和第 m 到第到第 n列交叉線上的元

6、素組成的列交叉線上的元素組成的子矩陣子矩陣??衫妹疤柼崛【仃嚳衫妹疤柼崛【仃?的整行或整列。的整行或整列。例:例: a(1, :) a(:, 1:2) a(:, :)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab幫助系統(tǒng)幫助系統(tǒng)q 聯(lián)機幫助聯(lián)機幫助help 顯示指定命令的簡短使用說明顯示指定命令的簡短使用說明例:例: help eig help help q 詳細使用幫助詳細使用幫助doc 以網(wǎng)頁形式以網(wǎng)頁形式顯示指定命令的幫助頁顯示指定命令的幫助頁例:例: doc eig q lookfor 按指定的關(guān)鍵詞查詢與之

7、相關(guān)的命令按指定的關(guān)鍵詞查詢與之相關(guān)的命令例:例: lookfor inverse 數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 變量命名原則變量命名原則matlab 變量變量u 以以字母開頭字母開頭u 后面可以跟后面可以跟 字母、數(shù)字字母、數(shù)字 和和 下劃線下劃線u 長度長度不超過不超過 63 個字符個字符(6.5 版本以前為版本以前為 19 個個)u 變量名變量名 區(qū)分字母的區(qū)分字母的 大小大小 寫寫q matlab 語句的通常形式語句的通常形式變量變量=表達式表達式表達式是用運算符將有關(guān)運算量連接起來的式子,表達式是用運算

8、符將有關(guān)運算量連接起來的式子,其結(jié)果被賦給賦值號其結(jié)果被賦給賦值號“=”左邊的變量左邊的變量數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 分號和續(xù)行符的作用分號和續(xù)行符的作用matlab 變量變量若不想在屏幕上輸出結(jié)果,可以在語句最后加分號若不想在屏幕上輸出結(jié)果,可以在語句最后加分號 如果語句很長,可用續(xù)行符如果語句很長,可用續(xù)行符 “”(三個點)續(xù)行(三個點)續(xù)行 續(xù)行符的前面最好留一個空格續(xù)行符的前面最好留一個空格例:例:數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang univers

9、tyq 變量的查詢變量的查詢matlab 變量變量who 顯示工作空間中的所有變量顯示工作空間中的所有變量whos 查看工作空間中變量的詳細屬性查看工作空間中變量的詳細屬性數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 系統(tǒng)預(yù)定義變量系統(tǒng)預(yù)定義變量matlab 變量變量u pi 圓周率圓周率 u inf/inf 無窮大無窮大 u nan/nan not-a-number,一個不定值,如,一個不定值,如 0/0u eps 浮點浮點運算相對精度運算相對精度 q 特殊變量特殊變量 ansu i/j 虛部單位,即虛部單位,即1 應(yīng)盡量避免

10、給系統(tǒng)預(yù)定義變量重新賦值!應(yīng)盡量避免給系統(tǒng)預(yù)定義變量重新賦值!數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty變量的存儲變量的存儲q 存儲當前工作空間中的變量存儲當前工作空間中的變量u save 將所有變量存入文件將所有變量存入文件 matlab.matu save mydata 將所有變量存入將所有變量存入指定文件指定文件 mydata.matq 存儲存儲指定指定的變量的變量u save mydata.mat 將所有變量存入將所有變量存入文件文件 mydata.matsave 文件名文件名 變量名列表變量名列表例例: save my

11、data a x z 變量名列表中各變量之間用空格分隔。變量名列表中各變量之間用空格分隔。數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty變量的讀取變量的讀取q 將數(shù)據(jù)文件中的變量載入當前工作空間將數(shù)據(jù)文件中的變量載入當前工作空間u load mydata 載入數(shù)據(jù)文件中的所有變量載入數(shù)據(jù)文件中的所有變量u load mydata a x 從數(shù)據(jù)文件中提取指定變量從數(shù)據(jù)文件中提取指定變量q 清除當前工作空間中的變量清除當前工作空間中的變量u clear 清除當前工作空間中的所有變量清除當前工作空間中的所有變量u clear a x 清

12、除指定的變量清除指定的變量數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty內(nèi)容提綱內(nèi)容提綱1.1.基本用法基本用法2.2.向量與矩陣的生成和運算向量與矩陣的生成和運算3.matlab3.matlab編程編程4.4.符號運算符號運算5.matlab5.matlab繪圖繪圖6.6.其它補充知識其它補充知識lxy, china jiliang universty2. 向量與矩陣的生成和運算數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty向量與矩陣的生成與運算提綱向量與矩陣的生成與運

13、算提綱q 常用矩陣操作命令q 矩陣的基本運算q 矩陣的數(shù)組運算q 向量與矩陣的生成數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 向量與矩陣的生成向量與矩陣的生成向量與矩陣生成向量與矩陣生成u 向量的生成向量的生成 直接輸入直接輸入: a=1,2,3,4 冒號冒號運運算符算符a=1:4 = = a=1, 2, 3, 4b=0:pi/3:pi = b=0, 1.0472, 2.0944, 3.1416c=6:-2:0 = c = 6, 4, 2, 0例例: 從矩陣中抽取行或列從矩陣中抽取行或列數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matla

14、b 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 向量與矩陣的生成(續(xù))向量與矩陣的生成(續(xù))向量與矩陣生成向量與矩陣生成u 矩陣的生成矩陣的生成 直接輸入直接輸入: a=1, 2, 3; 4, 5, 6; 7, 8, 9 由向量生成由向量生成 由函數(shù)生成由函數(shù)生成例例: x=1,2,3;y=2,3,4; a=x,y, b=x;y例例: c=magic(3)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty常見矩陣生成函數(shù)常見矩陣生成函數(shù)zeros(m,n)生成一個生成一個 m 行行 n 列的零矩陣,列的零矩陣,m

15、=n 時可簡寫為時可簡寫為 zeros(n)ones(m,n)生成一個生成一個 m 行行 n 列的元素全為列的元素全為 1 的矩陣的矩陣, m=n 時可寫為時可寫為 ones(n)eye(m,n)生成一個主對角線全為生成一個主對角線全為 1 的的 m 行行 n 列矩陣列矩陣, m=n 時可簡寫為時可簡寫為 eye(n),即為即為 n 維單位矩陣維單位矩陣diag(x)若若 x 是矩陣,則是矩陣,則 diag(x) 為為 x 的主對角線向量的主對角線向量若若 x 是向量,是向量,diag(x) 產(chǎn)生以產(chǎn)生以 x 為主對角線的對角矩陣為主對角線的對角矩陣tril(a)提取一個矩陣的下三角部分提取一

16、個矩陣的下三角部分triu(a)提取一個矩陣的上三角部分提取一個矩陣的上三角部分rand(m,n)產(chǎn)生產(chǎn)生 01 間均勻分布的隨機矩陣間均勻分布的隨機矩陣 m=n 時簡寫為時簡寫為 rand(n)randn(m,n)產(chǎn)生均值為產(chǎn)生均值為0,方差為,方差為1的標準正態(tài)分布隨機矩陣的標準正態(tài)分布隨機矩陣m=n 時簡寫為時簡寫為 randn(n)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣操作矩陣操作q 提取矩陣的部分元素:提取矩陣的部分元素: 冒號運算符冒號運算符u a(:) a的所有元素的所有元素u a(:,:) 二維矩陣二維矩

17、陣a的所有元素的所有元素u a(:,k) a的第的第 k 列,列, a(k,:) a的第的第 k 行行 u a(k:m) a的第的第 k 到第到第 m 個元素個元素u a(:,k:m) a的第的第 k 到第到第 m 列組成的子矩陣列組成的子矩陣數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣操作矩陣操作q 矩陣的旋轉(zhuǎn)矩陣的旋轉(zhuǎn)u fliplr(a) 左右旋轉(zhuǎn)左右旋轉(zhuǎn)u flipud(a) 上下旋轉(zhuǎn)上下旋轉(zhuǎn)u rot90(a) 逆時針旋轉(zhuǎn)逆時針旋轉(zhuǎn) 90 度;度; rot90(a,k) 逆時針旋轉(zhuǎn)逆時針旋轉(zhuǎn) k90 度度例例: a=

18、1 2 3;4 5 6 b=fliplr(a) c=flipud(a) d=rot90(a), e=rot90(a,-1)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣操作矩陣操作q 矩陣的轉(zhuǎn)置與共軛轉(zhuǎn)置矩陣的轉(zhuǎn)置與共軛轉(zhuǎn)置u 共軛轉(zhuǎn)置共軛轉(zhuǎn)置u . 轉(zhuǎn)置,矩陣元素不取共軛轉(zhuǎn)置,矩陣元素不取共軛例例: a=1 2;2i 3i b=a c=a.點與單引號之間不能有空格點與單引號之間不能有空格!數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣操作矩陣操作q 改變矩陣的形

19、狀:改變矩陣的形狀:reshape數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣操作矩陣操作q 查看矩陣的大小:查看矩陣的大?。簊izeu size(a) 列出矩陣列出矩陣 a 的的行數(shù)和列數(shù)行數(shù)和列數(shù)u size(a,1) 返回矩陣返回矩陣 a 的的行數(shù)行數(shù)u size(a,2) 返回矩陣返回矩陣 a 的的列列數(shù)數(shù)例例: a=1 2 3; 4 5 6 size(a) size(a,1) size(a,2)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣基本運算矩陣

20、基本運算q 矩陣的加減矩陣的加減:對應(yīng)分量進行運算對應(yīng)分量進行運算要求參與加減運算的矩陣具有要求參與加減運算的矩陣具有 相同的維數(shù)相同的維數(shù)例例: a=1 2 3; 4 5 6; b=3 2 1; 6 5 4 c=a+b; d=a-b;q 矩陣的普通乘法矩陣的普通乘法要求參與運算的矩陣滿足線性代數(shù)中矩陣相乘要求參與運算的矩陣滿足線性代數(shù)中矩陣相乘的的原則原則例例: a=1 2 3; 4 5 6; b=2 1; 3 4; c=a*b數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣基本運算矩陣基本運算q 矩陣的矩陣的除法除法:/、 右

21、除和左除右除和左除 若 a 可逆方陣,則ab a 的逆左乘的逆左乘 b = inv(a)*bb/a a 的逆右乘的逆右乘 b b*inv(a)q乘冪:a 是方陣,p 是正整數(shù) ap 表示 a 的 p 次冪,即 p 個 a 相乘。 數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty矩陣的數(shù)組運算矩陣的數(shù)組運算q 數(shù)組運算:數(shù)組運算:對應(yīng)元素進行運算點與算術(shù)運算符之間不能有空格!u 數(shù)組運算包括:數(shù)組運算包括:點乘點乘、點除點除、點冪點冪u 相應(yīng)的數(shù)組運算符為:相應(yīng)的數(shù)組運算符為: “.* ” , “./ ” , “. ” 和和“ . ”參

22、與運算的對象必須具有相同的形狀!參與運算的對象必須具有相同的形狀!例例: a=1 2 3; 4 5 6; b=3 2 1; 6 5 4; c=a.*b; d=a./b; e=a.b; f=a.b;數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab中常見數(shù)學(xué)函數(shù)中常見數(shù)學(xué)函數(shù)sin、cos、tan、cot、sec、csc、asin、acos、atan、acot、asec、acsc、exp、log、log2、log10、sqrtabs、conj、real、imag、signfix、floor、ceil、round、mod、rem

23、max、min、sum、mean、sort、fftnorm、rank、det、inv、eig、lu、qr、svd數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty內(nèi)容提綱內(nèi)容提綱1.1.基本用法基本用法2.2.向量與矩陣的生成和運算向量與矩陣的生成和運算3.matlab3.matlab編程編程4.4.符號運算符號運算5.matlab5.matlab繪圖繪圖lxy, china jiliang universty3. matlab編程入門數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang univer

24、stymatlab編程入門提綱編程入門提綱q 關(guān)系運算符q 邏輯運算符q 程序結(jié)構(gòu)控制語句q 函數(shù)m文件的編寫q m文件數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab 編程入門編程入門q matlab 編程簡介u matlab 作為一種廣泛應(yīng)用于科學(xué)計算的工具軟件,不僅具有強大的數(shù)值計算、符號計算、矩陣運算能力和豐富的繪圖功能,同時也具有和 c、fortran 等高級語言一樣進行程序設(shè)計。u 在 matlab 程序設(shè)計中,要充分利用 matlab 數(shù)據(jù)結(jié)構(gòu)的特點,提高編程效率。數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab

25、基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 用 matlab 語言編寫的程序稱為 m 文件, 文 件以 .m為擴展名。q m 文件根據(jù)調(diào)用方式的不同可以分為兩類:u script:腳本文件/命令文件 u function:函數(shù)文件 m 文件文件數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyu 在命令窗口中輸入 f2cs,即可執(zhí)行該 m 文件。5(32)9cf例:編寫一個腳本文件將華氏溫度轉(zhuǎn)化為攝氏溫度腳本文件舉例腳本文件舉例clear; % 清除當前工作空間中的變量f=input(please input f

26、ahrenheit temperature:);c=5*(f-32)/9;fprintf(the centigrade temperature is %gn,c);u 新建一個 m 文件 f2cs.m,內(nèi)容如下:數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty關(guān)系運算關(guān)系運算小于小于大于大于=大于等于大于等于=等于等于=不等于不等于l 比較大小,如果結(jié)論是 真真 則返回 1 ,否則返回 0l 關(guān)系操作符能用來比較兩個同樣大小的數(shù)組,或用來比較一個數(shù)組和一個標量,在后一種情況,標量和數(shù)組中的每一個元素相比較,比較結(jié)果與數(shù)組大小一樣。q

27、關(guān)系關(guān)系運算符運算符數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty例:例:關(guān)系運算關(guān)系運算舉例舉例 2+2=4 23 a=1 3 5; 2 0 6; b=3 1 0; 2 4 6; a=b x=5 0; 4 2; x1 eps=eps/2; num=num+1;end數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyu break 和 continuel break 語句用于終止循環(huán)的執(zhí)行,即跳出最內(nèi)層循環(huán) l continue 語句用于結(jié)束本次循環(huán),進行下一次循環(huán) l br

28、eak 和 continue 一般與 if 語句配合使用其它流控制語句其它流控制語句u returnl return 語句用于退出正在運行的腳本或函數(shù),通常用在函數(shù)文件中。數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyfunction 輸出形參列表輸出形參列表=函數(shù)名函數(shù)名(輸入形參列表輸入形參列表)% 注釋說明部分注釋說明部分(可選可選)函數(shù)體語句函數(shù)體語句(必須必須)u 第一行為第一行為引導(dǎo)行引導(dǎo)行,表示該,表示該 m文件是函數(shù)文件文件是函數(shù)文件u 函數(shù)名的命名規(guī)則與變量名相同函數(shù)名的命名規(guī)則與變量名相同 ( 必須以字母開頭必須

29、以字母開頭 )u 當輸出行參多于一個時,用當輸出行參多于一個時,用方括號方括號括起來括起來u 函數(shù)必須是一個函數(shù)必須是一個單獨的單獨的 m文件文件u 函數(shù)函數(shù)文件名必須與函數(shù)名一致文件名必須與函數(shù)名一致u 以以百分號百分號開始的語句為開始的語句為注釋語句注釋語句函數(shù)函數(shù)m文件的編寫與調(diào)用文件的編寫與調(diào)用q 函數(shù)文件由函數(shù)文件由 function 語句引導(dǎo)語句引導(dǎo)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyfunction y = myfliplr(x)% returns x with row preserved and colum

30、ns% flipped in the left/right direction% % x = 1 2 3 becomes 3 2 1% 4 5 6 6 5 4% num_col=size(x,2); % 取取 x 的列數(shù)的列數(shù)y = x(:,num_col:-1:1);函數(shù)文件舉例函數(shù)文件舉例myfliplr.m數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty內(nèi)容提綱內(nèi)容提綱1.1.基本用法基本用法2.2.向量與矩陣的生成和運算向量與矩陣的生成和運算3.matlab3.matlab編程編程4.4.符號運算符號運算5.matlab5.m

31、atlab繪圖繪圖lxy, china jiliang universty4. matlab符號運算數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty符號運算提綱符號運算提綱q 因式分解、展開、合并、簡化及通分等q 計算極限q 計算導(dǎo)數(shù)q 計算積分q 符號求和q 代數(shù)方程和微分方程求解q 符號對象的建立數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab 符號運算介紹符號運算介紹q matlab 符號運算是通過符號數(shù)學(xué)工具箱(symbolic math toolbox)

32、來實現(xiàn)的。matlab 符號數(shù)學(xué)工具箱是建立在功能強大的 maple 軟件的基礎(chǔ)上的,當 matlab 進行符號運算時,它就請求 maple 軟件去計算并將結(jié)果返回給 matlab。 q matlab 的符號數(shù)學(xué)工具箱可以完成幾乎所有得符號運算功能。主要包括:符號表達式的運算,符號表達式的復(fù)合、化簡,符號矩陣的運算,符號微積分、符號作圖,符號代數(shù)方程求解,符號微分方程求解等。數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab 符號運算舉例符號運算舉例u 求一元二次方程 ax2 + bx + c = 0 的根 solve(a*

33、x2+b*x+c)u 求的根 f (x) = (cos x)2 的一次導(dǎo)數(shù) x=sym(x); diff(cos(x)2)u 計算 f (x) = x2 在區(qū)間 a, b 上的定積分 syms a b x; int(x2,a,b)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyu sym 函數(shù)用來建立單個符號變量,一般調(diào)用格式為:q 符號對象的建立:sym 和 syms符號對象符號對象的建立的建立例: a=sym(a) 符號變量 = sym(a)參數(shù) a 可以是一個數(shù)或數(shù)值矩陣,也可以是字符串a(chǎn) 是符號變量b 是符號常量 b=sym(

34、1/3)c 是符號矩陣 c=sym(1 ab; e d)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 符號對象的建立:sym 和 syms符號對象符號對象的建立的建立u syms 命令用來建立多個符號變量,一般調(diào)用格式為:syms 符號變量符號變量1 符號變量符號變量2 . 符號變量符號變量n 例: syms a b c a=sym(a); b=sym(b); c=sym(c);數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 符號表達式的建立:例:建立符號表達式通常

35、有以下2種方法:(1) 用 sym 函數(shù)直接建立符號表達式。(2) 使用已經(jīng)定義的符號變量組成符號表達式。 y=sym(sin(x)+cos(x) x=sym(x); y=sin(x)+cos(x)符號符號表達式表達式的建立的建立數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty符號表達式的替換符號表達式的替換subs(f,x,a) 用用 a 替換字符函數(shù)替換字符函數(shù) f 中的字符變量中的字符變量 x a 是可以是是可以是 數(shù)數(shù)/數(shù)值變量數(shù)值變量/表達式表達式 或或 字符變量字符變量/表達式表達式q 用給定的數(shù)據(jù)替換符號表達式中的指定的

36、符號變量數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtysubs 舉例舉例 f=sym(2*u); subs(f,u,2) f2=subs(f,u,u+2) a=3; subs(f2,u,a+2) subs(f2,u,a+2) syms x y f3=subs(f,u,x+y) subs(f3,x,y,1,2)ans=4f2=2*(u+2)ans=14ans=2*(a+2)+2)f3=2*x+2*yans=6u 例:指出下面各條語句的輸出結(jié)果f=2*u下面的命令運行結(jié)果會是什么? subs(f3,x,y,x+y,x+y)數(shù)學(xué)建模專題一

37、數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty六六類常見符號運算類常見符號運算q 因式分解、展開、合并、簡化及通分等q 計算極限q 計算導(dǎo)數(shù)q 計算積分q 符號求和q 代數(shù)方程和微分方程求解數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty因式分解、展開、合并、簡化等u 因式分解factor(f)u 函數(shù)展開expand(f)u 合并同類項collect(f,v): 按指定變量按指定變量 v 進行進行合并合并collect(f): 按按默認默認變量變量進行進行合并合并數(shù)學(xué)建模專題一數(shù)學(xué)建模

38、專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty計算極限計算極限limit(f,x,a): 計算計算limit(f,a): 當當默認變量默認變量趨向于趨向于 a 時的極限時的極限limit(f): 計算計算 a=0 時的極限時的極限limit(f,x,a,right): 計算右極限計算右極限limit(f,x,a,left): 計算左極限計算左極限lim( )xaf x例:計算例:計算 ,hxhxlh)ln()ln(lim0nnnxm1lim syms x h n; l=limit(log(x+h)-log(x)/h,h,0) m=limit(1-x/n)

39、n,n,inf)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty計算計算導(dǎo)數(shù)導(dǎo)數(shù)g=diff(f,v):求符號表達式求符號表達式 f 關(guān)于關(guān)于 v 的導(dǎo)數(shù)的導(dǎo)數(shù)g=diff(f):求符號表達式求符號表達式 f 關(guān)于關(guān)于默認變量默認變量的導(dǎo)數(shù)的導(dǎo)數(shù)g=diff(f,v,n):求求 f 關(guān)于關(guān)于 v 的的 n 階導(dǎo)數(shù)階導(dǎo)數(shù)q diff syms x; f=sin(x)+3*x2; g=diff(f,x)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty計算計算積分積分int(f,v

40、,a,b): 計算定積分計算定積分int(f,a,b): 計算關(guān)于計算關(guān)于默認變量默認變量的定積分的定積分int(f,v): 計算不定積分計算不定積分int(f): 計算關(guān)于計算關(guān)于默認變量默認變量的不定積分的不定積分 syms x; f=(x2+1)/(x2-2*x+2)2; i=int(f,x) k=int(exp(-x2),x,0,inf)( )baf v dv ( )f v dv 例:計算例:計算 和和2221(22)xidxxx 20 xkedx 數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyu 梯形法:trapztrap

41、z(x,y)x 為分割點(節(jié)點)組成的向量,y 為被積函數(shù)在節(jié)點上的函數(shù)值組成的向量。22)(110nnbayyyynabdxxf,x10nxxx01y (),(),()nf xf xf xq matlab 近似計算定積分的相關(guān)函數(shù)matlab 數(shù)值積分函數(shù)數(shù)值積分函數(shù)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyu 例:用梯形法計算下面定積分 ( 取 n=100) 1021xdx解: x=0:1/100:1; y=1./(1+x.2); trapz(x, y)trapz(x,1./(1+x.2)trapz 舉例舉例數(shù)學(xué)建模專題一數(shù)

42、學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyquad(f,a,b,tol)f = f(x) 為被積函數(shù),a,b 為積分區(qū)間,tol 為計算精度將自變量看成是將自變量看成是向量向量badxxf)(u 拋物線法:quadl 不用自己分割積分區(qū)間l 可以指定計算精度,若不指定,缺省精度是 10-6l 精度越高,函數(shù)運行的時間越長l 此處的函數(shù) f 是數(shù)值形式,應(yīng)該使用數(shù)組運算,即 點運算:.*,./ ,. ,. 注:拋物線法拋物線法數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty1021xdx

43、解:解: quad(1./(1+x.2),0,1) quad(1./(1+x.2),0,1,10e-10) quad(1./(1+x.2),0,1,10e-16)函數(shù)表達式一定要用函數(shù)表達式一定要用 單引號單引號 括起來!括起來!涉及的運算一定要用涉及的運算一定要用 數(shù)組運算數(shù)組運算!u 例:用 quad 計算定積分:quad 舉例舉例數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 拋物線法計算二重積分: dblquaddblquad(f,a,b,c,d,tol)u tol 為計算精度,若不指定,則缺省精度為 10-6 badcd

44、xdyyxf),(u f(x,y) 可以由 inline 定義,或通過一個函數(shù)句柄傳遞u a,b 是第一積分變量的積分區(qū)間,c,d 是第二積分變量 的積分區(qū)間按字母順序,大寫字母排在小寫字母的前面二重積分的計算二重積分的計算數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty21201(43)ixyydxdy f=inline(4*x*y+3*y2); i=dblquad(f, -1,1,0,2)u f(x,y) 中關(guān)于第一自變量的運算是數(shù)組運算, 即把 x 看成是向量,y 看成是標量。 也可以全部采用數(shù)組運算例2:計算二重積分 2011

45、2)34(dxdyxxy dblquad(inline(4*x*y+3*x2),-1,1,0,2) dblquad(inline(4*x*y+3*x.2),-1,1,0,2)x例1:計算二重積分dblquad 舉例舉例數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty例:計算二重積分 20112)34(dxdyxxy dblquad(x,y)4*x*y+3*x.2 , -1,1, 0, 2)指定 x、y 分別是第一第一和第二第二積分變量 dblquad(inline(4*x*y+3*x.2), -1,1, 0, 2)q 被積函數(shù) f (

46、x,y) 的另一種定義方法:匿名函數(shù) dblquad(y,x)4*x*y+3*x.2 , -1,1, 0, 2)下面的命令運行結(jié)果和上面的一樣嗎?dblquad 舉例舉例數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty221dxex x=1:0.001:2; y=exp(x.(-2); trapz(x,y)l 梯形法:l 拋物線法: quad(exp(x.(-2),1,2,10e-10)l 符號積分法: syms x int(exp(x(-2),x,1,2)例 1:用 matlab 函數(shù)近似計算積分數(shù)值實驗數(shù)值實驗數(shù)學(xué)建模專題一數(shù)學(xué)建

47、模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty20112)(dyyxdxl 拋物線法: dblquad(inline(x+y2),0,2,-1,1)l 符號積分法: f=int(x+y2,y,-1,1); int(f,0,2)數(shù)值實驗數(shù)值實驗例 2:用 matlab 函數(shù)近似計算二重積分數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty符號求和符號求和 syms n; f=1/n2; s=symsum(f,n,1,inf) s100=symsum(f,n,1,100)symsum(f,v,a,b

48、): 求和求和symsum(f,a,b): 關(guān)于關(guān)于默認變量默認變量求和求和( )bv af v 例:計算級數(shù)例:計算級數(shù) 及其前及其前100項的部分和項的部分和211nsn 例:計算函數(shù)級數(shù)例:計算函數(shù)級數(shù)21nxsn syms n x; f=x/n2; s=symsum(f,n,1,inf)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty代數(shù)方程和微分方程代數(shù)方程和微分方程求解求解u 代數(shù)方程求解solve(f,v):求方程關(guān)于指定自變量的解,求方程關(guān)于指定自變量的解,f 可以是可以是用字符串表示的方程用字符串表示的方程、符號表達

49、式符號表達式或或符號方程符號方程;u 微分方程求解數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq 自牛頓發(fā)明微積分以來,微分方程在描述事物運自牛頓發(fā)明微積分以來,微分方程在描述事物運動規(guī)律上已發(fā)揮了重要的作用。實際應(yīng)用問題通過動規(guī)律上已發(fā)揮了重要的作用。實際應(yīng)用問題通過數(shù)學(xué)建模所得到的方程,絕大多數(shù)是微分方程。數(shù)學(xué)建模所得到的方程,絕大多數(shù)是微分方程。q 由于實際應(yīng)用的需要,人們必須求解微分方程。由于實際應(yīng)用的需要,人們必須求解微分方程。然而能夠求得解析解的微分方程十分有限,絕大多然而能夠求得解析解的微分方程十分有限,絕大多數(shù)微分

50、方程需要利用數(shù)值方法來近似求解。數(shù)微分方程需要利用數(shù)值方法來近似求解。微分方程求解微分方程求解數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty符號解法符號解法dsolve 求解析解求解析解q dsolve 的使用的使用y=dsolve(eq1,eq2, . ,cond1,cond2, . ,v)其中其中 y 為輸出,為輸出, eq1、eq2、.為微分方程,為微分方程,cond1、cond2、.為初值條件,為初值條件,v 為自變量。為自變量。例例 1:求微分方程求微分方程 的通解,并驗證。的通解,并驗證。22xdyxyxedx y=ds

51、olve(dy+2*x*y=x*exp(-x2),x) syms x; diff(y)+2*x*y - x*exp(-x2)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtydsolve 的使用的使用q 幾點說明幾點說明l 如果省略初值條件,則表示求通解;如果省略初值條件,則表示求通解;l 如果省略自變量,則默認自變量為如果省略自變量,則默認自變量為 t dsolve(dy=2*x,x); dy/dx = 2xdsolve(dy=2*x); dy/dt = 2xl 微分方程中用微分方程中用 d 表示對表示對 自變量自變量 的導(dǎo)數(shù),如:的

52、導(dǎo)數(shù),如:dy y; d2y y; d3y y數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtydsolve 舉例舉例例例 2:求微分方程求微分方程 在初值條件在初值條件 下的特解,并畫出解函數(shù)的圖形。下的特解,并畫出解函數(shù)的圖形。0 xxyye y=dsolve(x*dy+y-exp(x)=0,y(1)=2*exp(1),x) ezplot(y);12( )ye 數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtydsolve 舉例舉例例例3:求微分方程組求微分方程組 在初值條件

53、在初值條件 下的特解,并畫出解函數(shù)的圖形。下的特解,并畫出解函數(shù)的圖形。530tdxxyedtdyxydt x,y=dsolve(dx+5*x+y=exp(t),dy-x-3*y=0, . x(0)=1, y(0)=0, t)ezplot(x,y,0,1.3);0010|ttxy 數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyq euler折線法折線法數(shù)值求解:數(shù)值求解:euler 折線法折線法q runge-kutta(龍格(龍格-庫塔)方法庫塔)方法q 利用利用matlab函數(shù)求數(shù)值解函數(shù)求數(shù)值解數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 m

54、atlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty初值問題的初值問題的euler折線法折線法q 具體步驟:具體步驟:等距剖分:等距剖分:0121nnaxxxxxb 步長:步長:1 0 1 21() /, , ,kkhxxknnba u 分割求解區(qū)間分割求解區(qū)間u 差商代替微商差商代替微商1()()kkky xy xdydxhx 1 ()()()kkky xy xh yx 得方程組:得方程組:0011 ()(,)kkkkkkyy xyyh f xyxxh 分割求解區(qū)間,差商代替微商,解代數(shù)方程分割求解區(qū)間,差商代替微商,解代數(shù)方程 為分割點為分割點 0nkkx k =

55、0, 1, 2, ., n-1yk 是是 y (xk) 的近似的近似數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyeuler 折線法舉例折線法舉例例:例:用用 euler 法解初值問題法解初值問題22 0 201 , ( )dyxydxyxy 取步長取步長 h = (2 - 0)/n = 2/n,得差分方程得差分方程00110 1 2 ,(,)(/)kkkkkkkkkkxyyyh f xyyh yxyxxh 當當 h=0.4,即即 n=5 時,時,matlab 源程序見源程序見 fulua.m解:解:數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 m

56、atlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyeuler 折線法源程序折線法源程序clearf=sym(y+2*x/y2);a=0; b=2;h=0.4;n=(b-a)/h+1; % n=(b-a)/h;x=0; y=1;szj=x,y;for i=1:n-1 % i=1:n y=y+h*subs(f,x,y,x,y); x=x+h; szj=szj;x,y;endszjplot(szj(:,1),szj(:,2),or-)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty euler折線法舉例(續(xù))折線法

57、舉例(續(xù))解析解:解析解:1 3352233/xyex 解析解解析解近似解近似解數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyrunge-kutta 方法方法q 為了減小誤差,可采用以下方法:為了減小誤差,可采用以下方法:u 讓步長讓步長 h 取得更小一些;取得更小一些;u 改用具有較高精度的數(shù)值方法:改用具有較高精度的數(shù)值方法:q 龍格龍格-庫塔方法庫塔方法runge-kutta (龍格龍格-庫塔庫塔) 方法方法u 是是一類一類求解常微分方程的數(shù)值方法求解常微分方程的數(shù)值方法u 有多種不同的迭代格式有多種不同的迭代格式數(shù)學(xué)建模專題

58、一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyrunge-kutta 方法方法q 用得較多的是用得較多的是 四階四階r-k方法方法00111234 (22)/6(),kkkkyy xxxhyyh llll 12132432222(,)(/ ,/ )(/ ,/ )(,)kkkkkkkklf xylf xhyhllf xhyhllf xh yhl 其中其中數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universty四階四階 r-k 方法方法源程序源程序clear;f=sym(y+2*x/y2);a=0

59、; b=2; h=0.4;n=(b-a)/h+1; % n=(b-a)/h;x=0; y=1; szj=x,y;for i=1:n-1 % i=1:n l1=subs(f,x,y,x,y); l2=subs(f,x,y,x+h/2,y+l1*h/2); l3=subs(f,x,y,x+h/2,y+l2*h/2); l4=subs(f,x,y,x+h,y+l3*h); y=y+h*(l1+2*l2+2*l3+l4)/6; x=x+h; szj=szj;x,y;endplot(szj(:,1),szj(:,2), dg-)數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china j

60、iliang universtyrunge-kutta 方法方法數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtyeuler 法與法與 r-k法誤差比較法誤差比較數(shù)學(xué)建模專題一數(shù)學(xué)建模專題一 matlab 基礎(chǔ)基礎(chǔ)lxy, china jiliang universtymatlab函數(shù)數(shù)值求解函數(shù)數(shù)值求解t,y = solver(odefun,tspan,y0)其中其中 y0 為初值條件,為初值條件,tspan為求解區(qū)間;為求解區(qū)間;matlab在數(shù)值求解在數(shù)值求解時時自動對求解區(qū)間進行分割自動對求解區(qū)間進行分割,t (向量向量) 中返

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論