第一篇:利用數值計算分析數據嵌套函數教學設計
利用數值計算分析數據
三維目標:
1,能使用圖表處理工具軟件加工表格信息,表達意圖。2,掌握數據加工處理的基本方法。3,掌握加工處理的技巧。
4,感受利用圖表工具軟件加工處理信息的強大功能。
5,鍛煉學生操作技能,培養合作精神及解決實際問題的能力。6,提高信息技術素養。
教學重點:
(1)用圖表處理工具軟件加工表格信息的基本過程和方法。
(2)根據任務需求,利用合適的圖表處理工具軟件加工表格信息,并以恰當的呈現方式表達意圖。
(3)通過解決實際問題,培養同學們在以后的工作和生活中解決實際問題的能力。
教學難點:
如何根據任務需求,熟練使用圖表處理等工具軟件加工信息,表達意圖。
教學方法:
任務驅動、講解、演示、指導
學法:
預習、聽講、練習、探究、互助
教學流程設計:
功能介紹-需求分析—任務布置-解決問題-學生練習-上交作業-成果展示-課后作業。
導入:
同學們會創建表格了嗎?用表格來展示信息簡單、直觀、清晰。但是,有時候僅用表格展示信息會顯得蒼白無力,如果對表格信息進行再加工,獲取新的信息,可能會產生新的價值,效果更好,會給同學們帶來驚喜。下面請同學們通過完成一個任務看一看。
? 在這里任務如下,請同學們幫助完成它。? 1,快速判斷與計算。(通過打開桌面上教師發放的學習資料完成任務)? 2,根據需要獲取詳細、準確的信息。
? 3,對信息進行加工處理獲取新信息,得到新的價值。
學生解決問題的過程:
學生根據教師設計的任務,發放的資料研究問題,分析問題,探討問題,解決問題。老師觀察,幫助,引導,特別注意對學習困難的學生、興趣不濃的學生的幫助、引導和監督。另外,可以呈現學生的解決辦法。
教師演示:(老師有針對性地進行演示)
任務:將身份證號碼轉換成年齡
目的:根據一定的信息需求,完成任務,達到目的。具體知識點:
1,left()函數:
LEFT 基于所指定的字符數返回文本字符串中的第一個或前幾個字符。
LEFT(text,num_chars)Text
是包含要提取字符的文本字符串。Num_chars
指定要由 LEFT 所提取的字符數。? Num_chars 必須大于或等于 0。
? 如果 num_chars 大于文本長度,則 LEFT 返回所有文本。? 如果省略 num_chars,則假定其為 1。
2,right()函數:
RIGHT 根據所指定的字符數返回文本字符串中最后一個或多個字符。
語法:
RIGHT(text,num_chars)Text
是包含要提取字符的文本字符串。Num_chars
指定希望 RIGHT 提取的字符數。說明:
? Num_chars 必須大于或等于 0。
? 如果 num_chars 大于文本長度,則 RIGHT 返回所有文本。? 如果忽略 num_chars,則假定其為 1。
3,嵌套函數:把一個函數作為另一個函數的組成部分(元素)參與運算。
在某些情況下,您可能需要將某函數作為另一函數的參數使用。例如,下面的公式使用了嵌套的 AVERAGE 函數并將結果與值 50 進行了比較。
有效的返回值:當嵌套函數作為參數使用時,它返回的數值類型必須與參數使用的數值類型相同。例如,如果參數返回一個 TRUE 或 FALSE 值,那么嵌套函數也必須返回一個 TRUE 或 FALSE 值。否則,Microsoft Excel 將顯示 #VALUE!錯誤值。
嵌套級別限制:公式可包含多達七級的嵌套函數。當函數 B 在函數 A 中用作參數時,函數 B 則為第二級函數。例如,AVERAGE 函數和 SUM 函數都是第二級函數,因為它們都是 IF 函數的參數。在 AVERAGE 函數中嵌套的函數則為第三級函數,以此類推。
學生練習、教師指導:
1,2,3,發送作業給學生練習。教師指導。
請部分學生對公式進行表述。部分學生幫助其他同學指出錯誤所在。
探究:
請已經完成操作的同學將left()和right()函數交換一下位置來解決把身份證號碼轉換成年齡的問題。
要求:可以以兩人為一小組進行探究。
上交作業:
1,指導學生上交作業的方法。
2,學生完成任務。
3,教師指導學生保存并上交作業。
展示成果:
1,通過學生上交的作業完成情況,全體同學欣賞,查看,發現和解決問題。2,教師對學生完成的情況進行展示、點評、講解等。
課堂小結:
本節課主要的學習目的是深化對圖表加工處理軟件的認識,了解它對信息強大的加工處理能力,能夠把舊信息進行加工處理,獲取新信息,產生新價值。二是培養操作能力,增強學習興趣。三是培養探究精神,不怕吃苦。四是提高認識,增強學習信心。為下一步好好學習奠定基礎。五是提高信息素養。
課后作業:
? 1,請同學探究并解決用mid()函數解決把身份證號碼轉換為實際年齡的問題。
? 2,復習“利用數值計算分析數據”所學內容。
? 3,完成“中考成績統計表”工作表中要求解決的問題。
第二篇:使用函數計算數據教學設計
使用函數計算數據教學設計
教材分析:
本節課是電子工業出版社出版的信息技術八年級(下)第四單元在Excel中進行數據計算的第二課時。《使用函數計算》一課是在學生學習了《使用公式計算數據》,掌握了在Excel中基本的數據計算方法后,學習的另外一種對Excel數據進行計算的內容,同時也是學生利用Excel軟件處理數據的一個基本的、重要的內容。本節課的內容是函數在它與EXCEL前面所講的單元格地址緊密聯系,是它的延續;這部分內容在整冊書中是重點也是難點,對于整個EXCEL的數據處理而言,它是一個基礎。本節課實用性很強,在實際生活當中有很多運算都可以通過EXCEL的函數來解決,所以對學生以后的工作學習都顯得很重要。學生分析:
八年級的學生已經掌握了一定的數學公式運算,而且他們有一定的自學能力和動手能力,學生對微機興趣濃厚,但是,僅有熱情是不夠的,大多數學生基礎差;在前面的學習中,學生已經掌握了Excel的一些基本概念和基本操作,但對數據處理的認識不多,學生在學習這部分知識之前,通過利用公式進行數據計算,初步具有了對數據進行處理的能力,掌握了數據計算的基本方法,了解數據計算過程中可以引用單元格地址等知識。
教學目標
知識與技能:
1、掌握函數基本的調用、編輯方法
2、能熟練運用常見函數對數據進行計算;
過程與方法:通過對課本內容的學習,讓學生探索函數的使用方法; 情感態度與價值觀:
1、了解信息技術在生活中數據處理方面的應用,培養學生解決實際問題的能力;
2、讓學生體會到運用函數進行統計能有效地提高工作效率; 教學重點和難點
教學重點: EXCEL中函數計算的操作方法;
教學難點:根據需要選取正確的函數及函數參數的設置; 教學方法:
演示講解法、任務驅動、教學過程
一、引課
復習:上節課我們學習了使用公式計算數據。輸入公式的基本步驟需要大家掌握,同學們還記得是哪四步嗎?(通過練習)發送任務文件
打開學生成績表(廣播教學演示上節課用公式計算數據和本節課用函數計算數據的不同而引入新課)
在我們剛開始學習數據處理,認識EXCEL的時候,就曾告訴大家EXCEL可以幫助我們快速、準確的處理大量繁雜的數據,而它這一優點的實現,正是我們本節課跟大家共同學習的內容——函數。
二、新課
1、什么是函數
Excel函數是公式的特殊形式,是Excel自帶的內部公式,是執行計算、分析等處理數據任務的特殊公式。
2、函數的一般表達形式是:
函數名(參數1,參數2,??)
3、函數的調用方法:(屏幕廣播)①通過“插入”菜單的“函數”命令 ②通過“fx”按鈕
③通過常用工具欄的“自動求和”下拉菜單中的“其它函數”命令
打開學生成績表,演示函數的調用方法,并且通過分別計算個人總分和三科總分,讓學生觀察參數的變化,理解參數的意義。
步驟:
(1)選擇目標單元格
(2)通過“∑”按鈕下拉菜單選擇常用函數、通過“fx”按鈕、通過“插入”菜單的“函數”命令
(3)確定函數取值區域(4)回車完成函數應用
4、布置任務:按照課本62頁“做一做”的要求,使用“自動求和”按鈕,計算每個學生所有學科成績的總分以及完成練習工作表
教師發送“任務”文件
教師巡視,給予指導 請個別學生演示操作過程
對學生的成績予以肯定,同時指出操作中個別學生在參數定義時,將不同類型的數據一起求和,如文本型數據和數值型數據,這樣做是不對的。總結:在Excel中,只有同一類型的數據才能進行求和。
提問:有了這么方便的求和函數,那么接下來各學科的平均分,又怎么求出呢?
5、布置任務:按照課本63頁“做一做”的要求,使用求平均值函數Average計算全班各學科的平均分以及完成練習工作表.教師巡視、指導 請個別學生演示操作過程 給學生的操作給予評價
教師演示并總結普遍存在的問題。
三、解決問題、實踐應用、鞏固提高。教師發送“任務”文件,巡視給予個別指導
四、總結
今天我們學習了兩個函數,分別是:求和函數SUM和求平均值函數AVERAGE:
1、調用所需函數的方法
2、會用求和函數和求平均值函數計算數據。
3、用于計算的數據范圍不正確,可以通過哪些途徑修改? 學習完后我們可以解決很多的實際問題,希望大家能通過本節課的學習掌握基本函數的使用方法。熟練運用常見函數對數據進行計算,并且高效,準確。
五、反思
本節課學生做的不錯,能夠快速準確的完成課本中的做一做和教師發送的任務。大多數學生學會了使用函數計算。就是時間分配不準,復習的時間有些長在后面沒有時間對學生普遍存在的問題進行總結和演示。
第三篇:大數據與《數值分析》教學實踐
大數據與《數值分析》教學實踐
摘 要:聯系時代發展,數值分析列為應用統計專業的專業基礎課。考慮信息時代與數據時代的特點,對應用統計專業的數值分析課程教學內容進行再梳理,教學模式進行更新。開設專題,突出大數據與數值分析的聯系,促使大家共同思考,逐步樹立大數據理念。數值分析課程教學的深度改革以及教師與學生間的深度配合,培養創新性人才。通過系統學習和改革措施,取得一系列優秀成果。
關鍵詞:大學教育 數值分析 大數據 專業課
中圖分類號:G420 文獻標識碼:A 文章編號:1674-098X(2016)01(b)-0115-02
大型線性方程組,特別是大型稀疏矩陣方程組,為減少計算量、節約內存、充分利用系數矩陣擁有大量零元素的特點,使用迭代法更為合適[1]。插值、擬合、逼近、數值積分與數值微分、范數等無一不是在建構數據關系。
大數據是新事物嗎?天氣、地震、量子物理、基因、醫學等都是大數據所在,借鑒他們的方法有益。過去多用統計類方法,如用抽樣調查。這正是應用統計專業人士擅長的。互聯網數據挖掘方法論也如此,不同的是:因為人的復雜性,所以更難。既然是關于人的研究就需應用所有研究人的方法梳理大數據。只要懂編程、懂調動數據的人就可以做大數據挖掘的說法顯然不準確,因為移動互聯網對社會生活的影響本質是時間與空間的解構。
2013年一年產生的全球信息量已經相當于人類文明史當中資料的總和。處在一個數字時代,價值判斷主要通過大數據分析,顛覆性的創新以一個不可思議的速度在進行著,每個人必須要去適應。2015年李克強總理曾提出“數據是基礎性資源,也是重要生產力”的重要論斷,強調中國發展大數據產業空間無限。“海量數據如果能彼此打通,從這中間可以產生出大量的新知識。”中國工程院院士潘云鶴在由中國工程院主辦的國際工程科技知識中心2015國際高端研討會上說,“大數據的出現,表明信息開始獨立于人,開始形成單獨的空間,今后大數據一定會走向大知識時代。”
必然的時代變化,可怕嗎?正視、擁抱?在變化中似乎更能感受到數學專業、尤其是應用統計專業的優點:韌性好、潛力足、回旋空間大。不過,相應的調整與變化也是必須的。數值分析曾經是我校應用統計學專業的選修課程。考慮到信息時代與數據時代的新特點,也在努力地用心地邁向大知識時代,而今數值分析已經成為我校應用統計專業的必修課,一門專業基礎課。教學與成長
身為教師,都明白:從改變和提高自己開始,才有成功的教育。與學生們一起經歷那一段無可替代的完整的生命體驗,自然不是能由碎片訊息和夸張視頻可以取代的。因此我們一直都在學習,不斷提高教學的本領與技巧,更好地直面生活中眾多的選擇,并由此觀察、體會、領悟全新的生活方式:改變著我們對自身以及人類關系的理解;影響著城市的建造和經濟的變革;甚至改變我們成長與成年的方式,也改變著人類老去甚至去世的方式。
盡情地用心做足詩外功夫。盡心盡力地完成教研工作,認真鉆研、用心備課、與時俱進,切實把握好重點難點和必要的知識細節,不斷改進教案,啟發創新思維,開展研究型教學,拓展相關應用的前沿、熱點,通過理論分析與數值編程兩個手段相結合,拓展研究前沿和實際應用,提供有益的研究信息和潛在思路。精心制作教學課件、算法編程與可視結果,調試正確高效的源程序代碼,必要時可以運用多種模式教學、布置大作業。
學生維度方面,發揮主觀能動性與學習自主性。不論課堂內外或是線上線下,我們都努力貫徹這樣的學習過程:自學(尋疑)、互幫(答疑)、傾聽(釋疑)、群言(辨疑)、練習(測疑)和反思(質疑)。答疑、釋疑和辨疑過程可以出現在同學之間以及師生之間。努力充分開發理解的認識性、道德性、感情性、實踐性與創造性及其綜合而成的理解的特殊本性,借此更好地提高教育實踐的合理性。這樣,無論教師還是學生,都處于理解的教育之中,可以更好地理解自己和他人,因而能被別人更好地理解。同時,作為影響其他教育條件更好地發揮作用的關鍵因素,在其他教育教學條件基本穩定的前提下,更好地發揮多角度理解的作用,從而收獲更好的教育教學效果。
習題采用書面撰寫與上機編程相配合來完成,布置有關實踐應用的大作業,力求考試學術和創新素質的結合與統一。通過教學、科研、動手編寫和調試程序,使學生掌握數值算法的構造原理和分析過程,熟悉設計算法的原則和思路,把握已有算法的優缺點、應用面和發展前景,提升知識的融會貫通,能夠結合自己的專業和問題來考慮新數值算法的改進與應用。嘗試面對科研實際中遇到的問題選擇、應用和改進相應的計算方法,從而提升知識應用和思維創新。
每章學習過程中,我們都一起思考相應的數據復雜性、計算復雜性、系統復雜性和學習復雜性等多個方面帶來的挑戰;同時思考從數值分析出發的相應對策與處理措施。而且,我們開設幾個專題,如從數據出發的建模與數值分析、大數據與計算方法的加速處理、大數據中誤差的優化及與新方法的生成等等,突出大數據與數值分析的聯系,促使大家共同思考,希望因此逐步樹立大數據理念,加強目標、模型、數據、技術等多個方面的協同創新。嘗試著對數值分析課程教學的深度改革、教師同學生間的深度配合,希望能超越因材施教,也盼望著能接收到超出想象的答案,從而讓創新性人才凸現。
整個數值分析課程教學過程中,關注學生的成長過程,更加注意到學生正在尋找自己,構建自己的知識結構,以及他們的變化和發展。若以此為目標進行教改,改革必然會持續進行,一定能幫助學生了解自己,準確定位,為學生必然發生的變化做準備,而非將學生當作已經固定的人才實施因材施教。堅持抓反思、求提升,抓精細、求完美,抓執行、求速度,抓流程、求效果。期望著大家能有超越數據的視野與胸懷。成效
通過系統學習和改革措施,促使教學雙方充分發揮“教師的主導作用,學生的主體作用”。教師的教學與科研得到良性發展,促進研究型教學展示,為在新時期培養創新型、復合型、高素質人才做出點滴貢獻;學生掌握經典算法和了解了應用前沿,提高數值算法效率和數據分析能力,為利用計算機有效解決科學計算中的問題打好基礎;也為更從容地面對世界的柔性、智能、精細發展奠定了基礎。
用心投入實踐中的好課與好課的實踐[2],發表了一系列相關教學論文。持續開展:數值計算方法及相關課程教學改革的研究與實踐;模塊化、互銜接的數學類課程群優化的研究與實踐;數學教育實驗中心運行機制與管理模式的研究與實踐;多元化人才培養模式的研究與實踐。有如下書籍出版:
《應用數理統計》,機械工業出版社,2008。
《數學物理方程》,科學出版社,2008。
《數據庫基礎教程》,電子工業出版社,2009。
《基于MINITAB的現代實用統計》,中國人民大學出版社,2009。
《氣象統計預報》,氣象出版社,2009。
《Numerical Analysis and Computational》,MethodWorld Academic Press,2011。
《數值分析與計算方法》,科學出版社,2012。
《數值計算方法理論與典型例題選講》,科學出版社,2012。
《Minitab軟件入門:最易學實用的統計分析教程》,高等教育出版社,2012。
2012年,這里被確立了教育部專業綜合改革試點專業。同年,擁有了中央財政支持地方高校發展――科研平臺和專業能力實踐基地建設項目,以及多項江蘇省及國家級大學生實踐創新訓練計劃項目,如基于地面以及CHAMP衛星數據的地球磁場區域建模研究,基于GPS和實時數據的青奧會期間公共交通調度優化研究,南京市PM2.5監測站分布合理性調查與分析。
2011獲年教育部頒發全國大學生數學建模競賽全國特等獎(高教社杯),全國唯一。2012年摘下全球僅7項的美國大學生數學建模競賽ICM特等獎。
2015年全國大學生數學建模競賽獲國家一等獎四項、二等獎六項;2015首屆中國“互聯網+”大學生創新創業大賽金獎;在2015年全國大學生電子設計競賽中獲全國一等獎3項、全國二等獎4項。獲獎數量和質量均取得歷史性突破,展現了當代大學生的大氣、生機和活力。
難怪,世界著名數值分析專家牛津大學教授Floyd N.Trefethen和David.BauIII指出:“如果除了微積分與微分方程之外,還有什么數學領域是數學科學基礎的話,那就是數值線性代數。”
參考文獻
[1] 蔣勇,李建良.數值分析與計算方法[M].北京:科學出版社,2012.[2] 周興,葉惟寅.實踐中的好課與好課的實踐[J].數學教育學報,2005,14(2):80-82.
第四篇:計算數據教學設計
計算數據
【教材分析】
《計算數據》是山東省泰山版初中信息技術第一冊(下)第四章第二節的內容。教材通過一個家庭收支賬目表來讓學生學會用excel計算數據,計算所需公式和函數都有各自的優點,其中所涉及的函數有sum(求和),average(求平均數),max(求最大值),min(求最小值)。
【學情分析】
初一(下)年級學生已經對word界面比較熟悉,對于excel也會很容易上手,公式的用法和數學是一樣的,比較簡單,只不過函數的用法需要學生用心學習。
【教學目標】
知識與技能
(1)能夠自定義公式進行簡單的數值計算。
(2)理解函數的意義,并能使用簡單函數進行必要的數值計算。過程與方法
從自定義公式入手,由數學方法慢慢向excel的公式表達方式轉化。然后再由公式過度到函數,通過實例讓學生體驗函數的便捷。
情感態度與價值觀
通過案例體驗公式和函數對數據計算所帶來的方便,培養和提高學生對數據的加工能力。
【教學重點與難點】
重點是電子表格中利用公式進行數據計算。難點是函數的應用。
【教學策略】
采用任務驅動,微課教學,學生自主探究等方法,掌握公式和函數計算數據的方法并能解決實際問題。教師只是點撥和輔助,把課堂真正的交給學生,充分體現學生的主體作用。
【教學過程】
一、導入新課
大屏幕展示教師制作多媒體課件中《師傅被妖精抓走了》搞笑小視頻,引出故事情節,小沙不滿如來的封賞,在回家的路上伙同妖怪抓走了師傅,現在你變成了大俠,需要打怪升級和boss挑戰才能救出師傅。
然后出示excel表格,說出任務,講明用法,講明加分細則。
(設計意圖:通過有趣的故事,引出本課的教學內容。)
二、自主探究
任務一:打怪升級(基礎知識)
參考導學案操作提示和微課程的操作演示完成任務一打怪升級。
學生活動:自學導學案任務一的內容,學生以小組為單位合作探究任務一的操作,完成后學生講解計算的方法。小組長可以幫助組員完成,組員之間也可互相幫助。
師任務:引導學生解決任務一的問題,并且根據完成情況和回答問題情況給學生所在組加分。教師總結演示操作方法,然后布置沒完成的同學繼續完成,完成的學生嘗試任務二。學生操作過程中可以適當放點音樂,創造一個輕松的氣氛,也可以掌握時間。
(設計意圖:通過有趣的任務,引導學生學會公式和函數計算數據。)
任務二:boss挑戰(拓展提高)
參考導學案操作提示和微課程的操作演示完成任務二boss挑戰。其中有四個boss:boss、大boss、超級大boss,終極boss。只有完成一關,才能進入下一關,這樣學生必須做對才行。
學生活動:自學導學案任務二的內容,學生以小組為單位合作探究任務二的操作,完成后學生講解計算的方法。小組長可以幫助組員完成,組員之間也可互相幫助。
師任務:引導學生解決任務二的問題,并且根據完成情況和回答問題情況給學生所在組加分,教師總結演示操作方法。
(設計意圖:通過有難度的任務,引導學生學會用所學知識解決實際問題。)
三、總結歸納
總結本節課所有內容,根據得分選出優勝組。
作業是sheet3中的繼續修行。
(設計意圖:拓展延伸知識,教師總結本節課內容,系統的梳理知識點,強化操作技巧。通過作業再一次鞏固本節課內容)【教學反思】
通過小故事的形式導入新課,從一開始就抓住了學生的興趣所在,為下面的新課打下了堅實的基礎。新課采用微課和導學案的方式,在興趣的驅動下,學生自主學習,充分利用小組合作探究,充分體現學生的主體作用。課上學生積極性高,完成任務的效果很好。教師的作用從傳道授業解惑變成了引導者,幫助學生養成了良好的學習習慣,提高自學能力,增強學習興趣。
第五篇:數值分析計算實習題
《數值分析》計算實習題
姓名:
學號:
班級:
第二章
1、程序代碼
Clear;clc;
x1=[0.2
0.4
0.6
0.8
1.0];
y1=[0.98
0.92
0.81
0.64
0.38];
n=length(y1);
c=y1(:);
for
j=2:n
%求差商
for
i=n:-1:j
c(i)=(c(i)-c(i-1))/(x1(i)-x1(i-j+1));
end
end
syms
x
df
d;
df(1)=1;d(1)=y1(1);
for
i=2:n
%求牛頓差值多項式
df(i)=df(i-1)*(x-x1(i-1));
d(i)=c(i-1)*df(i);
end
P4=vpa(sum(d),5)
%P4即為4次牛頓插值多項式,并保留小數點后5位數
pp=csape(x1,y1,'variational');%調用三次樣條函數
q=pp.coefs;
q1=q(1,:)*[(x-.2)^3;(x-.2)^2;(x-.2);1];
q1=vpa(collect(q1),5)
q2=q(1,:)*[(x-.4)^3;(x-.4)^2;(x-.4);1];
q2=vpa(collect(q2),5)
q3=q(1,:)*[(x-.6)^3;(x-.6)^2;(x-.6);1];
q3=vpa(collect(q3),5)
q4=q(1,:)*[(x-.8)^3;(x-.8)^2;(x-.8);1];
q4=vpa(collect(q4),5)%求解并化簡多項式
2、運行結果
P4
=
0.98*x
0.3*(x
0.2)*(x
0.4)
0.625*(x
0.2)*(x
0.4)*(x
0.6)
0.20833*(x
0.2)*(x
0.4)*(x
0.8)*(x
0.6)
+
0.784
q1
=
1.3393*x^3
+
0.80357*x^2
0.40714*x
+
1.04
q2
=
1.3393*x^3
+
1.6071*x^2
0.88929*x
+
1.1643
q3
=
1.3393*x^3
+
2.4107*x^2
1.6929*x
+
1.4171
q4
=
1.3393*x^3
+
3.2143*x^2
2.8179*x
+
1.86293、問題結果
4次牛頓差值多項式=
0.98*x
0.3*(x
0.2)*(x
0.4)
0.625*(x
0.2)*(x
0.4)*(x
0.6)
0.20833*(x
0.2)*(x
0.4)*(x
0.8)*(x
0.6)
+
0.784
三次樣條差值多項式
第三章
1、程序代碼
Clear;clc;
x=[0
0.1
0.2
0.3
0.5
0.8
1];
y=[1
0.41
0.5
0.61
0.91
2.02
2.46];
p1=polyfit(x,y,3)%三次多項式擬合p2=polyfit(x,y,4)%四次多項式擬合y1=polyval(p1,x);
y2=polyval(p2,x);%多項式求值
plot(x,y,'c--',x,y1,'r:',x,y2,'y-.')
p3=polyfit(x,y,2)%觀察圖像,類似拋物線,故用二次多項式擬合。
y3=polyval(p3,x);
plot(x,y,'c--',x,y1,'r:',x,y2,'y-.',x,y3,'k--')%畫出四種擬合曲線
2、運行結果
p1
=
-6.6221
12.8147
-4.6591
0.9266
p2
=
2.8853
-12.3348
16.2747
-5.2987
0.9427
p3
=
3.1316
-1.2400
0.73563、問題結果
三次多項式擬合P1=
四次多項式擬合P2=
二次多項式擬合P3=
第四章
1、程序代碼
1)建立函數文件f.m:
function
y=fun(x);
y=sqrt(x)*log(x);
2)編寫程序:
a.利用復化梯形公式及復化辛普森公式求解:
Clear;clc;
h=0.001;%h為步長,可分別令h=1,0.1,0.01,0.001
n=1/h;t=0;s1=0;s2=0;
for
i=1:n-1
t=t+f(i*h);
end
T=h/2*(0+2*t+f(1));T=vpa(T,7)
%梯形公式
for
i=0:n-1
s1=s1+f(h/2+i*h);
end
for
i=1:n-1
s2=s2+f(i*h);
end
S=h/6*(0+4*s1+2*s2+f(1));S=vpa(S,7)
%辛普森公式
a’復化梯形公式和復化辛普生公式程序代碼也可以是:
Clear;clc;
x=0:0.001:1;
%h為步長,可分別令h=1,0.1,0.01,0.001
y=sqrt(x).*log(x+eps);
T=trapz(x,y);
T=vpa(T,7)
(只是h=1的運行結果不一樣,T=1.110223*10^(-16),而其余情況結果都相同)
Clear;clc;
f=inline('sqrt(x).*log(x)',x);
S=quadl(f,0,1);
S=vpa(S,7)
b.利用龍貝格公式求解:
Clear;clc;
m=14;%m+1即為二分次數
h=2;
for
i=1:m
h=h/2;n=1/h;t=0;
for
j=1:n-1
t=t+f(j*h);
end
T(i)=h/2*(0+2*t+f(1));%梯形公式
end
for
i=1:m-1
for
j=m:i+1
T(j)=4^i/(4^i-1)*T(j)-1/(4^i-1)*T(j-1);
%通過不斷的迭代求得T(j),即T表的對角線上的元素。
end
end
vpa(T(m),7)
2、運行結果
T
=
-0.4443875
S
=
-0.4444345
ans
=
-0.44444143、問題結果
a.利用復合梯形公式及復合辛普森公式求解:
步長h
0.1
0.01
0.001
梯形求積T=
0
[1.110223*10^(-16)]
-0.4170628
-0.4431179
-0.4443875
辛普森求積S=
-0.3267527
-0.4386308
-0.4441945
-0.4444345
b.利用龍貝格公式求解:
通過15次二分,得到結果:-0.4444414
第五章
1、程序代碼
(1)LU分解解線性方程組:
Clear;clc;
A=[10
0
2.099999
0
2];
b=[8;5.900001;5;1];
[m,n]=size(A);
L=eye(n);
U=zeros(n);
flag='ok';
for
i=1:n
U(1,i)=A(1,i);
end
for
r=2:n
L(r,1)=A(r,1)/U(1,1);
end
for
i=2:n
for
j=i:n
z=0;
for
r=1:i-1
z=z+L(i,r)*U(r,j);
end
U(i,j)=A(i,j)-z;
end
if
abs(U(i,i)) flag='failure' return; end for k=i+1:n m=0; for q=1:i-1 m=m+L(k,q)*U(q,i); end L(k,i)=(A(k,i)-m)/U(i,i); end end L U y=L\b;x=U\y detA=det(L*U) (2)列主元消去法: function x = gauss(A,b); A=[10 0 1;-3 2.099999 2;5 -1;2 0 2]; b=[8;5.900001;5;1]; [n,n] = size(A); x = zeros(n,1); Aug = [A,b]; %增廣矩陣 for k = 1:n-1 [piv,r] = max(abs(Aug(k:n,k))); %找列主元所在子矩陣的行r r = r + k 1; % 列主元所在大矩陣的行 if r>k temp=Aug(k,:); Aug(k,:)=Aug(r,:); Aug(r,:)=temp; end if Aug(k,k)==0,error(‘對角元出現0’),end % 把增廣矩陣消元成為上三角 for p = k+1:n Aug(p,:)=Aug(p,:)-Aug(k,:)*Aug(p,k)/Aug(k,k); end end % 解上三角方程組 A = Aug(:,1:n); b = Aug(:,n+1); x(n) = b(n)/A(n,n); for k = n-1:-1:1 x(k)=b(k); for p=n:-1:k+1 x(k) = x(k)-A(k,p)*x(p); end x(k)=x(k)/A(k,k); end detA=det(A) 2、運行結果 1) LU分解解線性方程組 L = 1.0e+006 * 0.0000 0 0 0 -0.0000 0.0000 0 0 0.0000 -2.5000 0.0000 0 0.0000 -2.4000 0.0000 0.0000 U = 1.0e+007 * 0.0000 -0.0000 0 0.0000 0 -0.0000 0.0000 0.0000 0 0 1.5000 0.5750 0 0 0 0.0000 x = -0.0000 -1.0000 1.0000 1.0000 detA = -762.0001 2)列主元消去法 detA = 762.0001 ans = 0.0000 -1.0000 1.0000 1.00003、問題結果 1) LU分解解線性方程組 L= U= x=(0.0000,-1.0000,1.0000,1.0000)T detA=-762.001 2)列主元消去法 x=(0.0000,-1.0000,1.0000,1.0000)T detA=762.001 第六章 1、程序代碼 (1)Jacobi迭代 Clear;clc; n = 6; %也可取n=8,10 H = hilb(n); b = H * ones(n,1); e = 0.00001; for i = 1:n if H(i,i)==0 '對角元為零,不能求解' return end end x = zeros(n,1); k = 0; kend = 10000; r = 1; while k<=kend & r>e x0 = x; for i = 1:n s = 0; for j = 1:i s = s + H(i,j) * x0(j); end for j = i + 1:n s = s + H(i,j) * x0(j); end x(i) = b(i) / H(i,i) s / H(i,i); end r = norm(x x0,inf); k = k + 1; end if k>kend '迭代不收斂,失敗' else '求解成功' x k end (2)SOR迭代 1)程序代碼 function s = SOR(n,w); H = hilb(n); b = H*ones(n,1); e = 0.00001; for i = 1:n if H(i,i)==0 ‘對角線為零,不能求解’ return end end x = zeros(n,1); k = 0; kend = 10000; r = 1; while k<=kend & r>e x0 = x; for i = 1:n s = 0; for j = 1:i s = s + H(i,j) * x(j); end for j = i + 1:n s = s + H(i,j) * x0(j); end x(i) = (1 w) * x0(i) + w / H(i,i) * (b(i) s); end r = norm(x x0,inf); k = k + 1; end if k>kend '迭代不收斂,失敗' else '求解成功' x end 2) 從命令窗口中分別輸入: SOR(6,1) SOR(8,1) SOR(10,1) SOR(6,1.5) SOR(8,1.5) SOR(10,1.5) 2、運行結果 Jacobi迭代: ans = 迭代不收斂,失敗 SOR迭代: 第七章 1、程序代碼 (1)不動點迭代法 1)建立函數文件:g.m function f=g(x) f(1)=20/(x^2+2*x+10); 2)建立函數文件:bdd.m function [y,n] = bdd(x,eps) if nargin==1 eps=1.0e-8; elseif nargin<1 error return end x1 = g(x); n = 1; while (norm(x1-x)>=eps)&&(n<=10000) x = x1; x1 = g(x); n = n + 1; end y = x; n 3)從命令窗口輸入:bdd(0) (2)牛頓迭代 clear;clc; format long; m=8; %m為迭代次數,可分別令m=2,4,6,8,10 x=sym('x'); f=sym('x^3+2*x^2+10*x-20'); df=diff(f,x); FX=x-f/df; %牛頓迭代公式 Fx=inline(FX); disp('x='); x1=0.5; disp(x1); Eps=1E-8; k=0; while x0=x1; k=k+1; x1=feval(Fx,x1); %將x1代入牛頓迭代公式替代x1 disp(x1); %在屏幕上顯示x1 if k==m break; end end k,x12、運行結果 (1)不動點迭代法 >> bdd(0) n = ans = 1.3688 (2) 牛頓迭代 x= 0 1.*** 1.37***21 1.*** 1.*** 1.*** 1.*** 1.*** k = x1 = 1.*** 3、問題結果 (1)不動點迭代法 x=1.3688 n=25 收斂太慢 (2)牛頓迭代 初值取0 迭代次數k=8時,k x(k) 1.4666666 1.3715120 1.3688102 1.3688081 1.3688081 1.3688081 1.3688081