
使用了Matlab代碼,化簡平時遇到的計算問題,也可以用于驗算結果
來自211工科專業2學分復變函數與積分變換課程
求復角主值
sym(angle(待求復數))%公式
sym(angle(1+sqrt(3)*i))%舉例
代入化簡
將
syms f z
f=1/(z*(z+1));%某一函數f(z)
f=subs(f,z,1/z);%可以把1/z換成任意關系式
f=simplify(f/(z^2));
一維積分計算
簡單的積分計算,matlab中不加;即可顯示符號型變量,使用double()函數可以轉化為數值型顯示。
syms x z(x) %定義關于x的函數z
u=@(x)3*(i*x^2-x^2);%某函數
jf1=int(u,x,[0,i]);%這里可以是定積分、不定積分、變上限積分,只需要在[]內更改
jf1%符號型顯示
double(jf1)%數值型顯示
級數求和
用于計算級數是否收斂、條件收斂、絕對收斂。對目標級數s(n)判斷是否收斂直接使用symsum()級數求和函數,如果需要判斷是否絕對收斂時使用abs()函數取模即可。
syms s n
s=@(n)(8^n)/factorial(n);%factorial()階乘函數
s=@(n)abs(((-1)^n)/n);
qh=symsum(s,n,1,inf)
double(qh)
二次積分
連續計算兩次積分的基礎計算,詳細見「概率論」部分
低薪小明:「概率論」基礎計算代碼?zhuanlan.zhihu.com
syms x y z(x,y)
u=@(x,y)6-x-y;
jf1=int(u,y,[2,3-x]);
jf2=int(jf1,x,[0,1]);
%jf=int(z,x,[0,inf]);
jf1
jf2
%double(jf)
一階、二階微分計算
經典題型:由u(x,y)構造解析函數f(z),首先對u相應的求導,然后由于解析函數的性質對v積分,最終化簡得到f(z).
clc
syms x y u
u=@(x,y)x^2-y^2+x*y;
ux=diff(u,x)%u對x求導
uy=diff(u,y)%u對y求導
vx=diff(u,x,2)
vy=diff(u,y,2)
vjfy=int(ux,y)
vx=diff(vjfy,x)
普通求導并代入計算
結合高階求導公式計算結果,先求導,再將相應的z0代入求值,非常簡便。
syms f z
f=1/sin(z);
df=diff(f,z)
subs(df,z,0)
普通極限
顯而易見,這用來求一個函數的極限
- 用于判斷極限是否存在
- 判斷是否收斂
- 判斷奇點類型
- 求留數
- 等等
syms f n
f=@(n)(1+1/n)^n;
limit(f,n,inf)%這里也可以計算在某一點的極限,不一定是無窮∞
三角極限
用于含三角函數的留數計算,不常用
syms f z
for k=0:1:10f=@(z)(z-k*pi)/sin(z);limit(f,z,k*pi)
end
對圓積分
在圓上的積分,用于第三章、第五章的積分計算,不過使用柯西積分公式、高階求導公式或留數公式等等也能算出。
syms seita
u=@(seita)exp(seita.*j);%圓的指數是方程
f=@(seita)exp(-1*j*seita);%被積函數
I=int(f*diff(u,seita),seita,0,pi);
保形映射公式計算
針對第六章知道幾對映射點求保形映射后的點,只是簡單的化簡計算,在代碼中輸入初始點就行。
clc
syms z w(z);
w=(z+2)*i/(z-2);
w1=subs(w,z,0)
scatter(real(w1),imag(w1));
hold on
w2=subs(w,z,1)
scatter(real(w2),imag(w2));
hold on
w3=subs(w,z,-1)
scatter(real(w3),imag(w3));
hold on
w4=subs(w,z,-i)
scatter(real(w4),imag(w4));
hold on
%zuo=expand((w+i)/((w+3*i))*4)
%you=expand(z/(2*(z-1)))
保形映射畫圖
針對第六章對復平面某一區域求保形映射后的區域,在第一行的x和y分別輸入21個表示該區域邊界的離散點,并在循環中輸入映射函數,即可得到映射后圖形。
不過這里有一個限制條件:初始區域只能是方形區域,對圓形區域或者三角區域無法處理,歡迎大家提出寶貴的改進意見。
x=-10:1:10;y=linspace(-pi,0,21);w=zeros(1,441);
for j=1:20for k=1:21w((j-1)*21+k)=exp(x(j)+y(k)*i);end
end
realw=real(w);
imagw=imag(w);
scatter(realw,imagw);


