變量與函數
變量
變量是在程序運行中其值可以改變的量,MATLAB中變量的命名規則是:
(1)變量名必須以字母打頭,之后可以是任意字母、數字或下划線,變量名中不允許使用標點符號.
(2)變量名區分大小寫;
(3)變量名最多可包含63個字符(6.5及以后的版本, 變量名長度不得超過最大長度限制,超過的部分將被忽略。不同的MATLAB版本,變量的最大長度限制是不同的,用戶可以使用 namelengthmax函數得到該用戶使用的 MATLAB版本所規定的變量名長度。)
(4)變量名不能包含空格、標點。
數據類型
在對不同數據類型的變量引用時,一般不用事先對變量的數據類型進行定義或說明,系統會依據變量被賦值的類型自動進行類型識別
特殊變量表
數學運算符號及標點符號
數學運算符號
(1)MATLAB的每條命令后,若為逗號或無標點符號,
則顯示命令的結果;若命令后為分號,則禁止顯示結果.
(2)“%” 后面所有文字為注釋.
(3) “...”表示續行.
數學函數
eg:
簡單計算
【例2.2-2】計算sin(45ْ )
>>sin(45*pi/180)
ans=
0.7071
%Matalb中正弦函數sin就是常見的正弦函數。
%它的參數值是以“弧度”為單位的。
%pi也是Matalb的預定義變量。
%pi=3.14159…
%Matlab對字母大小寫是敏感的。
>>sqrt(2*exp(4.92+0.5)+1)
ans=
21.2781
%Matalb中開平方—sqrt(x),是英文square root的縮寫 。
%Matalb中指數函數exp(x),常見的表達方式。
注意:
1)命令行編輯 “↑”鍵調回已輸入過命令修改。
2)在使用時,如果命令行中用到等號“=”。計算結果不再賦給“ans”,而是賦給用戶指定的變量。
3)無論是預定義變量還是用戶自定義變量都被存儲在系統的工作空間內,即系統定義的一個存儲窗口變量的內存空間。
4)Who、whos命令用來顯示工作空間的變量,clear命令用來清除工作空間的變量。
數值顯示格式設置
缺省顯示格式:簡潔的短(short g)格式
窗口命令及語法格式:format 顯示格式關鍵字
如:format long %15位數字顯示
常見通用命令
命令 含義
clc 清除命令窗口的顯示內容
clear 清除Matlab工作空間中保存的變量
who或whos 顯示Matlab工作空間中的變量信息
dir 顯示當前工作目錄的文件和子目錄清單
cd 顯示或設置當前工作目錄
type 顯示指定m文件的內容
help或doc 獲取在線幫助
quit或exit 關閉/推出MATALB
實例:
>>who
Your variables are:
ans circle_len y
area radius
>>whos
Name Size Bytes Class
ans 1x1 8 double array
area 1x1 8 double array
circle_len 1x1 8 double array
radius 1x1 8 double array
y 1x1 8 double array
Grand total is 5 elements using 40 bytes
>>clear y
>>who
Your variables are:
ans circle_len
area radius
>>clear ans area
>>whos
Your variables are:
Name Size Bytes Class
circle_len 1x1 8 double array
radius 1x1 8 double array
Grand total is 2 elements using 16 bytes
操作界面
工作空間
查看工作空間內存變量,可以由who、whos 。
命名新變量。
修改變量名
刪除變量
繪圖
保存變量數據
裝入數據
歷史窗口
首先記錄每次啟動時間
並記錄在命令窗口輸入命令,此次運行期間,輸入的所有命令被記錄為一組,並以此次啟動時間為標志。
使用歷史窗口:
可以查看命令窗口輸入過的命令或語句
可以選擇一條或多條命令執行拷貝、執行、創建M文件等。
當前目錄窗口
指Matlab運行時的工作目錄。
只有在當前目錄和搜索路徑下的文件、函數才可以被運行和調用。
如果沒有特殊指明,數據文件也將存放在當前目錄下;
用戶可以將自己的工作目錄設置成當前目錄,從而使得所有操作都在當前目錄中進行。
文件與幫助
獲取幫助
MATLAB提供的幫助信息有兩類
簡單純文本幫助信息
help
lookfor(條件比較寬松)例:inverse
窗口式綜合幫助信息(文字、公式、圖形)
doc
helpwin
.M文件
M文件有兩類:腳本M文件和函數M文件
腳本M文件就是命令的簡單疊加。
M文件建立方法:
- 在Matlab中,點:File->New->M-file(新建->腳本)
- 在編輯窗口中輸入程序內容
- 點:File->Save,存盤,M文件名必須與函數名一致。
Matlab的應用程序也以M文件保存。
函數與數組
函數
MATLAB的內部函數是有限的,有時為了研究某一個函數的各種性態,需要為MATLAB定義新函數,為此必須編寫函數文件. 函數文件是文件名后綴為M的文件,這類文件的第一行必須是一特殊字符function開始,格式為:
function 因變量名=函數名(自變量名)
函數值的獲得必須通過具體的運算實現,並賦給因變量.
舉例:
例:定義函數 f(x1,x2)=100(x2-x1^2)^2+(1-x1)^2
1.建立M文件:fun.m
function f=fun(x)
f=100*(x(2)-x(1)^2)^2+(1-x(1))^2
2. 可以直接使用函數fun.m
例如:計算 f(1,2), 只需在Matlab命令窗口鍵入命令:
x=[1 2]
fun(x)
數組
定義:
相同類型數據的有序集合,在內存中連續存放。
由數組名和下標惟一地確定每個數組元素,數組中的任何一個數都被稱為這個數組的元素,由其所在的行和列標識,這個標識也稱為數組元素的下標或索引。
1)Matlab將標量視為1×1的數組。
2)對m行、n列的2維數組a:
3)計為m×n的數組a:
*行標識、列標識均從1開始;
行標識從上到下遞增;
列標識從左到右遞增。
數組分類
1)一維數組,也稱為向量(vector) 。
行向量(row vector)、列向量(column vector)。
2)二維數組(矩陣matrix)。
3)多維數組。
4)有效矩陣:每行元素的個數必須相同,每列元素的個數也必須相同。
數組的創建
1、創建簡單的數組
2、創建一維數組變量
第一種方法:使用方括號“[ ]”操作符
【例2-1】創建數組(行向量)a=[1 3 pi 3+5i]
a=[1 3 pi 3+5i] %or a=[1, 3, pi, 3+5i]
a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i
所有的向量元素必須在操作符“[ ]”之內;
向量元素間用空格或英文的逗點“,”分開。
第二種方法:使用冒號“:”操作符
【例2-2】創建以1~10順序排列整數為元素的行向量b。
b=1:10
b=1 2 3 4 5 6 7 8 9 10
鍵入並執行c=1:2:10和d=1:2:9
>> c=1:2:10
c=1 3 5 7 9
>>d=1:2:9
d= 1 3 5 7 9
利用冒號“:”操作符創建行向量的基本語法格式:
x=Start:Increment:End
Start表示新向量x的第一個元素;
新向量x的最后一個元素不能大於End ;
Increment可正可負,若負,則必須Start>End;若正,則必須Start<End,否則創建的為空向量。
若Increment=1,則可簡寫為:x=Start:End。
第三種方法:利用線性等分函數linspace
函數linspace的基本語法
x= linspace(x1, xn, n)
該函數生成一個由n個元素組成的行向量;
x1為其第一個元素;
xn為其最后一個元素;
x1、xn之間元素的間隔=(xn-x1)/(n-1)。
如果忽略參數n,則系統默認生成100個元素的行向量。
鍵入並執行x= linspace(1,2,5)
x=1.0000 1.2500 1.5000 1.7500 2.0000
可以在實驗時察看x= linspace(1,2)執行結果。
第四種方法:利用對數等分函數logspace
函數logspace的基本語法
x= logspace(x1, xn, n)
該函數生成一個由n個元素組成的行向量;
x1為向量首元素的冪,即10x1;
xn為向量尾元素的冪, 即10xn ;
如果忽略參數n,則系統默認生成50個元素的行向量。
鍵入並執行 z=logspace(1,4,4)
Z= 10 100 1000 10000
列向量的創建
使用方括號“[ ]”操作符,使用分號“;”分割行。
【例2-5】鍵入並執行x= [1; 2; 3]
X=1
2
3
使用冒號操作符,即利用矩陣的轉置操作。