版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計 報 告</p><p> 課程名稱 數(shù)值分析 </p><p> 課題名稱 最速下降法 </p><p> 專 業(yè) 信息與計算科學(xué) </p><p> 班 級
2、 </p><p> 學(xué) 號 </p><p> 姓 名 </p><p> 指導(dǎo)教師 </p><p> 2013年 1月 日</p><p> 一、設(shè)計內(nèi)容與設(shè)計要求&l
3、t;/p><p><b> 1.)設(shè)計內(nèi)容:</b></p><p> 用最速下降法求最優(yōu)解:</p><p><b> 給定初始點</b></p><p><b> 2.設(shè)計要求:</b></p><p> 課程設(shè)計報告正文內(nèi)容</p>
4、;<p> 問題的描述及算法設(shè)計;</p><p> 算法的流程圖(要求畫出模塊圖);</p><p> 算法的理論依據(jù)及其推導(dǎo);</p><p> 相關(guān)的數(shù)值結(jié)果(通過程序調(diào)試),;</p><p> 數(shù)值計算結(jié)果的分析;</p><p> 附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨專?/p>
5、。</p><p><b> 書寫格式</b></p><p> a.要求用A4紙打印成冊</p><p> b.正文格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。</p><p> c.正文的內(nèi)容:正文總字數(shù)要求在3000字左右(不含程序原代碼)。</p><
6、;p> d.封面格式如下頁。</p><p><b> 考核方式</b></p><p> 指導(dǎo)老師負責(zé)驗收程序的運行結(jié)果,并結(jié)合學(xué)生的工作態(tài)度、實際動手能力、創(chuàng)新精神和設(shè)計報告等進行綜合考評,并按優(yōu)秀、良好、中等、及格和不及格五個等級給出每位同學(xué)的課程設(shè)計成績。具體考核標(biāo)準(zhǔn)包含以下幾個部分:</p><p> a.平時出勤 (占
7、10%)</p><p> b.系統(tǒng)需求分析、功能設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計及程序總體結(jié)構(gòu)合理與否(占10%)</p><p> c.程序能否完整、準(zhǔn)確地運行,個人能否獨立、熟練地調(diào)試程序(占40%)</p><p> d.設(shè)計報告(占30%)</p><p> 注意:不得抄襲他人的報告(或給他人抄襲),一旦發(fā)現(xiàn),成績?yōu)榱惴帧?lt;/p&g
8、t;<p> e.獨立完成情況(占10%)。</p><p><b> 課程驗收要求</b></p><p> a.判定算法設(shè)計的合理性,運行相關(guān)程序,獲得正確的數(shù)值結(jié)果。</p><p><b> b.回答有關(guān)問題。</b></p><p> c.提交課程設(shè)計報告。<
9、/p><p> d.提交軟盤(源程序、設(shè)計報告文檔)。</p><p> e.依內(nèi)容的創(chuàng)新程度,完善程序情況及對程序講解情況打分。</p><p><b> 三、進度安排</b></p><p> 班級: 信息與計算科學(xué):1101、1102、1103</p><p><b> 主講
10、教師: </b></p><p><b> 輔導(dǎo)教師: </b></p><p><b> 上機時間安排:</b></p><p> 第17教學(xué)周 (課程設(shè)計算法設(shè)計) </p><p> 星期一: 8:10---11:50 14:10---17:30 1--A--
11、404</p><p> 星期二: 10:10---11:50 15:20---17:30 1--A--404</p><p> 星期三: 8:10---11:50 14:10---17:30 1--A--404</p><p> 星期四: 8:10---10:50 14:10---17:30 1--A--404</p>
12、<p> 星期五: 8:10---11:50 14:10---17:30 1--A--404</p><p> 第18教學(xué)周 (課程設(shè)計算法設(shè)計與實現(xiàn)、報告撰寫)</p><p> 星期一: 8:10---11:50 14:10---17:30 1--A--404</p><p> 星期二: 10:10---11:50
13、 15:20---17:30 1--A--404</p><p> 星期三: 8:10---11:50 14:10---17:30 1--A--404</p><p> 星期四: 8:10---10:50 14:10---17:30 1--A--404</p><p> 星期五: 8:10---11:50 14:10---1
14、7:30 1--A--404</p><p> 課程設(shè)計算法設(shè)計答辯與報告提交、成績評定</p><p> 星期六: 8:10---11:50 14:10---17:30 1--A--404</p><p> 星期日: 8:10---11:50 14:10---17:30 1--A--404</p><p> 注
15、: 由于系部機房已排滿,故采用在教學(xué)樓教室,學(xué)生自帶手提電腦進行本課程設(shè)計。</p><p><b> 目錄</b></p><p><b> 一、摘要1</b></p><p><b> 二、問題的提出1</b></p><p><b> 三、算法分析
16、1</b></p><p><b> 四、計算步驟2</b></p><p><b> 五、流程圖3</b></p><p><b> 六、運行測試3</b></p><p><b> 七、程序源碼5</b></p>
17、<p> 理學(xué)院課程設(shè)計評分表10</p><p><b> 一、摘要</b></p><p> 在數(shù)值分析中,數(shù)值積分在實際生活運用當(dāng)中十分廣泛,比如在大氣科學(xué)和動力氣象學(xué)中有著舉足輕重的地位。本文涉及的是用最速下降法求解非線性方程組,對最速下降法的原理,計算步驟,以及計算過程的流程圖都做了詳細的解釋。算法運用的是JAVA,JAVAWeb,語言
18、來實現(xiàn)的。</p><p><b> 二、問題的提出</b></p><p> 用最速下降法求最優(yōu)解:</p><p><b> 給定初始點</b></p><p><b> 三、算法分析</b></p><p> 最速下降法又稱為梯度法,是1
19、847年由著名數(shù)學(xué)家Cauchy給出的。他是解析法中最古老的一種,其他解析方法或是它的變形,或是受它的啟發(fā)而得到的,因此它是最優(yōu)化方法的基礎(chǔ)。</p><p> 設(shè)無約束問題中的目標(biāo)函數(shù)一階連續(xù)可微。</p><p> 最速下降法的基本思想是:從當(dāng)前點出發(fā),取函數(shù)在點處下降最快的方向作為我們的搜索方向.由的Taylor展式知</p><p> 略去的高階無窮小
20、項不計,可見取時,函數(shù)值下降得最多。于是,我們可以構(gòu)造出最速下降法的迭代步驟。</p><p> 在求解非線性方程組 的一組根。首先是定義一個目標(biāo)函數(shù) 使目標(biāo)函數(shù)達到最小的是我們尋找的一組解,這是非線性最小二乘法問題。</p><p> 如果第步求得一組解,使得 </p><p> 則認為是原方程組滿足一定精度的要
21、求的一組解。</p><p><b> 四、計算步驟</b></p><p> 最速下降法求解非線性方程組實根的計算過程</p><p> 選取一組初值x0,x1,x2,…</p><p><b> 計算目標(biāo)函數(shù)值</b></p><p> 若F<ε,則,即為
22、方程組的一組實根,過程結(jié)束;否則繼續(xù);</p><p> 計算目標(biāo)函數(shù)在(x0,x1,x2,…)點的偏導(dǎo)數(shù),i=0,1,...,n-1</p><p> (5)計算,i=0,1,…,n-1</p><p> (6)計算,i=0,1,…,n-1</p><p><b> 其中λ=F/D</b></p>
23、<p> 重復(fù)(1)~(6)歩,知道滿足精度要求為止。</p><p> 在上述過程中,如果D=0,則說明遇到了目標(biāo)函數(shù)的局部極值點,此時可改變初值再重新計算。</p><p><b> 五、流程圖</b></p><p> 下面根據(jù)最速下降法計算步驟畫出流程圖:</p><p><b>
24、 六、運行測試</b></p><p> 1.啟動程序后,顯示的調(diào)試界面</p><p> 2.在精度的下拉欄中選取合適的精度</p><p> 例1:精度為:0.0000001,運行結(jié)果為:</p><p> 例2:精度為:0.000000001,運行結(jié)果為:</p><p><b>
25、 七、程序源碼</b></p><p><b> 1:程序主類</b></p><p> import java.util.ArrayList;</p><p> import java.util.List;</p><p> import java.util.Map;</p><
26、p> import com.opensymphony.xwork2.ActionContext;</p><p> import com.opensymphony.xwork2.ActionSupport;</p><p> public class NLEquations extends ActionSupport{</p><p> privat
27、e double eps;</p><p> public double getEps() {</p><p> return eps;</p><p><b> }</b></p><p> public void setEps(double eps) {</p><p> this.
28、eps = eps;</p><p><b> }</b></p><p> public String solutionQuation(){</p><p> NLEquationsBiz nleqbiz = new NLEquationsBiz();</p><p> double[] x={1.5,7.5,
29、-6.0};</p><p> List answer = new ArrayList();</p><p> ActionContext context = ActionContext.getContext();</p><p> Map request = (Map)context.get("request");</p>
30、<p> if(nleqbiz.getRootsetGrad(3, x, 600, eps)){</p><p> for(int i=0;i<3;++i){</p><p> answer.add(x[i]);</p><p> System.out.println(x[i]);</p><p><b>
31、 }</b></p><p> request.put("answer", answer);</p><p><b> }else{</b></p><p> System.out.println("求解失??!");</p><p> answer.add(&q
32、uot;The solution is not exist!");</p><p> request.put("answer", answer);</p><p><b> }</b></p><p> return SUCCESS;</p><p><b> }</
33、b></p><p><b> }</b></p><p> 定義非線性方程組的類</p><p> public class NLEquationsBiz {</p><p><b> /**</b></p><p> * @param n 方程的個數(shù),
34、也是未知數(shù)的個數(shù)</p><p> * @param x 存放初值</p><p> * @param nMaxIt 迭代次數(shù)</p><p> * @param eps精度控制(精確值)</p><p><b> * @return</b></p><p><b>
35、 */</b></p><p> public boolean getRootsetGrad(int n,double[] x,int nMaxIt,double eps){</p><p><b> int l,j;</b></p><p> double f,d,s;</p><p> doubl
36、e [] y = new double[n];</p><p> l = nMaxIt;</p><p> f= func(x,y);</p><p> while(f>=eps){</p><p><b> l=l-1;</b></p><p><b> if(l==0
37、){</b></p><p> return true;</p><p><b> }</b></p><p><b> d=0.0;</b></p><p> for(j=0;j<=n-1;j++){</p><p> d=d+y[j]*y[j]
38、;</p><p><b> }</b></p><p> if(d+1.0==1.0){</p><p> return false;</p><p><b> }</b></p><p><b> s=f/d;</b></p>
39、<p> for(j=0;j<=n-1;j++){</p><p> x[j]=x[j]-s*y[j];</p><p><b> }</b></p><p> f=func(x,y);</p><p><b> }</b></p><p> r
40、eturn nMaxIt>1;</p><p><b> }</b></p><p> public double func(double[]x,double[]y){</p><p> double z,f1,f2,f3,df1,df2,df3;</p><p> f1=x[0]-5.0*x[1]*x[
41、1]+7.0*x[2]*x[2]+12.0;</p><p> f2=3.0*x[0]*x[1]+x[0]*x[2]-11.0*x[0];</p><p> f3=2.0*x[1]*x[2]+40.0*x[0];</p><p> z=f1*f1+f2*f2+f3*f3;</p><p><b> df1=1.0;</
42、b></p><p> df2=3.0*x[1]+x[2]-11.0;</p><p><b> df3=40.0;</b></p><p> y[0]=2.0*(f1*df1+f2*df2+f3*df3);</p><p> df1=10.0*x[1];</p><p> df2
43、=3.0*x[0];</p><p> df3=2.0*x[2];</p><p> y[1]=2.0*(f1*df1+f2*df2+f3*df3);</p><p> df1=14.0*x[2];</p><p><b> df2=x[0];</b></p><p> df3=2.0*
44、x[1];</p><p> y[2]=2.0*(f1*df1+f2*df2+f3*df3);</p><p><b> return z;</b></p><p><b> }</b></p><p><b> }</b></p><p>
45、3:算法分析的界面程序</p><p> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%></p><p><b> <%</b></p><p> String path
46、= request.getContextPath();</p><p> String basePath = request.getScheme() + "://"</p><p> + request.getServerName() + ":" + request.getServerPort()</p><p> +
47、path + "/";</p><p><b> %></b></p><p><b> <html></b></p><p><b> <head></b></p><p> <title>最速下降法--算
48、法分析</title></p><p><b> </head></b></p><p><b> <body></b></p><p><b> <center></b></p><p> <jsp:include
49、 page="index.jsp"></jsp:include></p><p><b> <div></b></p><p> <img src="img/1.png"></p><p><b> </div></b>&l
50、t;/p><p><b> </center></b></p><p><b> </body></b></p><p><b> </html></b></p><p><b> 4:計算步驟界面</b></
51、p><p> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%></p><p><b> <%</b></p><p> String path = request.getCon
52、textPath();</p><p> String basePath = request.getScheme() + "://"</p><p> + request.getServerName() + ":" + request.getServerPort()</p><p> + path + "/&q
53、uot;;</p><p><b> %></b></p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p><p><b> <html></b></p>
54、<p><b> <head></b></p><p> <title>最速下降法--計算步驟</title></p><p><b> </head></b></p><p><b> <body></b></p&g
55、t;<p><b> <center></b></p><p> <jsp:include page="index.jsp"></jsp:include></p><p><b> <div></b></p><p> <img
56、 src="img/8.png"></p><p><b> </div></b></p><p><b> </center></b></p><p><b> </body></b></p><p><
57、;b> </html></b></p><p><b> 5:算法流程圖界面</b></p><p> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%></p>
58、<p><b> <%</b></p><p> String path = request.getContextPath();</p><p> String basePath = request.getScheme() + "://"</p><p> + request.getServerNa
59、me() + ":" + request.getServerPort()</p><p> + path + "/";</p><p><b> %></b></p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Trans
60、itional//EN"></p><p><b> <html></b></p><p><b> <head></b></p><p> <title>最速下降法--計算流程圖</title></p><p><b>
61、; </head></b></p><p><b> <body></b></p><p><b> <center></b></p><p> <jsp:include page="index.jsp"></jsp:includ
62、e></p><p><b> <div></b></p><p> <img src="img/3.png"></p><p><b> </div></b></p><p><b> </center>&
63、lt;/b></p><p><b> </body></b></p><p><b> </html></b></p><p><b> 6:實例界面</b></p><p> <%@ page language="jav
64、a" import="java.util.*" pageEncoding="utf-8"%></p><p> <%@taglib uri="/struts-tags" prefix="s" %></p><p><b> <%</b></p&g
65、t;<p> String path = request.getContextPath();</p><p> String basePath = request.getScheme() + "://"</p><p> + request.getServerName() + ":" + request.getServerPort
66、()</p><p> + path + "/";</p><p><b> %></b></p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p><p>&l
67、t;b> <html></b></p><p><b> <head></b></p><p> <title>最速下降法--實例</title></p><p><b> </head></b></p><p>
68、<b> <body></b></p><p><b> <center></b></p><p> <jsp:include page="index.jsp"></jsp:include></p><p> <img src="i
69、mg/9.png" width="200px" height="200px"><br></p><p> 初始值:x={1.5,7.5,-6.0}<br></p><p> <s:form action="emp" method="get"></p&
70、gt;<p> <!--<s:textfield label="精度" name="eps"/>--></p><p> <!--<s:select label="精度" list="{'0.0000000001','0.000000001','0.0
71、0000001','0.0000001','0.000001','0.00001'}" name="eps"></s:select>--></p><p> <s:select label="精度" list="#{'0.0000000001':
72、9;0.0000000001','0.000000001':'0.000000001','0.00000001':'0.00000001','0.0000001':'0.0000001','0.000001':'0.000001','0.00001':'0.00001'}
73、" name="eps"></s:select></p><p> <s:submit value="計算"/></p><p><b> </s:form></b></p><p> <s:if test="#request.an
74、swer not in {null}"></p><p><b> 結(jié)果為:<br></b></p><p> <s:iterator value="#request.answer" var="ans"></p><p> ${ans}<br>&l
75、t;/p><p> </s:iterator></p><p><b> </s:if></b></p><p><b> </center></b></p><p><b> </body></b></p>&
76、lt;p><b> </html></b></p><p> 理學(xué)院課程設(shè)計評分表 </p><p> 課程名稱: </p><p> 教師簽名: </p><p> 日 期: &l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 最優(yōu)化課程設(shè)計--最速下降法算法分析與實現(xiàn)
- 牛頓法與最速下降法
- 改進的預(yù)條件最速下降法求解P-Laplacian方程.pdf
- 黎曼流形上帶步長因子的最速下降法和牛頓法.pdf
- 線性方程組的最速下降法與共軛梯度法
- 基于改進最速下降法的集裝箱班輪船期設(shè)計優(yōu)化研究.pdf
- 語法分析程序遞歸下降法
- 數(shù)值分析課程設(shè)計
- 數(shù)值分析課程設(shè)計
- 數(shù)值分析課程設(shè)計
- 編譯課程設(shè)計-遞歸下降語法分析
- 數(shù)值分析課程設(shè)計報告
- 數(shù)值分析課程設(shè)計報告
- 數(shù)值分析課程設(shè)計題目
- 數(shù)值分析課程設(shè)計報告書
- 地鐵車站ansys數(shù)值分析課程設(shè)計
- 編譯原理課程設(shè)計---ll(1)遞歸下降分析器
- 數(shù)值逼近課程設(shè)計
- 數(shù)值分析課程設(shè)計說明書
- 數(shù)值計算課程設(shè)計
評論
0/150
提交評論