目錄
前言上一篇向大家介紹了
「Matlab在高等數學上冊中的主要應用,
」可以說一旦掌握這些指令的用法,大部分一元函數求極限、泰勒展開、求導、求積分等類別的題目都可以搞定。
本文將介紹高等數學下冊中一部分Matlab常用指令,並用剛剛結束的2021年考研數學部分題目作為例子來演示。
假如你是大學生(二)我們知道,高等數學(或者微積分)上冊主要介紹一元函數的微積分,而下冊則主要是多元函數的微積分。
在Matlab中,關於多元函數微積分的許多指令與一元函數中的指令用法相似。下面將詳細介紹。
符號表達式首先還是要用到符號表達式,用來定義一個符號函數。之前說過,所有的符號表達式的定義都要從syms指令開始,比如你的表達式包含x,y兩個變量,那麼首先需要定義符號變量:
syms x y緊接著寫出你的符號表達式。下面以2021年考研數學一第17道大題為例,演示符號表達式的威力。
該題要求極限:
我們可以定義含有符號積分的表達式f:
f=(1+int(exp(x^2),0,y))/(exp(y)-1)-1/sin(y);
limit(f,y,0)求出極限為
是不是hin簡單?
繪製曲面圖學習多元函數微積分中很多時候需要「數形結合」,例如求曲面與平面的交線,三重積分中積分區域的確定等。
例如,以2021年考研數學一第19道大題為例,演示符號表達式快速繪製曲面圖的威力。
該題給出的曲線C是一個曲面:
和一個平面 的交線: syms x y z
figure
fsurf(x^2+2*y^2-6,[-10 10 -10 10])
hold on
fmesh(30-4*x-2*y,[-10 10 -10 10])
axis square其中,用到繪製符號三維曲面的函數fsurf和fmesh.得到:
這恰是空間中的一個橢圓。
解方程解代數方程(組)的求解是個永恆的話題,線性方程組很好解,直接利用線性代數理論即可。對於非線性方程組,在matlab裡面可以利用solve指令求解符號方程組(可以得到絕對的解析解,但是只對一些不太複雜的方程組有效),複雜的非線性方程組可以利用fzero和fsolve求解數值解。
例如,我們求解方程組:
syms x y
eqn1=x+y^3==10;
eqn2=x+y==4;
sol=solve(eqn1,eqn2,[x,y])
sol.x
sol.y得到:
可以看出,求出三組解,一組實數解,兩組複數解。
有時候我們不想要複數解,只想求實數解,這時候就需要用到一個很厲害的指令:assume(var,conditions),即:假定變量var具有condition條件,這些條件可以有real(實數),positive(正數),integer(整數)等等。
例如,對上面的問題,我們只要加上兩句指令:
assume(x,'real')
assume(y,'real')求解結果就會只有實數解:
求偏導數求偏導數是多元函數微積分最基本操作。求偏導還是用一元函數求導指令diff,只是需要嵌套使用。
以2021年考研數學一第20大題為例,演示matlab在複雜符號函數求偏導數方面的威力。
該題計算,其中:
能不能利用格林公式需要判斷是否成立:
syms x y
P=(x*exp(x^2+4*y^2)+y)/(x^2+4*y^2);
Q=(4*y*exp(x^2+4*y^2)-x)/(x^2+4*y^2);
PyQx=diff(P,y)-diff(Q,x)
simplify(PyQx)得到:
猛然一看好像求得的這串複雜結果並不為0,但是,
「遇到複雜表達式一定要想到simplify可以來幫忙!
」化簡過後得到:
完美!可以放心使用格林公式了
下一篇預告如果本文對你有用,歡迎點讚關注轉發!