matlab内联函数怎么作图,第1讲:向量,函数和作图
第1講:向量,函數(shù)和作圖
Blog Todd講Matlab
向量
Matlab 中最基本的對象是矩陣,向量是特殊的矩陣。行向量是1×n矩陣,列向量是m×1矩陣。輸入如下行向量:
>>v=[0123]
回車,Matlab 將輸出此行向量:
v=
0123
輸入如下列向量:
>>u=[9;10;11;12;13]
按如下方式訪問向量的元素:
>>u(2)
按如下方式改變元素的值:
>>u(2)=47
按如下方式提取多個連續(xù)向量:
>>u(2:4)
按如下方式將行向量變成列向量,也可以把列向量變成行向量:
>>w=v'
這個操作稱為轉(zhuǎn)置,'稱為轉(zhuǎn)置算符。
還可以用如下方法快速建立行向量:
>>x=-1:0.5:1
另一方法為:
>>y=linspace(0,1,11)
基本輸出格式
如果讓輸出更緊湊些,可以按如下命令:
>>format compact
如果要使結(jié)果輸出更多位小數(shù),輸入如下命令:
>>formatlong
注意:這不會改變Matlab參與運算的數(shù)的位數(shù),只是改變輸出結(jié)果的小數(shù)位數(shù)。
作圖
根據(jù)表格1中的數(shù)據(jù),將表格中的數(shù)據(jù)賦給兩個向量:
>>x=[520305055]
x=
520305055
>>y=[0.080.0150.0090.0060.0055]
y=
0.08000.01500.00900.00600.0055T
5
20
30
50
55
μ
0.08
0.015
0.009
0.006
0.0055
表格1 溫度與粘度
輸入如下命令可將數(shù)據(jù)繪成圖形:
>>plot(x,y)
如果想把數(shù)據(jù)點用符號表示出來,例如:
>>plot(x,y,'*')
>>plot(x,y,'o')
>>plot(x,y,'.')
內(nèi)置函數(shù)
Matlab包含有大量的內(nèi)置函數(shù),如sin()、exp(),等等,大部分函數(shù)的意義從名字一看便知。使用內(nèi)置函數(shù)時,變量放在小括號里。比如:
>>sin(pi)
這是計算sinπ的值。
如下命令:
>>exp(0)
這是計算e0的值。
Matlab內(nèi)置函數(shù)還可以向量為自變量,比如:
>>x=linspace(0,2*pi,40);
>>y=sin(x);
>>plot(x,y)
輸出結(jié)果為正弦函數(shù)在區(qū)間[0,2π]上的圖形。
Matlab常用內(nèi)置函數(shù)還有:cos(), tan(), sinh(), cosh(), log() (自然對數(shù)), log10() (以10為底的對數(shù)), asin( ) (反正弦函數(shù)), \acos( ), \atan( )。要了解函數(shù)細節(jié),可以用help命令查詢,比如:
>>help plot
>>help sin
>>help
內(nèi)聯(lián)函數(shù)
Matlab提供多種方式自定義函數(shù),一種方法是內(nèi)聯(lián)函數(shù),這是在命令行窗口定義函數(shù)的一種方法。下面就是一個典型的內(nèi)聯(lián)函數(shù):
>>f=inline('2*x.^2 - 3*x + 1','x')
這就定義了一個函數(shù)f(x)=2x2?3x+1。如下計算單個函數(shù)值:
>>f(2.23572)
與內(nèi)置函數(shù)一樣,內(nèi)聯(lián)函數(shù)也可以帶入向量,如:
>>x=-2:.2:2
>>f(x)
這正是向量化的例子,即用一個向量表示多個數(shù),一次操作向量的所有元素,而非一次處理一個元素,這是Matlab的優(yōu)勢之一。f(x)可以處理向量x,因為我們用 x.^2 表示 x2。符號.使指數(shù)運算符 ^ 可以對向量各個元素做指數(shù)運算,比如[-2 -1.8 -1.6].^2運算實為[(?2)2(?1.8)2(?1.6)2],結(jié)果為[4 3.24 2.56]。而[-2 -1.8 -1.6]^2運算實為[-2 -1.8 -1.6][-2 -1.8 -1.6],程序?qū)箦e。運算.可用于.^,.*,./,但不需用于乘除標量,也不需用于加法+。
函數(shù)圖形也可以用 plot 命令得到,如數(shù)據(jù)作圖一樣:
>>plot(x,y)
需要注意的是,這里其實是把函數(shù)轉(zhuǎn)換成數(shù)據(jù)然后作圖的。機器作圖都需要這一轉(zhuǎn)換步驟。
補充:Matlab R2015a 提示內(nèi)聯(lián)函數(shù)過時,未來將不支持內(nèi)聯(lián)函數(shù)。可以采用匿名函數(shù)來自定義函數(shù)。
匿名函數(shù)
輸入如下命令可定義一個匿名函數(shù):
>>afun1=@(x)sin(x)/x
計算函數(shù)值:
>>afun1(2)
定義多個變量的匿名函數(shù):
>>afun2=@(x,y)(x^2+y^2+x*y)
如果需要輸入向量作為自變量,注意乘、除、冪運算分別需要用.*,./,.^進行。如:
>>npdf=@(x)(1/sqrt(2*pi))*exp(-0.5*x.^2)
練習
1 從工程教科書中選取一個數(shù)據(jù)表格,將數(shù)據(jù)賦予向量,然后作圖,并標記坐標軸和標題。
2 定義內(nèi)聯(lián)函數(shù) g(x)=x+cos(x5)并作圖。你得到的圖有何問題?如何改善?
總結(jié)
以上是生活随笔為你收集整理的matlab内联函数怎么作图,第1讲:向量,函数和作图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FlexRay介绍
- 下一篇: YUV数据格式的转换(NV12ToI42