路世偉,劉洪宇,杜國鋒,曾 磊,張繼承
(長江大學(xué) 城市建設(shè)學(xué)院,湖北 荊州 434023)
橋涵水文課是一門實(shí)踐性很強(qiáng)的土木工程專業(yè)課程,對(duì)學(xué)生了解并進(jìn)行橋梁和涵洞勘察、水文計(jì)算以及基礎(chǔ)設(shè)計(jì),甚至將來從事相關(guān)行業(yè)的設(shè)計(jì)、施工具有重要的作用。但在目前的教學(xué)過程中,教學(xué)方法乃至教學(xué)效果均存在較大的問題[1]。教學(xué)方法以教師簡要介紹相關(guān)的知識(shí)、原理為主,學(xué)生被動(dòng)學(xué)習(xí),積極性不高,教學(xué)效果并不理想。大部分學(xué)生只是知道大概知識(shí)、原理,而并未從這個(gè)教學(xué)過程中完全掌握相關(guān)的計(jì)算如何操作,這對(duì)于培養(yǎng)土木工程專業(yè)學(xué)生的動(dòng)手能力是非常不利的[2-3]。因此,必須對(duì)橋涵水文課程的教學(xué)方法進(jìn)行改進(jìn),提高學(xué)生的參與程度,培養(yǎng)其動(dòng)手能力,響應(yīng)國家建設(shè)雙一流高校的戰(zhàn)略規(guī)劃[4-5]。
隨著計(jì)算機(jī)技術(shù)突飛猛進(jìn)的發(fā)展和大型復(fù)雜工程的建設(shè),傳統(tǒng)手工計(jì)算顯得越來越捉襟見肘,如何讓學(xué)生充分利用計(jì)算機(jī)的優(yōu)勢來鞏固知識(shí)結(jié)構(gòu)、提升計(jì)算效率是我們必須要思考的問題[6]。MATLAB軟件充分利用了計(jì)算機(jī)硬件發(fā)展的優(yōu)勢,給高等教育提供了一個(gè)額外的選擇。如能將MATLAB軟件融入專業(yè)課的教學(xué)過程,而學(xué)生在編制相關(guān)計(jì)算程序的過程中又可以對(duì)所學(xué)知識(shí)進(jìn)行充分掌握,對(duì)推動(dòng)現(xiàn)代高等教育改革將發(fā)揮著不可估量的作用。
1)語法規(guī)則簡單。基本數(shù)據(jù)單位是矩陣,指令表達(dá)式與數(shù)學(xué)、工程中常用的形式相似,初學(xué)者非常容易上手。
2)MATLAB基本的語言環(huán)境提供了數(shù)以千計(jì)的計(jì)算函數(shù),極大地提高了用戶的編程效率。
3)MATLAB是一種腳本式的解釋型語言,同時(shí)也支持對(duì)C,F(xiàn)ORTRAN,C++,JAVA等語言直接進(jìn)行編譯。
4)程序和數(shù)據(jù)文件可移植性較強(qiáng),與平臺(tái)無關(guān)。MATLAB軟件可以運(yùn)行在很多不同的計(jì)算機(jī)系統(tǒng)平臺(tái)上,如Windows Me/NT/2000/XP、很多不同版本的UNIX以及Linux。
適線法是將隨機(jī)變量樣本值及相應(yīng)經(jīng)驗(yàn)頻率在幾率紙上點(diǎn)繪出適當(dāng)頻率曲線以求得參數(shù)的一種方法,對(duì)于推算一定重現(xiàn)期的年徑流洪峰流量非常重要。但是如果手工計(jì)算的話,適線法就會(huì)顯得計(jì)算量特別大,在教學(xué)過程中學(xué)生往往會(huì)陷入巨大的計(jì)算量而不利于學(xué)生掌握該方法的核心內(nèi)容。本文以洪峰流量計(jì)算為例,展示MATLAB在橋涵水文課程教學(xué)中的應(yīng)用。
某流域有17年實(shí)測洪水資料,如表1所示。另調(diào)查到1936年曾發(fā)生一次大洪水,根據(jù)洪痕推算洪峰流量為10 000 m3/s。若取1936年和1998年的洪水為特大洪水,試用矩法計(jì)算二百年一遇的設(shè)計(jì)洪峰流量。
表1 洪水資料表
解:
總的特大洪水個(gè)數(shù)a=2,連續(xù)觀測序列中特大洪水個(gè)數(shù)l=1,最大觀測年限N=2000-1936+1=65,連續(xù)觀測年限n=2000-1984+1=17。
偏態(tài)系數(shù)計(jì)算:
第一次配線,取Cs=2CvN=0.6702,φ(0.5%,0.6702)=3.1959,
第二次配線,取Cs=3CvN=1.0053,φ(0.5%,1.0053)=3.4934,
第三次配線,取Cs=4CvN=1.3404,φ(0.5%,1.3404)=3.7787,
經(jīng)過三次配線以后發(fā)現(xiàn),第三次配線結(jié)果最符合要求,故選擇二百年一遇的設(shè)計(jì)洪峰流量為11 370 m3/s。
頻率與最大洪峰流量關(guān)系見圖1。
圖1 頻率與年最大洪峰流量關(guān)系圖
MATLAB計(jì)算程序如下:
clear; close; clc
x_0=[10000;8670;7700;6940;6830;6700;5320;5260;5180;5140;4510;4470;3900;3890;3490;3390;2840;520];
a=2;l=1;
N=65;
for n=1:a
p0(n,1)=n/N;
end
for n=a+1:length(x_0)
p0(n,1)=(n-a+1)/(length(x_0)-a+1);
end
p1=norminv(p0)-norminv(0.0001);
BB=[p1 x_0];
p=[0.1;0.5;1;5;10;15;20;25;30;35;40;45;50;55;60;65;70;75;80;85;90;95;99];
pp=norminv(0.01*p)-norminv(0.0001);
x_av=5017;
cv=[0.3351 0.3351 0.3351];
cs=[2*0.3351 3*0.3351 4*0.3351];
AA(:,1)=pp;
AA(:,2)=((cs(1)/2*gaminv(1-p*0.01,4/cs(1)^2,1)-2/cs(1))*cv(1)+1)*x_av;
AA(:,3)=((cs(2)/2*gaminv(1-p*0.01,4/cs(2)^2,1)-2/cs(2))*cv(2)+1)*x_av;
AA(:,4)=((cs(3)/2*gaminv(1-p*0.01,4/cs(3)^2,1)-2/cs(3))*cv(3)+1)*x_av;
plot(BB(:,1),BB(:,2),'ko','linewidth',1)
hold on
plot(AA(:,1),AA(:,2),'r','linewidth',1)
plot(AA(:,1),AA(:,3),'b--','linewidth',1)
plot(AA(:,1),AA(:,4),'m','linewidth',1)
hold off
h=findobj('type','axes'); set(h,'xtick',[]);
xx=[0.1 1 5 10 20 30 40 50 60 70 90 95 99];
yy=norminv(xx/100,0,1)-norminv(0.0001,0,1);
for i=1:size(yy,2)
line([yy(i),yy(i)],[0 12000],'color','k');
end
for i=1:12000/1000
line([0 yy(end)],[1000*i 1000*i],'color','k');
end
for i=1:size(xx,2)
text('string',num2str(xx(i)),'HorizontalAlignment','center','pos',[yy(i),-500]);
end
set(h,'xlim',[norminv(0.001,0,1)-norminv(0.01/100,0,1), norminv(0.99,0,1)-norminv(0.0001,0,1)],'ylim',[0,12000]);
legend('原始數(shù)據(jù)','第一次配線','第二次配線','第三次配線')
ylabel('年最大洪峰流量(m^3/s)')
xlabel('頻率P(%)','pos', [-norminv(0.0001,0,1)+norminv(0.30,0,1),-200])
1)MATLAB軟件的功能強(qiáng)大,對(duì)于一些運(yùn)算有著提高運(yùn)算效率的現(xiàn)實(shí)意義。
2)對(duì)于橋涵水文課程中的一些相關(guān)計(jì)算,也具有高效性、精確性的優(yōu)點(diǎn)。
3)在橋涵水文課程的教學(xué)中,教師通過軟件演示的教學(xué)方式,在教授知識(shí)的同時(shí)引入軟件的應(yīng)用,學(xué)生在編制相關(guān)計(jì)算程序的過程中可以將所學(xué)知識(shí)融會(huì)貫通,對(duì)推動(dòng)現(xiàn)代高等教育改革將發(fā)揮著較好的作用。
[ID:010174]