matlab常用函數(shù)集錦

一.方程求解(符號(hào)求解嘉汰、數(shù)值求解)

  1. solve
    通常在不確定方程是否有符號(hào)解的時(shí)候购撼,推薦先使用solve進(jìn)行嘗試蔬将,因?yàn)閟olve相比于數(shù)值求解來(lái)說(shuō),它不需要提供初值渡八,并且一般情況下能夠得到方程的所有解啃洋。對(duì)于一些簡(jiǎn)單的超越方程,solve還能夠自動(dòng)調(diào)用數(shù)值計(jì)算系統(tǒng)給出一個(gè)數(shù)值解屎鳍。
    對(duì)于solve的參數(shù)采用字符型輸入不好宏娄,最好采用采用符號(hào)變量輸入:
solve('10^(-4.74)*0.965*y/60000x/(10^(-4.74)+x)+0.1/36500+10^(-14)/x-x=0','10^(-3.2)*x+0.333/3000+8*10^((-3.2)*0.1+0.1/333*y','x','y')
syms x y
eq1=10^(-4.74)*0.965*y/60000x/(10^(-4.74)+x)+0.1/36500+10^(-14)/x-x
eq2=10^(-3.2)*x+0.333/3000+8*10^((-3.2)*0.1+0.1/333*y
sol=solve(eq1,eq2,x,y)
  1. fzero
    很多情況下solve并不能求得方程的解析解,這時(shí)就可以采用數(shù)值法求解逮壁。
    fzero只適用求解一元函數(shù)零點(diǎn)孵坚,而fsolve適用于求解多元函數(shù)零點(diǎn)(包括一元函數(shù))。當(dāng)求解一元函數(shù)零點(diǎn)時(shí)窥淆,推薦優(yōu)先使用fzero
x = fzero(fun,x0)
[x,fval] = fzero(fun,x0)

如果方程有多個(gè)零點(diǎn)時(shí)卖宠,fzero只能根據(jù)你提供的初值求得最靠近初值的一個(gè)零點(diǎn),如果希望求得多個(gè)零點(diǎn)的話(huà)忧饭,那么只能夠通過(guò)改變初值來(lái)得到不同的零點(diǎn)扛伍。
fzero能夠提供區(qū)間搜索,注意區(qū)間兩端的端點(diǎn)函數(shù)值符號(hào)需要反向:

y=@(x)sin(x)+cos(x).^2  
[x,fval]=fzero(y,[-1 1])     %fzero在[-1,1]這個(gè)區(qū)間搜索初值
  1. fsolve
    x = fsolve(fun,x0)
    [x,fval] = fsolve(fun,x0)
    其中fun為函數(shù)句柄词裤,x0為搜索初值刺洒,fval為求解誤差
eq = @(x)[x(1)+x(2)=1;x(1)-11x(2)=5]
[sol,fval] = fsolve(eq,[1,1])
  1. vpasolve
    S = vpasolve(eqn)
    S = vpasolve(eqn,var)
    S = vpasolve(eqn,var,init_guess)
    ___ = vpasolve(___,Name,Value)
    其中eqn是符號(hào)方程,var為需要求解的變量吼砂,也可以不提供(第一種形式作媚,這是默認(rèn)求解變量由symvar(eqn)求得),init_guess為搜索初值帅刊,Name,Value為一些選項(xiàng)控制。
    • 對(duì)于多項(xiàng)式方程漂问,vpasolve能夠給出所有解赖瞒。
    • 對(duì)于非多項(xiàng)式方程女揭,vpasolve只給出一個(gè)解,這時(shí)可以提供搜索初值栏饮,來(lái)改變它找到的解:vpasolve(sin(x^2) == 1/2,x,100)吧兔。
    • 可以指定搜索范圍,直接在輸入?yún)?shù)中指定:vpasolve(x^8 - x^2 == 3,x,[-Inf Inf]) %實(shí)數(shù)范圍內(nèi)求解袍嬉。
    • 將‘random’選項(xiàng)設(shè)置為true可以直接搜索指定范圍內(nèi)不同解:
    syms x
    f = x-tan(x);
    for n = 1:3
    vpasolve(f,x,'random',true)
    end
    

二.浮點(diǎn)數(shù)誤差處理

在進(jìn)行數(shù)值計(jì)算判斷兩數(shù)相等時(shí)境蔼,最好不要直接判斷,而是設(shè)立一個(gè)容差值伺通,當(dāng)兩個(gè)浮點(diǎn)數(shù)
的差的絕對(duì)值小于給定的容差值時(shí)箍土,我們就認(rèn)為這兩個(gè)浮點(diǎn)數(shù)相等。

