李冬鵬, 王明美, 宋 影, 孫茹茹
(合肥師范學院電子信息工程學院,安徽 合肥230061)
物理學是研究物質的基本結構、基本運動形式、相互作用和轉化規律的學科,是其他自然科學和工程技術的基礎。以物理學為主要內容的大學物理課程,是高等學校理工科學生的一門重要基礎課。在教學過程中,學生普通反映該門課程比較抽象,很多概念難以理解,空間圖形難以建立。MATLAB以矩陣作為數據操作的基本單位,提供了十分豐富的數值計算函數、符號計算功能和功能強大的繪圖功能,借助MATLAB模擬和實現結果的可視化,把抽象概念變為清晰,用直觀的數據和圖象形象的描述物理圖形和圖象,有助于學生對這門課程的學習。
本文應用MATLAB對于李薩如圖形、麥克斯韋速率分布、電偶極子的電勢和電場、楊氏雙縫干涉等實例進行了分析,給出了模擬圖形。
一個質點同時在X軸和Y軸上作簡諧運動,形成的圖形就是李薩如圖形。應用圖形函數plot[2],模擬出李薩如圖形。plot是繪制二維圖形的最基本函數,它是針對向量或矩陣的列來繪制曲線的,使用plot函數之前,必須首先定義好曲線上每一點的x及y坐標,基本格式是plot(x,y)。
已知質點在平面上同時參與x,y方向的簡諧振動:
x=3sin(5π·t+π/4)
y=2sin(5π·t+π/6)
繪制出質點在平面上的運動軌跡[1]。
分析題設,可知兩個簡諧振動的振幅比為2∶3,頻率比為3∶2
clear %清除變量
xm=2; %橫坐標范圍
ym=3; %橫坐標范圍
t=0:0.01:20; %設置時間范圍和步長
a1=2;a2=3; %設置振幅
wx=3*pi;wy=2*pi; %設置相位,頻率比3∶2
phi1=0;phi2=0; %設置初相位
x=a1*cos(wx*t+phi1); %橫坐標表達式
y=a2*sin(wy*t+phi2); %縱坐標表達式
plot(x,y); %繪制圖形
axis equal tight %使坐標刻度相等
title('李薩如圖形(\itv1:v2=3:2)”fontsize'16)%顯示標題
xlabel('\itx','fontsize',12) %顯示橫坐標
ylabel('\ity','fontsize',12) %顯示縱坐標

圖1 李薩如圖形示例
麥克斯韋速率分布曲線是根據麥克斯韋速率分布函數在一定條件下的曲線圖示。應用圖形函數plot模擬麥克斯韋速率分布曲線。
麥克斯韋經過理論研究,指出在平衡狀態中氣體分子速率分布函數的具體形式是f(v)=4π,其中的f(v)叫做麥克斯韋速率分布函數,表示速率分布函數的曲線叫做麥克斯韋速率分布曲線。[1]
用Matlab模擬氫分子在溫度分別為73K、273K和1273K時的速率分布曲線的程序如下:
m0=3.35e-27; %設置氫分子的質量
T1=73; %設置溫度
T2=273; %設置溫度
T3=1273; %設置溫度
k=1.38e-23; %玻爾茲曼常量取值
v=0:100:5000; %設置溫度范圍和步長
f1=4*pi*(v.^2).*(m0/(2*pi*k*T1))^1.5.*exp(-m0*(v.^2)/(2*k*T1));
f2=4*pi*(v.^2).*(m0/(2*pi*k*T2))^1.5.*exp(-m0*(v.^2)/(2*k*T2));
f3=4*pi*(v.^2).*(m0/(2*pi*k*T3))^1.5.*exp(-m0*(v.^2)/(2*k*T3));%分布函數表達式
plot(v,f1,v,f2,v,f3);hold on; %繪圖
title('麥克斯韋速率分布曲線示例”fontsize'16)%顯示標題
text(1200,1e-3,'{T73K}”fontsize',12); %文本注釋,位置,內容,字體
text(2300,0.5e-3,'{T73K}”fontsize',12);
text(4500,0.3e-3,'{T73K}”fontsize',12);
xlabel('\itv/(m/s)','fontsize',16) %顯示橫坐標
ylabel('\itf(v)','fontsize',16) %顯示縱坐標
所得圖形如圖2所示。

圖2 不同溫度下的氫分子的速率分布曲線
這是電磁學的一個典型圖示。由函數contour先畫出等勢線,再由流線函數gradient模擬畫出電場線。contour是等值線圖函數,基本格式是contour(Z)根據矩陣Z畫出等高線。gradient是求梯度函數,基本格式是gradient(f)用數值方法求函數f的梯度。
由電學知,電偶極子為帶等量異號的兩個點電荷系統。設兩個電荷間的距離為為正電荷,q2為負電荷,且|q2|/q1=1電偶極子的電勢為

電場強度可以根據電勢梯度計算

