道客巴巴MATLAB入門
《道客巴巴MATLAB入門》由會員分享,可在線閱讀,更多相關《道客巴巴MATLAB入門(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、數(shù) 學 建 模 與 數(shù) 學 實 驗山東工商學院數(shù)學與信息科學學院 MATLAB入 門 n MATLAB作 為 線 性 系 統(tǒng) 的 一 種 分 析 和 仿 真 工具 , 是 理 工 科 大 學 生 應 該 掌 握 的 技 術 工 具 , 它 作為 一 種 編 程 語 言 和 可 視 化 工 具 , 可 解 決 工 程 、 科學 計 算 和 數(shù) 學 學 科 中 許 多 問 題 。 n MATLAB建 立 在 向 量 、 數(shù) 組 和 矩 陣 的 基 礎上 , 使 用 方 便 , 人 機 界 面 直 觀 , 輸 出 結 果 可 視化 。n 矩 陣 是 MATLAB的 核 心n MATLAB的 進 入
2、與 運 行 方 式 ( 命 令 與 M文 件 方 式 ) MATLAB入 門一 、 變 量 與 函 數(shù)二 、 數(shù) 組三 、 矩 陣四 、 MATLAB編 程五 、 實 驗 作 業(yè) 1、 變 量 MATLAB中 變 量 的 命 名 規(guī) 則 是 :( 1) 變 量 名 必 須 是 不 含 空 格 的 單 個 詞 ;( 2) 變 量 名 區(qū) 分 大 小 寫 ;( 3) 變 量 名 最 多 不 超 過 19個 字 符 ;( 4) 變 量 名 必 須 以 字 母 打 頭 , 之 后 可 以 是 任 意 字 母 、 數(shù) 字 或 下 劃 線 , 變 量 名 中 不 允 許 使 用 標 點 符 號 . 一 、
3、 變 量 與 函 數(shù) 特 殊 變 量 取 值 ans 用 于 結 果 的 缺 省 變 量 名 pi 圓 周 率 eps 計 算 機 的 最 小 數(shù) , 當 和 1 相 加 就 產(chǎn) 生 一 個 比1大 的 數(shù) flops 浮 點 運 算 數(shù) inf 無 窮 大 , 如 1/0 NaN 不 定 量 , 如 0/0 i, j i=j= 1 nargin 所 用 函 數(shù) 的 輸 入 變 量 數(shù) 目 nargout 所 用 函 數(shù) 的 輸 出 變 量 數(shù) 目 realmin 最 小 可 用 正 實 數(shù) realmax 最 大 可 用 正 實 數(shù) 特 殊 變 量 表 2、 數(shù) 學 運 算 符 號 及 標
4、點 符 號 + 加 法 運 算 , 適 用 于 兩 個 數(shù) 或 兩 個 同 階 矩 陣 相 加 . 減 法 運 算 * 乘 法 運 算 .* 點 乘 運 算 / 除 法 運 算 ./ 點 除 運 算 乘 冪 運 算 . 點 乘 冪 運 算 反 斜 杠 表 示 左 除 .( 1) MATLAB的 每 條 命 令 后 , 若 為 逗 號 或 無 標 點 符 號 , 則 顯 示 命 令 的 結 果 ; 若 命 令 后 為 分 號 , 則 禁 止 顯 示 結 果 . ( 2) “ %” 后 面 所 有 文 字 為 注 釋 . ( 3) “ .”表 示 續(xù) 行 . 3、 數(shù) 學 函 數(shù) Matlab常
5、用 命 令 由 Matlab語 句 構 成 的 程 序 文 件 稱 為 M文 件 , 它 可分 為 程 序 文 件 和 函 數(shù) 文 件 兩 種 。 若 文 件 中 有 全 局 變 量, 應 在 程 序 的 起 始 部 分 聲 明 。 其 語 句 為 : global 變 量 名程 序 文 件 在 命 名 時 不 能 以 數(shù) 字 開 始 , 不 允 許 用 漢 字 。 MATLAB的 內(nèi) 部 函 數(shù) 是 有 限 的 , 有 時 為 了 研 究 某一 個 函 數(shù) 的 各 種 性 態(tài) , 需 要 為 MATLAB定 義 新 函 數(shù) ,為 此 必 須 編 寫 函 數(shù) 文 件 . 函 數(shù) 文 件 是 文
6、 件 名 后 綴 為 M的 文 件 , 這 類 文 件 的 第 一 行 必 須 是 一 特 殊 字 符function開 始 , 格 式 為 : function 因 變 量 名 =函 數(shù) 名 ( 自 變 量 名 )函 數(shù) 值 的 獲 得 必 須 通 過 具 體 的 運 算 實 現(xiàn) , 并 賦 給 因 變量 . 4、 M文 件 Matlab的 應 用 程 序 也 以 M文 件 保 存 。 M文 件 建 立 方 法 : 1. 在 Matlab中 , 點 :File-New-M-file 2. 在 編 輯 窗 口 中 輸 入 程 序 內(nèi) 容 3. 點 : File-Save, 存 盤 。 注 意
7、: 函 數(shù) 文 件 名 必 須 與 函 數(shù) 名 一 致 。 例 : 定 義 函 數(shù) f(x1,x2)=100(x2-x12)2+(1-x1)2function f=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)21.建 立 M文 件 : fun.m MATLAB(fun)2. 可 以 直 接 使 用 函 數(shù) fun.m例 如 : 計 算 f(1,2), 只 需 在 Matlab命 令 窗 口 鍵 入 命 令 :x=1 2fun(x) 返 回 x=logspace(first, last, n) 創(chuàng) 建 從 開 始 , 到 結 束 , 有 n個 元 素 的 對 數(shù) 分 隔 行
8、 向 量 . 1、 創(chuàng) 建 簡 單 的 數(shù) 組二 、 數(shù) 組 MATLAB(shuzu1)x=a b c d e f 創(chuàng) 建 包 含 指 定 元 素 的 行 向 量x=first: last 創(chuàng) 建 從 first開 始 , 加 1計 數(shù) , 到 last結 束 的 行 向 量x=first: increment: last 創(chuàng) 建 從 first開 始 , 加 increment計 數(shù) , last結 束 的行 向 量x=linspace(first, last, n) 創(chuàng) 建 從 first開 始 , 到 last結 束 , 有 n個 元 素 的 行 向 量 2、 數(shù) 組 元 素 的 訪
9、問 MATLAB(shuzu2)( 3) 直 接 使 用 元 素 編 址 序 號 . x(a b c d) 表 示 提 取數(shù) 組 x的 第 a、 b、 c、 d個 元 素 構 成 一 個 新 的 數(shù) 組x(a) x(b) x(c) x(d). ( 2) 訪 問 一 塊 元 素 : x(a : b : c)表 示 訪 問 數(shù) 組 x的 從 第 a個 元 素 開 始 , 以 步 長 為 b到 第 c個 元 素 ( 但 不 超 過 c) , b可以 為 負 數(shù) , b缺 損 時 為 1. ( 1) 訪 問 一 個 元 素 : x(i)表 示 訪 問 數(shù) 組 x的 第 i個 元 素 . 3、 數(shù) 組
10、的 方 向 前 面 例 子 中 的 數(shù) 組 都 是 一 行 數(shù) 列 , 是 行 方 向 分 布 的 . 稱 之 為 行 向 量 . 數(shù) 組 也 可 以 是 列 向 量 , 它 的 數(shù) 組 操 作 和 運算 與 行 向 量 是 一 樣 的 , 唯 一 的 區(qū) 別 是 結 果 以 列 形 式 顯 示 . 產(chǎn) 生 列 向 量 有 兩 種 方 法 : 直 接 產(chǎn) 生 例 c=1; 2; 3; 4 轉 置 產(chǎn) 生 例 b=1 2 3 4; c=b 說 明 : 以 空 格 或 逗 號 分 隔 的 元 素 指 定 的 是 不 同 列 的元 素 , 而 以 分 號 分 隔 的 元 素 指 定 了 不 同 行
11、的 元 素 . 4、 數(shù) 組 的 運 算 ( 1) 標 量 -數(shù) 組 運 算 數(shù) 組 對 標 量 的 加 、 減 、 乘 、 除 、 乘 方 是 數(shù) 組 的 每 個元 素 對 該 標 量 施 加 相 應 的 加 、 減 、 乘 、 除 、 乘 方 運 算 . 設 : a=a1,a2,an, c=標 量則 : a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c= a 1/c,a2/c,an/c(右 除 ) a.c= c/a1,c/a2,c/an (左 除 ) a.c= a1c,a2c,anc c.a= ca1,ca2,can MATLAB(shuzu3) (
12、2) 數(shù) 組 -數(shù) 組 運 算 當 兩 個 數(shù) 組 有 相 同 維 數(shù) 時 , 加 、 減 、 乘 、 除 、冪 運 算 可 按 元 素 對 元 素 方 式 進 行 的 , 不 同 大 小 或 維數(shù) 的 數(shù) 組 是 不 能 進 行 運 算 的 . 設 : a=a1,a2,an, b=b1,b2,bn則 : a+b= a1+b1,a2+b2,an+bn a.*b= a1*b1,a2*b2,an*bn a./b= a1/b1,a2/b2,an/bn a.b=b 1/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbn MATLAB(shuzu4) 返 回 三 、 矩 陣 逗 號 或
13、空 格 用 于 分 隔 某 一 行 的 元 素 , 分 號 用 于 區(qū) 分 不同 的 行 . 除 了 分 號 , 在 輸 入 矩 陣 時 , 按 Enter鍵 也 表 示 開 始一 新 行 . 輸 入 矩 陣 時 , 嚴 格 要 求 所 有 行 有 相 同 的 列 . 例 m=1 2 3 4 ; 5 6 7 8; 9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 31、 矩 陣 的 建 立 特 殊 矩 陣 的 建 立 : . MATLAB(matrix1)d=eye(m, n) 產(chǎn) 生 一 個 m行 、 n列 的 單 位 矩 陣c=ones(m, n) 產(chǎn) 生 一 個 m行
14、 、 n列 的 元 素 全 為 1的 矩 陣b=zeros(m, n) 產(chǎn) 生 一 個 m行 、 n列 的 零 矩 陣a= 產(chǎn) 生 一 個 空 矩 陣 , 當 對 一 項 操 作 無 結 果 時 , 返 回 空 矩 陣 , 空 矩 陣 的 大 小 為 零 . size(A) 返 回 矩 陣 A的 行 和 列l(wèi)ength(A) 返 回 矩 陣 A的 行 和 列 中 最 大 數(shù) 2、 矩 陣 中 元 素 的 操 作 MATLAB (matrix2)( 1) 矩 陣 A的 第 r行 : A( r, : )( 2) 矩 陣 A的 第 r列 : A( : , r)( 4) 取 矩 陣 A的 第 i1i2
15、行 、 第 j1j2列 構 成 新 矩 陣 :A(i1:i2, j1:j2)( 5) 以 逆 序 提 取 矩 陣 A的 第 i1i2行 , 構 成 新 矩 陣 :A(i2:-1: i1, : )( 6) 以 逆 序 提 取 矩 陣 A的 第 j1j2列 , 構 成 新 矩 陣 :A(:, j2:-1: j1 )( 7) 刪 除 A的 第 i1i2行 , 構 成 新 矩 陣 :A(i1:i2, : )= ( 8) 刪 除 A的 第 j1j2列 , 構 成 新 矩 陣 :A(: , j1:j2)= ( 9) 將 矩 陣 A和 B拼 接 成 新 矩 陣 : A B; A; B( 3) 依 次 提 取
16、 矩 陣 A的 每 一 列 , 將 A拉 伸 為 一 個 列 向 量 : A( : ) ( 2) 矩 陣 -矩 陣 運 算 1 元 素 對 元 素 的 運 算 , 同 數(shù) 組 -數(shù) 組 運 算 。 3、 矩 陣 的 運 算( 1) 標 量 -矩 陣 運 算 同 標 量 -數(shù) 組 運 算 。 MATLAB(matrix3) 2 矩 陣 運 算 :矩 陣 加 法 : A+B矩 陣 乘 法 : A*B方 陣 的 行 列 式 : det( A)方 陣 的 逆 : inv( A)方 陣 的 特 征 值 與 特 征 向 量 : V, D=eig( A) 返 回 關 系 與 邏 輯 運 算 1、 關 系 操
17、 作 符 關 系 操 作 符 說 明 小 于 大 于 = 大 于 或 等 于= = 等 于 = 不 等 于 2、 邏 輯 運 算 符 邏 輯 操 作 符 說 明 與 或 非 1、 for循 環(huán) : 允 許 一 組 命 令 以 固 定 的 和 預 定 的 次 數(shù) 重 復 for x=array commands end 在 for和 end語 句 之 間 的 命 令 串 commands按 數(shù) 組 ( array) 中 的每 一 列 執(zhí) 行 一 次 . 在 每 一 次 迭 代 中 , x被 指 定 為 數(shù) 組 的 下 一 列 , 即 在第 n次 循 環(huán) 中 , x=array(: , n)控 制
18、 流MATLAB提 供 三 種 決 策 或 控 制 流 結 構 : for循 環(huán) 、 while循 環(huán) 、 if-else-end結 構 . 這 些 結 構 經(jīng) 常 包 含 大 量 的 MATLAB命 令 , 故 經(jīng) 常 出 現(xiàn) 在MATLAB程 序 中 , 而 不 是 直 接 加 在 MATLAB提 示 符 下 . 例 對 n=1,2,10,求 xn= 的 值10sin n MATLAB(for1) while expression commands end 只 要 在 表 達 式 (expression)里 的 所 有 元 素 為 真 , 就 執(zhí) 行 while和end語 句 之 間 的
19、命 令 串 commands. 2、 While循 環(huán) 與 for循 環(huán) 以 固 定 次 數(shù) 求 一 組 命 令 相 反 , while循 環(huán) 以 不 定 的 次數(shù) 求 一 組 語 句 的 值 . MATLAB(while1) 例 設 銀 行 年 利 率 為 11.25%。 將 10000元 錢 存 入 銀 行 ,問 多 長 時 間 會 連 本 帶 利 翻 一 番 ? 3、 If-Else-End結 構( 1) 有 一 個 選 擇 的 一 般 形 式 是 : if expression commands end 如 果 在 表 達 式 (expression)里 的 所 有 元 素 為 真 ,
20、就 執(zhí) 行 if和 end語 句 之 間 的 命 令 串 commands. MATLAB (fun1)1(),2( ,12 11)( 2 ffxx xxxf 求設例 先 建 立 M文 件 fun1.m定 義 函 數(shù) f( x) , 再 在Matlab命 令 窗 口 輸 入 fun1(2),fun1(-1)即 可 。 2) 有 三 個 或 更 多 的 選 擇 的 一 般 形 式 是 : if ( expression1) commands1 else if ( expression2) commands2 else if ( expression3) commands3 else if els
21、ecommandsendendend end )1(),5.0(),2( ,0 x 1x02 1x1xf(x) 32 fffxx 求設例 先 建 立 M文 件 fun2.m定 義 函 數(shù) f( x) , 再 在Matlab命 令 窗 口 輸 入 fun2(2),fun2(0.5), fun2(-1)即可 。 MATLAB(fun2) 返 回 根 據(jù) 數(shù) 據(jù) 的 組 織 形 式 , Matlab中 的 文 件 可 分 為 ASCII文 件 和 二進 制 文 件 。 ASCII文 件 又 稱 文 本 文 件 , 它 的 每 一 個 字 節(jié) 存 放一 個 ASCII代 碼 , 代 表 一 個 字 符
22、 。 二 進 制 文 件 是 把 內(nèi) 存 中 的數(shù) 據(jù) 按 其 在 內(nèi) 存 中 的 存 儲 形 式 原 樣 輸 出 到 磁 盤 上 存 放 。文 件 操 作函 數(shù) 分 類 函 數(shù) 名 作 用 打 開 和 關 閉 文 件 fopen 打 開 文 件fclose 關 閉 文 件讀 寫 二 進 制 文 件 fread 讀 二 進 制 文 件fwrite 寫 二 進 制 文 件格 式 I/O fscanf 從 文 件 中 讀 格 式 數(shù) 據(jù)fprintf 寫 格 式 數(shù) 據(jù)fgetl 從 文 件 中 讀 行 ,不 返 回 行 結 束 符fgets 從 文 件 中 讀 行 ,返 回 行 結 束 符讀 寫
23、 字 符 串 sprintf 把 格 式 數(shù) 據(jù) 寫 入 字 符 串 sscanf 格 式 讀 入 字 符 串文 件 定 位 feof 檢 驗 是 否 為 文 件 結 尾fseek 設 置 文 件 定 位 器ftell 獲 取 文 件 定 位 器frewind 返 回 到 文 件 的 開 頭 1 文 件 的 打 開 和 關 閉fid=fopen(filename,permission)fid是 文 件 標 識 符 ( file identifier) , fopen指 令 執(zhí) 行 成 功 后 就 會返 回 一 個 正 的 fid值 , 如 果 fopen指 令 執(zhí) 行 失 敗 , fid就 返
24、 回 -1。filename是 文 件 名 。permission是 文 件 允 許 操 作 的 類 型 , 可 設 為 以 下 幾 個 值 : r 只 讀 w 只 寫 a 只 能 追 加 ( append) r+ 可 讀 可 寫與 fopen對 應 的 指 令 為 fclose, 它 用 于 關 閉 文 件 , 其 指 令 格 式 為: status=fclose(fid)如 果 成 功 關 閉 文 件 , status返 回 的 值 就 是 0。 fprintf(fid, 數(shù) 據(jù) 格 式 , 需 要 保 存 的 數(shù) 據(jù) 矩 陣 )2. fprintf的 指 令 格 式3. save的 指
25、令 格 式save filename 變 量 1 變 量 2 執(zhí) 行 該 命 令 把 變 量 1、 變 量 2、 保 存 在 文 件 filename中 。使 用 load filename即 可 把 變 量 1、 變 量 2、 調(diào) 出 來 。如 果 要 保 存 為 ASCII碼 , 就 要 在 后 面 加 上 -asciisave filename 變 量 1 變 量 2 -ascii對 于 save指 令 , 處 理 大 量 數(shù) 據(jù) 存 取 有 一 個 技 巧 非 常 有 用, 即 : save(filename, 變 量 1, 變 量 2, )由 于 filename是 用 字 符 串
26、表 示 的 , 所 以 可 以 使 用 程 序 進 行控 制 , 使 其 每 處 理 完 一 次 就 存 一 個 不 同 的 文 件 名 稱 。 load filename.txt就 建 立 了 filename命 名 的 變 量 。4. load 純 文 本 文 件 對 以 下 問 題 ,編 寫 M文 件 :(1)有 一 個 矩 陣 ,編 程 求 出 其 最 大 值 及 其 所 處 的位 置 .(2)編 程 求(3)有 一 函 數(shù) ,寫 一 程 序 ,輸入 自 變 量 的 值 ,輸 出 函 數(shù) 值 .54201 !n n yxyxyxf 2sin),( 2 實 驗 作 業(yè) 返 回 謝 謝 !
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案