a=0.1:0.1:0.5   %結(jié)果:a = 0.1000 0.2000 0.3000 0.4000 0.5000
tol=eps(0.3)*10     %設(shè)立容差值罐监,一般比這個(gè)點(diǎn)的浮點(diǎn)數(shù)誤差高一到兩個(gè)數(shù)量級(jí)即可吴藻。eps函數(shù)能夠求得該點(diǎn)的浮點(diǎn)數(shù)誤差值。結(jié)果:tol = 5.5511e-15
find(abs(a-0.3)<tol)    %結(jié)果:ans = 3

三.生成一系列有規(guī)律名變量(eval()(不推薦)/元胞數(shù)組(推薦))

生成一個(gè)多項(xiàng)式:y=x1+2*x2+3*x3+…+100*x100
x=sym('x',[1,100])
w=(1:100).*x
y=sum(w)

四.統(tǒng)計(jì)向量中連續(xù)出現(xiàn)的數(shù)字并計(jì)數(shù)(diff)

五.讀取文本文件

  • csvread
    用于讀取形式比較簡(jiǎn)單的文本文件弓柱,文件內(nèi)容只包括數(shù)值沟堡,并且以逗號(hào)或空格為分隔符。
    M = csvread(filename)
  • dlmread
    它能夠指定分隔符(csvread只能讀取逗號(hào)分隔符和空格分隔符)矢空。如果行列數(shù)不一致的數(shù)據(jù)航罗,dlmread會(huì)自動(dòng)在空白數(shù)據(jù)處補(bǔ)0。
    M = dlmread(filename)
    M = dlmread(filename, delimiter)
  • fscanf
    按指定格式從文本文件中讀取數(shù)據(jù)屁药。
    A = fscanf(fileID,formatSpec); 通過(guò)指定讀取格式formatSpec從文本文件中讀取數(shù)據(jù)至列向量A粥血。fscanf會(huì)重復(fù)應(yīng)用格式字符串formatSpec直到文件指針到達(dá)文件末尾,如果讀取到不能匹配formatSpec的數(shù)據(jù)則讀取將自動(dòng)結(jié)束者祖。
    A = fscanf(fileID,formatSpec,sizeA);sizeA能夠指定讀取數(shù)據(jù)的大小立莉,當(dāng)讀取到sizeA大小的數(shù)據(jù)時(shí),文件指針會(huì)停止七问,讀取結(jié)束蜓耻。fscanf讀取的是列主序,通常讀取完還需要進(jìn)行轉(zhuǎn)置操作械巡。所要讀取的文本文件被文件標(biāo)識(shí)符fileID標(biāo)識(shí)刹淌,通過(guò)fopen函數(shù)可以獲取文件的fileID。當(dāng)結(jié)束讀取時(shí)讥耗,記得使用fclose函數(shù)關(guān)閉文件有勾。
  • textscan
    C = textscan(fileID,formatSpec)
    C = textscan(fileID,formatSpec,N)
    同fscanf一樣,fileID為文件標(biāo)識(shí)符古程,formatSpec為格式字符串蔼卡。N則是重復(fù)匹配formatSpec的次數(shù)。

1. 內(nèi)部數(shù)學(xué)常數(shù)

2. 基本數(shù)學(xué)運(yùn)算符

3. 關(guān)系運(yùn)算符

4. 常用內(nèi)部數(shù)學(xué)函數(shù)

5. 自定義函數(shù)-調(diào)用時(shí):

“[返回值列]=M文件名(參數(shù)列)”
function 返回變量=函數(shù)名(輸入變量)
注釋說(shuō)明語(yǔ)句段(此部分可有可無(wú))
函數(shù)體語(yǔ)句

6. 函數(shù)的復(fù)合運(yùn)算

compose(f,g)返回值為f(g(y))
compose(f,g,z)返回值為f(g(z))
compose(f,g,x,.z)返回值為f(g(z))
compose(f,g,x,y,z)返回值為f(g(z))

7. 因式分解

syms  表達(dá)式中包含的變量
factor(表達(dá)式)

8. 代數(shù)式展開(kāi)

syms  表達(dá)式中包含的變量
expand(表達(dá)式)

9. 合并同類(lèi)項(xiàng)

syms  表達(dá)式中包含的變量
collect(表達(dá)式挣磨,指定的變量)

10. 數(shù)學(xué)式化簡(jiǎn)

syms  表達(dá)式中包含的變量
simplify(表達(dá)式)

11. 變量替換

syms  表達(dá)式和代換式中包含的所有變量
subs(表達(dá)式雇逞,要替換的變量或式子荤懂,代換式)

12. 解方程

solve(’方程’,’變?cè)?