電偶極子的電場線和等勢線的畫法(等量異號點電荷對q2∶q1=1)程序如下:
clear %清除變量
q=1; %電量比
xm=2.5; %橫坐標范圍
ym=2; %橫坐標范圍
x=linspace(-xm,xm); %橫坐標向量
y=linspace(-ym,ym); %縱坐標向量
[X,Y]=meshgrid(x,y); %設置坐標網點
r1=sqrt((X+1).^2+Y.^2); %第一個正電荷到場點的距離
r2=sqrt((X-1).^2+Y.^2); %第二個正電荷到場點的距離
U=1./r1q./r2; %計算電勢
u=-4:0.5:4; %等勢線的電勢向量
figure %創建圖形窗口
contour(X,Y,U,u'--');hold on; %畫等勢線
hold on %保持圖像
plot(-1,0,'o','MarkerSize',12) %畫正電荷
plot(1,0,'o','MarkerSize',12) %畫負電荷
[Ex,Ey]=gradient(-U,x(2)x(1),y(2)y(1)); %用電勢梯度求場強的兩個分量
dth1=20; %第II、III象限電場線角度間隔
th1=(dth1:dth1:180-dth1)*pi/180; %電場線的起始角度
r0=0.1; %電場線起點半徑
x1=r0*cos(th1)-1; %電場線的起點橫坐標
y1=r0*sin(th1); %電場線的起點縱坐標
streamline(X,Y,Ex,Ey,x1,y1) %畫第II象限電場線
streamline(X,-Y,Ex,-Ey,x1,-y1) %畫第III象限電場線
dth2=dth1/q; %第I、IV象限電場線角度間隔
th2=(180-dth2:-dth2:dth2)*pi/180; %電場線的起始角度
x2=r0*cos(th2)+1; %電場線的起點橫坐標
y2=r0*sin(th2); %電場線的起點縱坐標
streamline(X,Y,Ex,Ey,x2,y2) %畫第I象限電場線
streamline(X,-Y,Ex,Ey,x2,-y2) %畫第IV象限電場線
axis equal tight %使坐標刻度相等
title('電偶極子的電場線和等勢線','fontsize',16) %顯示標題
xlabel('\itx/a(電勢單位:kq/a=1)(電荷比q2/q1=1)','fontsize',12) %顯示橫坐標ylabel('\ity/a','fontsize',12) %顯示縱坐標
運行程序,結果為圖3。

圖3 電偶極子的電場線和等勢線
在光學中,應用MATLAB對于干涉和衍射的相對光強分布和單色光的模擬圖樣是最為常用的,以下是雙縫干涉的示例。使用plot函數畫出相對光強分布,使用colormap函數[2]畫出灰度色圖。colormap函數是顏色控制函數用于顏色查看表,格式是colormap(m),其中m代表色圖矩陣。
設雙縫間距為d=4×10-5m,雙縫在θ方向的干涉光的光強為
clear %清除變量
lamda=5e-7; %設定波長
d=4e-5; %設定雙縫間距
a=-0.014*pi:0.00001:0.014*pi; %設定干涉角a的范圍和步長
b=4e-5*pi*sin(a)/lamda; %將干涉角a換算成b,b=πdsina/λ
I0=1; %設定光強初值
I=I0*(sin(2*b)./sin(b)).^2; %計算相對光強I/I0,I=I0*(sin2b/sinb)2
subplot(2,1,2);plot(sin(a),I/4,'b'); %在2行1列畫出相對光強分布圖
hold on; %保持圖像
xlabel('sin(a)'); %顯示橫坐標
ylabel('雙縫干涉相對光強\it I/I0'); %顯示縱坐標
axis([-0.037 0.047 0 1]); %設置坐標刻度
subplot(2,1,1);plot(sin(a),I,'b'); %在2行1列畫出相對光強分布圖
g=zeros(256,3); %放大圖像數據以覆蓋當前色圖的整個范圍,并顯示圖片for i=0:255
g(i+1,:)=(255-i)/255;
end
imagesc(I) %將輸入變量I顯示為圖像
colormap(g); %用g矩陣映射當前圖形的色圖
subplot(2,1,1);axis off %清除變量,
title('雙縫干涉模擬圖示','fontsize',16) %顯示標題

圖4 雙縫干涉模擬圖示
通過MATLAB數值計算和圖形模擬,能夠把抽象復雜的物理概念和公式以更加直觀的圖形圖像的形式呈現出來,從而激發學生學習大學物理的興趣,提高大學物理的教學質量。
[1]程守洙,江之永.普通物理學(第六版)[M].北京,高等教育出版社,2006(12):(上冊)37;182;(下冊)37-39;132.
[2]劉為國.MATLAB程序設計教程[M].北京:中國水利水電出版社,2005(3):99;125;296.
[3]柳承茂.MATLAB入門與應用[M].北京:科學出版社,1999(10):51.
[4]馬文淦.計算物理學[M].北京:科學出版社,2005(5):46.
[5]施妙根,顧麗珍.科學和工程計算基礎[M].北京:清華大學出版社,1999(8):424.