朱國(guó)強(qiáng)
(紹興市第一中學(xué) 浙江 紹興 312000)
在1859年,中國(guó)清代數(shù)學(xué)家李善蘭開(kāi)始將英文“equation”——指含有未知數(shù)的等式——一詞翻譯為“方程”.
方程按照學(xué)術(shù)程度可以分為初等數(shù)學(xué)方程和高等數(shù)學(xué)方程.方程按照解的形式可以分為數(shù)值方程和符號(hào)方程.方程按照學(xué)科分類可以分為代數(shù)方程、幾何方程、三角方程、反三角方程、邏輯方程、微分方程、積分方程等.例如中學(xué)生熟悉的初等數(shù)學(xué)領(lǐng)域的代數(shù)學(xué)中的方程,可稱為初等代數(shù)方程,包括整式、分式方程,一元、多元方程,有理式、無(wú)理式方程等.
兩個(gè)或兩個(gè)以上的方程的組合叫做方程組.解方程組包括數(shù)值方程組運(yùn)算和符號(hào)方程組運(yùn)算.Matlab不僅僅以數(shù)值運(yùn)算見(jiàn)長(zhǎng),而且使用了Maple的內(nèi)核,符號(hào)運(yùn)算也極其厲害.見(jiàn)識(shí)過(guò)Matlab解符號(hào)方程組后,許多中學(xué)生深感驚奇.
(1)定義符號(hào)變量
Matlab提供了函數(shù)syms,一次可以定義多個(gè)符號(hào)變量.其一般格式為:syms arg1 arg2 …argn.
(2)符號(hào)表達(dá)式
Matlab內(nèi)置Solve函數(shù)提供了初等數(shù)學(xué)方程的求解方案.Solve函數(shù)隸屬于符號(hào)數(shù)學(xué)工具箱(Symbolic Math Toolbox).其用法為:
g = solve(eq)
g = solve(eq,var)
g = solve(eq1,eq2,..., ,eqn)
g = solve(eq1,eq2,...,eqn,var1,var2,...,varn)
其中,eqn為第n個(gè)方程的符號(hào)表達(dá)式,varn為第n個(gè)變量.
應(yīng)用Solve函數(shù)解方程通常給出的是解析解.想要獲得方程的數(shù)值解,有多種方法.第一種是應(yīng)用subs函數(shù),subs函數(shù)用于替換求值.第二種是應(yīng)用eval函數(shù),計(jì)算一個(gè)表達(dá)式的值.分別舉例說(shuō)明.
(1)Solve求出解析解,subs求出數(shù)值解
Subs函數(shù)的常見(jiàn)格式為R = subs(S) ,用調(diào)用函數(shù)的值或者M(jìn)atlab工作空間中的值來(lái)替代符號(hào)表達(dá)式S中出現(xiàn)的所有變量.
R = subs(S, new),用new來(lái)代替表達(dá)式S中的默認(rèn)變量;
R = subs(S,old,new) ,用new符號(hào)變量或數(shù)值或表達(dá)式來(lái)替代來(lái)符號(hào)表達(dá)式S中old符號(hào)變量或字符串表達(dá)式.
【例1】質(zhì)量為m=1 kg的金屬塊放在水平桌面上,在與水平方向斜向上成θ=37°,大小為F=10 N的拉力作用下,向右做直線運(yùn)動(dòng).已知金屬塊與桌面間的動(dòng)摩擦因數(shù)為μ=0.5.重力加速度g=10 m/s2.求金屬塊的加速度大?。?/p>
圖1
解析:該題屬于應(yīng)用牛頓運(yùn)動(dòng)定律解決問(wèn)題中的已知受力情況求運(yùn)動(dòng)情況的類型.主要方程為
Fcosθ-f=ma
Fsinθ+N-mg=0
f=μN(yùn)
第一步,建立模型,列方程組,求出解析解.
輸入?syms F f N miu thita m g a;
S=solve(′F*cos(thita)-f=m*a′,′F*sin(thita)+N=m*g′,′f=miu*N′,′a′,′f′,′N′);
a=simple(S.a)
解得a =(F*cos(thita)+miu*F*sin(thita)-miu*m*g)/m,其中simple函數(shù)用來(lái)簡(jiǎn)化表達(dá)式.
即Matlab解得
第二步,根據(jù)題意,代入數(shù)據(jù),得到數(shù)值解.
F=10;miu=0.5;thita=37*pi/180;g=10;
m=1;
a=subs(a)
解得a=5.995 4,即加速度大小為5.995 4 m/s2.
(2)Solve求出解析解,eval求出數(shù)值解
【例2】(2013年高考江蘇卷第13題)
如圖2所示,勻強(qiáng)磁場(chǎng)中有一矩形閉合線圈abcd,線圈平面與磁場(chǎng)垂直. 已知線圈的匝數(shù)N=100,邊長(zhǎng)ab=1.0 m,bc=0.5 m,電阻r=2 Ω. 磁感應(yīng)強(qiáng)度B在0~1 s內(nèi)從零均勻變化到0.2 T.在1~5 s內(nèi)從0.2 T均勻變化到-0.2 T,取垂直紙面向里為磁場(chǎng)的正方向.求:
(ⅰ)0.5 s時(shí)線圈內(nèi)感應(yīng)電動(dòng)勢(shì)的大小E;
(ⅱ)在1~5 s內(nèi)通過(guò)線圈的電荷量q;
(ⅲ)在0~5 s內(nèi)線圈產(chǎn)生的焦耳熱Q.
圖2
解析:
該題知識(shí)點(diǎn)為法拉第電磁感應(yīng)定律
電荷量
焦耳熱
Q=I2Rt
第一步,根據(jù)題意,建立變量,并賦數(shù)值.
syms L1 L2 r N t1 t2 t3 B0 B1 B2 E q Q
L1=1;L2=0.5;r=2;N=100;B0=0;B1=
0.2;B2=-0.2;t1=0.5;t2=1;t3=5;
第二步,建立模型,列方程組,求解方程.
A=solve(′E=N*(B1-B0)*L1*L2/(t2-0)′,′q=N*(B1-B2)*L1*L2/r′,′Q=(N*(B1-
E=eval(A.E)
q=eval(A.q)
Q=eval(A.Q)
解得E=10;q=10;Q=100.000 0.即感應(yīng)電動(dòng)勢(shì)的大小E=10 V ,電荷量q=10 C ,焦耳熱Q=100 J.
基本方法是solve(eq1,eq2,…,eqn,v1,v2,…,vn),即求解由表達(dá)式eq1,eq2,…,eqn組成的方程組,求解變量分別為v1,v2,…,vn.
【例3】(2008年高考全國(guó)Ⅰ卷第23題)
已知O,A,B,C為同一直線上的4點(diǎn),AB間的距離為L(zhǎng)1,BC間的距離為L(zhǎng)2,一物體自O(shè)點(diǎn)靜止起出發(fā),沿此直線做勻加速運(yùn)動(dòng),依次經(jīng)過(guò)A,B,C三點(diǎn).已知物體通過(guò)AB段與通過(guò)BC段所用時(shí)間相等,求O與A的距離.
解法一:(人工求解)
設(shè)物體加速度為a,經(jīng)過(guò)OA段時(shí)間為t,經(jīng)過(guò)AB段和BC段的時(shí)間均為T(mén),O與A間的距離為x.
對(duì)物體,OA段
(1)
(2)
(3)
聯(lián)立式(1)~(3),解得
解法二:(計(jì)算機(jī)求解)
輸入syms x a t T L1 L2 v1;
A.x
本題屬于方程個(gè)數(shù)少于未知數(shù)個(gè)數(shù)的情形,有5種以上的解法.教學(xué)實(shí)踐表明,一些學(xué)生列出方程組、求解,需要相當(dāng)長(zhǎng)的時(shí)間,有一定的難度,而用Matlab求解則無(wú)此困難.
通過(guò)以上例子可以看出,用Matlab解各類初等數(shù)學(xué)方程組是非常方便的,只要注意正確書(shū)寫(xiě)參數(shù)就可以了.
高中物理教師在教研或者指導(dǎo)學(xué)生競(jìng)賽,需要用到高等數(shù)學(xué)來(lái)分析解決問(wèn)題.一般常用的有積分、微分運(yùn)算,求解微分方程等.Matlab對(duì)問(wèn)題的描述和求解符合人們的思維方式和數(shù)學(xué)表達(dá)習(xí)慣,可以快速地求解高等數(shù)學(xué)方程.
函數(shù)int的用法為S=int (y,v,a,b),其中y是被積函數(shù),v是積分變量,a與b積分下、上限.不定積分的輸出結(jié)果是符號(hào)表達(dá)式,定積分的輸出結(jié)果是符號(hào)表達(dá)式或數(shù)值.
【例4】計(jì)算純電阻電路中正弦交流電i=Imsinωt在一個(gè)周期內(nèi)的平均功率和電流的有效值.電阻R已知.
解析:
瞬時(shí)功率p=i2R=Im2Rsin2ωt,一個(gè)周期內(nèi)的平均功率
運(yùn)用Matlab求解的程序如下:
syms Im omiga t R I
i=Im*sin(omiga*t);
(2*pi/omiga)
解得
即
又將p代入
I=simple(I)
解得
即有效值
dsolve函數(shù)用法:S = dsolve(eqn,cond),用初始或邊界條件cond求解常微分方程eqn.
【例5】如圖3所示,平行導(dǎo)軌上放置一金屬桿AB,質(zhì)量為m,長(zhǎng)為L(zhǎng),在導(dǎo)軌的上端接有電阻R.勻強(qiáng)磁場(chǎng)B垂直導(dǎo)軌平面向里.當(dāng)AB桿以初速度v0向運(yùn)動(dòng)時(shí),求:
(1)AB桿能夠移動(dòng)的距離;
(2)在移動(dòng)過(guò)程中電阻R上放出的焦耳熱.
圖3
解析:
輸入?syms v t B L R m v0
解得
即方程的特解為
輸入?syms v t B L R m v0 x
x=simple(x)
解得
即方程的特解為
當(dāng)時(shí)間t→∞時(shí),桿移動(dòng)距離為
(2)桿在移動(dòng)過(guò)程中產(chǎn)生的焦耳熱元為
整個(gè)運(yùn)動(dòng)過(guò)程中產(chǎn)生的焦耳熱為
輸入syms x v a B L m t v0 R
解得
【例6】如圖4所示,一個(gè)矩形的金屬線框,邊長(zhǎng)分別為a和b(b足夠長(zhǎng)).金屬線框的質(zhì)量為m,自感系數(shù)為L(zhǎng),忽略電阻.線框的長(zhǎng)邊與x軸平行,它以速度v0沿x軸的方向從磁場(chǎng)外進(jìn)入磁感應(yīng)強(qiáng)度為B0的均勻磁場(chǎng)中,B0的方向垂直矩形線框平面.求矩形線框在磁場(chǎng)中速度與時(shí)間的關(guān)系式v=v(t)和沿x軸方向移動(dòng)的距離與時(shí)間的關(guān)系式x=x(t).
圖4
解析:
由于b邊很長(zhǎng),所以線框只有右邊框切割磁感線,當(dāng)線框速度為v時(shí),產(chǎn)生的動(dòng)生電動(dòng)勢(shì)ε=B0av;當(dāng)線框中的電流為i時(shí),產(chǎn)生的自感電動(dòng)勢(shì)的大小為
根據(jù)歐姆定律得
ε+εL=iR
由于不計(jì)電阻,所以有
(4)
右邊框受力F=iaB0,根據(jù)牛頓第二定律,得
求導(dǎo)得
(5)
聯(lián)立式(4)、(5)得微分方程
初始條件當(dāng)t=0時(shí),v=v0,a=0.
輸入>>syms x v a B0 L m t v0
解得
即速度方程為
又由于
所以
初始條件t=0時(shí),x=0.
輸入syms x v a B0 L m t v0
(1/2)*t),t)
解得
即位移方程為
參考文獻(xiàn)
1 黃忠霖,黃京.Matlab 符號(hào)運(yùn)算及其應(yīng)用.北京:國(guó)防工業(yè)出版社,2004
2 朱國(guó)強(qiáng).應(yīng)用Matlab求解物理方程.中國(guó)教育信息化,2012(3)
3 朱國(guó)強(qiáng).高中物理培優(yōu)基礎(chǔ)教程(第二版).杭州:浙江大學(xué)出版社,2012,318~319,441~442