13. 解不等式

maple('maple中解不等式的命令')*
具體來(lái)說(shuō)有五種:
maple(' solve(不等式)')
maple(' solve(不等式塘砸,變?cè)? )
maple(' solve({不等式}节仿,變?cè)? )
maple(' solve(不等式,{變?cè)獇)' )
maple(' solve({不等式}掉蔬,{變?cè)獇)' )

14. 畫(huà)圖

(1)x=1:100;y=x.^2;plot(x.^2);
(2)ezplot('x.^2+y.^2-1');
(3)function fplottest
        fplot(@test,[-5,5])
            function y=test(x)
                y1=x(:).^2;
                y2=x(:);
                y=[y1,y2]

15. 求極限

  • 極限
    syms x
    limit(f(x), x, a)

  • 單側(cè)極限(左/右)
    syms x
    limit(f(x), x, a,'left'/'right')

16. 求導(dǎo)數(shù)

diff('f(x)')
diff('f(x)','x')
或者
Syms x
diff(f(x))
diff(f(x),x)

17. 求高階導(dǎo)數(shù)

diff('f(x)',n)
diff('f(x)','x',n)
或者
syms x
diff(f(x),n)
diff(f(x),x,n)

18. 求隱函數(shù)

maple('implicitdiff(f(x,y)=0,y,x)')*

20. 定積分廊宪、不定積分、廣義積分(int)

#定積分
syms x
int(f(x))
int(f(x),x)
#不定積分
syms x
int(f(x),a,b)
int(f(x),x,a,b)
  • 數(shù)值積分函數(shù):integral

q = integral(fun,xmin,xmax)
q = integral(fun,xmin,xmax,Name,Value)
其中fun為函數(shù)句柄女轿,xmin為積分下限箭启,xmax為積分上限,Name和Value是一些選項(xiàng)控制谈喳,包括誤差册烈、向量化積分等等。

q=@(k,w)w.^2/10.*coth(30*k)-k
v=@(w)fzero(@(k)q(k,w),1e3) %利用fzero求解k,相當(dāng)于顯式表達(dá)k
integral(v,0,10,'ArrayValued',1)
  • 離散點(diǎn)積分函數(shù):trapz

I=trapz(x,y)
其中 x和y分別是自變量和對(duì)應(yīng)函數(shù)值

#以 sin(x)在[0,pi]積分為例:
x=linspace(0,pi,1e3); %生成[0,pi]內(nèi)的一系列離散點(diǎn)
y=sin(x);
I=trapz(x,y)

21. 換元積分

22. 分部積分

23. 對(duì)數(shù)列和級(jí)數(shù)進(jìn)行求和

syms n
symsum(f(n), n ,a ,b )

24. 連乘

maple('product(f(n),n=a..b)')

25. 展開(kāi)級(jí)數(shù)

syms x
Taylor(f(x), x, n, a)

26. 積分變換

27. 解微分方程

dsolve('微分方程'婿禽,'自變量')
dsolve('微分方程'赏僧,'初始條件或邊界條件','自變量')

28. 解微分方程組

dsolve('微分方程組'扭倾,'自變量')
dsolve('微分方程組'淀零,'初始條件或邊界條件','自變量')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末膛壹,一起剝皮案震驚了整個(gè)濱河市驾中,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌模聋,老刑警劉巖肩民,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異链方,居然都是意外死亡持痰,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)祟蚀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)工窍,“玉大人,你說(shuō)我怎么就攤上這事前酿』汲” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵罢维,是天一觀的道長(zhǎng)淹仑。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么匀借? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任取试,我火速辦了婚禮,結(jié)果婚禮上怀吻,老公的妹妹穿的比我還像新娘。我一直安慰自己初婆,他們只是感情好蓬坡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著磅叛,像睡著了一般屑咳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弊琴,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天兆龙,我揣著相機(jī)與錄音,去河邊找鬼敲董。 笑死紫皇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腋寨。 我是一名探鬼主播聪铺,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼萄窜!你這毒婦竟也來(lái)了铃剔?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤查刻,失蹤者是張志新(化名)和其女友劉穎键兜,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體穗泵,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡普气,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了火欧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棋电。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖苇侵,靈堂內(nèi)的尸體忽然破棺而出赶盔,到底是詐尸還是另有隱情,我是刑警寧澤榆浓,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布于未,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏烘浦。R本人自食惡果不足惜抖坪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闷叉。 院中可真熱鬧擦俐,春花似錦、人聲如沸握侧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)品擎。三九已至埋合,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萄传,已是汗流浹背甚颂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秀菱,地道東北人振诬。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像答朋,于是被迫代替她去往敵國(guó)和親贷揽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容