韓英++李雁飛++汪賢華++弓亞鑫++舒心
摘 要:復(fù)變函數(shù)課程的理論比較枯燥。論文設(shè)計(jì)了MATLAB軟件在復(fù)變函數(shù)教學(xué)中的幾個(gè)典型案例,將MATLAB引入課堂教學(xué),通過數(shù)學(xué)實(shí)驗(yàn),讓學(xué)生感受“看得見”的數(shù)學(xué),使得復(fù)變函數(shù)的理論學(xué)習(xí)達(dá)到事半功倍的效果。
關(guān)鍵詞:MATLAB 復(fù)變函數(shù) 泰勒級數(shù) 洛朗級數(shù)
中圖分類號:O174.55 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)11(b)-0121-03
“復(fù)變函數(shù)”課程是通信工程、電子工程、自動化等工科專業(yè)必修的專業(yè)基礎(chǔ)課,該課程理論性強(qiáng)、內(nèi)容抽象,工科學(xué)生普遍感到學(xué)習(xí)困難。為了解決這個(gè)問題,我們在復(fù)變函數(shù)的教學(xué)中引入MATLAB實(shí)踐內(nèi)容,使得復(fù)變函數(shù)的教學(xué)理論與實(shí)驗(yàn)相結(jié)合,教與學(xué)相結(jié)合,引導(dǎo)學(xué)生利用軟件對教學(xué)內(nèi)容進(jìn)行仿真,激發(fā)其學(xué)習(xí)積極性與主動性,提高其對于復(fù)變函數(shù)內(nèi)容的理解。該文就MATLAB在復(fù)變函數(shù)中的幾點(diǎn)應(yīng)用加以分析。通過計(jì)算機(jī)實(shí)現(xiàn)對復(fù)變函數(shù)主要計(jì)算問題的實(shí)驗(yàn),達(dá)到傳統(tǒng)理論教學(xué)無法實(shí)現(xiàn)的效果。
1 利用MATLAB進(jìn)行復(fù)變函數(shù)的簡單運(yùn)算
復(fù)數(shù)的表示式突出三角表示法和指數(shù)表示法,而這兩種表示法中輻角的計(jì)算公式較復(fù)雜,利用MATLAB可以把復(fù)數(shù)的實(shí)部,虛部,共軛復(fù)數(shù),輻角,模等利用簡單的命令求出。
例1、計(jì)算,,,,的值及實(shí)部,虛部,共軛復(fù)數(shù),輻角,模。
解:在MATLAB工具窗輸入以下矩陣
A=[((1+i)*(2-i)^2*(3-i)^3)/((3+4)^4*(2+i)^5) i^i i^(2^1/2) (-8)^(1/3) log(1+i)]
A= -0.0016+0.0005i 0.2079+0.0000i 0.0000+1.0000i 1.0000+1.7321i 0.3466+ 0.7854i
>>real(A)
-0.0016 0.2079
0 1.0000 0.3466
>> imag(A)
ans = 0.0005
0 1.0000 1.7321 0.7854
>> angle(A)
ans = 2.8578
0 1.5708 1.0472 1.1552
>> abs(A)
ans = 0.0017 0.2079 1.0000
2.0000 0.8585
>> conj(A)
ans=-0.0016-0.0005i 0.2079+0.0000i 0.0000-1.0000i 1.0000-1.7321i 0.3466-0.7854i
用MATLAB可直接計(jì)算出復(fù)數(shù)的四則運(yùn)算和初等函數(shù)的值。但對數(shù)函數(shù)和冪函數(shù)的運(yùn)算僅得出其主值,其多值函數(shù)的特性必須從理論推導(dǎo)得出。
例2、計(jì)算,,,,,。
解:在MATLAB工具窗鍵入
A=[sin(i) sin(i+2*pi) cos(i) cos(i+2*pi) exp(i) exp(i+2*pi*i)]
A=0.0000+1.1752i -0.0000+1.1752i 1.5431+0.0000i 1.5431+0.0000i
0.5403+ 0.8415i 0.5403+0.8415i
借助于MATLAB易驗(yàn)證復(fù)變函數(shù)的正弦、余弦函數(shù),指數(shù)函數(shù)均具有周期性。在復(fù)變函數(shù)中不成立。在教學(xué)中使得學(xué)生更易理解和接受這些復(fù)變函數(shù)的理論。
2 用MATLAB求方程的根
用MATLAB可以求出復(fù)雜的復(fù)方程的根,還可通過其圖形分析根的特性。
例3、解方程。
在MATLAB工具窗鍵入
S=solve('z^3=-8');
>> s=eval(S);
s=[s(1);s(2);s(3)]
s = -2.0000 + 0.0000i 1.0000 + 1.7321i 1.0000 - 1.7321i
x=2^(1/8)*(1:-0.01:-1);
x=2*(1:-0.01:-1);
y1=sqrt(4-x.^2);y2=-sqrt(4-x.^2);
plot(x,y1,'r-','LineWidth',3);hold on;grid on;
plot(x,y2,'r-','LineWidth',3);axis equal;
plot(s,'o');
axis([-2.5 2.5 -2.5 2.5]);
用解方程的方法可以求出-8的3次方根,有效的解決直接計(jì)算僅能計(jì)算主值的問題。而且從圖1中可以直觀的觀察出3個(gè)根是半徑為2的圓上的3個(gè)等分點(diǎn)。
例4、求解方程。
在MATLAB中鍵入
solve('log(z^4+z^3+z^2+z+1)=i')
ans =
0.36521623295345235866005943774426 + 0.64240444029684120856950031509163*i
0.19822799851622204112882959650434 - 1.130167947608232755068528868445*i
- 0.48211258491386994549037517293678 + 0.86253684186617047083403309081309*i
- 1.0813316465558044542985138613118 - 0.37477333455477892433500453745974*iendprint
從以上運(yùn)算可以看出,借助MATLAB強(qiáng)大的運(yùn)算功能可以解決許多復(fù)雜的計(jì)算問題。
3 用MATLAB將函數(shù)展開成泰勒和洛朗級數(shù)
例5、將函數(shù)在展開為泰勒和洛朗級數(shù)。
解:復(fù)變函數(shù)是級數(shù)展開中常用的一個(gè)函數(shù),且在處不解析。若將該函數(shù)在展開成泰勒級數(shù)和洛朗級數(shù),分析如下。
當(dāng)時(shí),它的泰勒展開式是。
當(dāng)時(shí),它的洛朗展開式是。
在MATLAB中工具窗輸入
m=30;r=(0:2*m)'/m;
theta=pi*(-m:m)/m;
z=r*exp(i*theta);
z(find(z==1))=NaN;
figure(1)
cplxmap(z,1./z);title('原函數(shù)');
由原函數(shù)圖,易得函數(shù)在處不解析。
在MATLAB工具窗鍵入
z1=z-1;
z1(abs(z1-1)>=1)=NaN;
f1=1;u1=1;
for k=1:100
u1=u1.*(z1-1);
f1=f1+u1;
end
figure(2)
subplot(1,2,1);cplxmap((z1-1),f1);title('泰勒展開');
z2=z;
z2(abs(z2-1)<=1)=NaN;
f2=1./(z2-1);u2=1./(z2-1);
for k=1:100
u2=u2./(z2-1);
f2=f2+u2;
end
figure(2)
subplot(1,2,2);cplxmap((z2-1),-f2);title('洛朗展開)
得在處的泰勒展開式及洛朗展開式。
從圖3中可以看出,泰勒級數(shù)展開圖形和洛朗級數(shù)展開圖形的結(jié)合就是對原函數(shù)的圖形擬合,圖形直觀的展示了函數(shù)的泰勒和洛朗展開的區(qū)分,為復(fù)變函數(shù)的理論教學(xué)提供了很好的直觀的解釋。
4 結(jié)語
除了以上設(shè)計(jì)的一些應(yīng)用,Matlab還可以深入復(fù)變函數(shù)教學(xué)的很多方面。在教與學(xué)的過程中,利用MATLAB軟件,學(xué)生將所學(xué)習(xí)的理論進(jìn)行模擬實(shí)驗(yàn),提高了學(xué)生學(xué)習(xí)興趣,增強(qiáng)了學(xué)生的編程動手能力,從而提高了復(fù)變函數(shù)課程的教學(xué)效果。
參考文獻(xiàn)
[1] 龐學(xué)誠,梁金榮,柴俊.復(fù)變函數(shù)[M].北京:科學(xué)出版社,2003.
[2] 劉建亞.大學(xué)數(shù)學(xué)教程—復(fù)變函數(shù)與積分變換(第二版)[M].北京:高等教育出版社,2011.
[3] 彭芳麟.數(shù)學(xué)物理方程的MATLAB解法與可視化[M].北京:清華大學(xué)出版社 2004.
[4] 常巍,謝光軍,黃朝峰.MATLAB R2007基礎(chǔ)與提高[M].北京:電子工業(yè)出版社,2007.
[5] 薛定宇,陳陽泉.高等應(yīng)用數(shù)學(xué)問題的MATLAB求解[M].北京:清華大學(xué)出版社,2004.
[6] 劉衛(wèi)國.MATLAB程序設(shè)計(jì)與應(yīng)用(第二版)[M].北京:高等教育出版社,2006.endprint