999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Mathematica軟件在數值分析中的交互可視化設計

2016-05-16 05:32:22孔祥強
長春師范大學學報 2016年4期
關鍵詞:可視化界面設計

孔祥強

(菏澤學院數學系,山東菏澤 274015)

?

Mathematica軟件在數值分析中的交互可視化設計

孔祥強

(菏澤學院數學系,山東菏澤 274015)

[摘要]本文在Mathematica 9.0.1軟件環境下,實現了求解線性方程組的雅可比迭代法和高斯-賽德爾迭代法的動態交互可視化設計,通過實例對兩種方法進行了比較,設計了利用插值型公式求數值積分的人機交互化過程,并通過算例驗證了程序的正確性。

[關鍵詞]Mathematica軟件;交互可視化;迭代法;線性方程組;數值積分

Mathematica軟件是Wolfram公司開發的交互式科學計算軟件,具有強大的符號計算功能和繪圖功能,特別是2013年新推出的Mathematica 9.0.1版本,更加完善了這一軟件的交互可視化功能.利用Mathematica軟件,可將一些復雜的、晦澀的或者是抽象的數值算法直觀、動態地表達出來,而這些表達是可以控制和人工交互的.軟件的這些特性在概率論與數理統計和高等數學中已經得到了很好的應用[1-3],但在數值分析課程中應用的還比較少.Mathematica提供了眾多可進行可視化設計的函數[4-7],如Animate函數和Manipulate函數等.利用這些函數,可實現對一個或多個參數的動態控制,通過“顯示動畫按鈕”控件實現計算過程的動態展示.

線性方程組和數值積分是數值分析課程的重要內容.求解線性方程組的方法有雅可比(Jacobi)迭代法、高斯-賽德爾(G-S)迭代法和逐次超松弛(SOR)迭代法等.求數值積分的方法有插值型(Newton-Cotes)公式法、Gauss型公式法和復化型公式法等[8].要理解和掌握以上理論知識并不容易,關鍵問題是計算公式繁雜和計算過程的不可視化.本文給出了Jacobi迭代法和G-S迭代法的可視化設計,在同一界面下選擇不同的方法,實現迭代次數和所得近似解的展示,并且可比較出兩種方法的優劣.另外,實現了用四種不同的Newton-Cotes公式計算數值積分的動態化,依據選擇的步長不同達到選取不同公式的目的,而所得的近似值和誤差值實時變化.

1Jacobi迭代法和G-S迭代法的可視化實現

1.1基本知識

設Ax=b,A∈Rn×n且|A|≠0,對A進行如下分解:

若將A分裂為A=M-N(其中M為近似于A的矩陣,且|M|≠0,稱為分裂陣),則Ax=b?Mx=Nx+b,

即x=M-1Nx+M-1b,則構造的一階定常迭代法可表示為

(*)

其中,矩陣B為迭代矩陣.

若取M=D,此時A=D-N,可得Ax=b的Jacobi迭代法,此時式(*)中的迭代矩陣B=I-D-1A=D-1(L+U),f=D-1b.

若取M=D-L,此時A=M-N,可得Ax=b的G-S迭代法,此時式(*)中的迭代矩陣B=I-(D-L)-1A=(D-L)-1U,f=(D-L)-1b[8].

迭代法基本定理[8](1)設有方程組x=Bx+f,B∈Rn×n,(2)有迭代法x(k+1)=Bx(k)+f.對任意的初始向量x(0),迭代法收斂的充要條件是B的所有特征值λi(B)滿足|λi(B)|<1或譜半徑ρ(B)<1.

1.2可視化設計

圖1 Jacobi迭代法和G-S迭代法的動態模擬

首先判斷出迭代矩陣的譜半徑分別為0.506079和0.2,均是小于1的.由迭代法基本定理可知,Jacobi迭代法和G-S迭代法都是收斂的.

比較以上兩種迭代法,當A滿足一定條件,初始向量x(0)相同,且達到同樣精度的情形下,Jacobi迭代法需迭代18次才能達到方程組的精確解{-4,3,2},而G-S迭代法僅需9次,可知G-S迭代法比Jacobi迭代法收斂速度快.

1.3程序實現

Manipulate[

If[t"Jacobi迭代法",A={{5,2,1},{-1,4,2},{2,-3,10}};

b={-12,20,3};x0={0,0,0};epi=0.0001;

F=DiagonalMatrix[{A[[1,1]],A[[2,2]],A[[3,3]]}];

J=DiagonalMatrix[{1,1,1}];

B=J-Inverse[F].A;

P=Max[Abs[Eigenvalues[N[B]]]];

If[P<1,f=Inverse[F].b;

jk=1;x1=B.x0+f;S[1]=x1;

While[Norm[x0-x1]>epi,x0=x1;

x1=B.x0+f;S[jk+1]=x1;jk=jk+1;

If[jk>50,Break[]]];

Pane[Column[{

Style[Row[{"",MatrixForm[A],"X=",MatrixForm[b]}],15,Bold],,

,Style[Row[{ Style["Jacobi迭代矩陣:",Red,Bold

,15],MatrixForm[B]}],15],,

,Framed@Style[Column[{

Row[{Style["譜半徑:",Blue,Bold,15],P}]

,Row[{Style["迭代次數:",Blue,Bold,15],jk,

,Tooltip[

Graphics[{Red,Disk[{0,0},1,{Pi/4,3Pi/4}]},ImageSize 15],

TableForm[Table[ S[i]//N,{i,jk}]

,TableHeadings{Table[Row[{"X", i}] ,{i,jk}],{"近似解"}}]]}]}],15]

,Framed@Style[Row[{Style["近似解",Blue,Bold,15],N[x1]}],15]}]]],

If[t"G—S迭代法",A={{5,2,1},{-1,4,2},{2,-3,10}};

b={-12,20,3};];x0={0,0,0};epi=0.0001;

x1=M.x0+f1;

F=DiagonalMatrix[{A[[1,1]],A[[2,2]],A[[3,3]]}];

L=-Table[If[i>j,A[[i,j]],0],{i,3},{j,3}];

U=-Table[If[i

f1=Inverse[F-L].b;M=Inverse[F-L].U;

Q=Max[Abs[Eigenvalues[N[M]]]];

T[1]=x1;k=1;

While[Norm[x0-x1]>epi,x0=x1;

x1=M.x0+f1;T[k+1]=x1;k=k+1;

If[k>50,Break[]]];

Pane[Column[{

Style[Row[{"",MatrixForm[A],"X=",MatrixForm[b]}],15,Bold],,

,Style[Row[{Style["G-S迭代矩陣:",Red,Bold,15],MatrixForm[M]}]

,15],,

,Framed@Style[Column[{

Row[{Style["譜半徑:",Blue,Bold,15],Q}]

,Row[{Style["迭代次數:",Blue,Bold,15],k,

,Tooltip[

Graphics[{Red,Disk[{0,0},1,{Pi/4,3Pi/4}]},ImageSize 15],

TableForm[Table[T[i]//N,{i,k}]

,TableHeadings{Table[Row[{"X",i}],{i,jk}],{"近似解"}}]]}]}],15]

,Framed@Style[Row[{Style["近似解",Blue,Bold,15],N[x1]}],15]}]]]

,{{t,"Jacobi迭代法",Row[{Style["迭代方法選擇",Blue,Bold,15]}]}

,{"Jacobi迭代法","G-S迭代法"}}

,ControlPlacement Bottom]

在上面的程序中,首先對Jacobi迭代法進行編程,計算出迭代矩陣、譜半徑、迭代次數和近似解,然后對G-S迭代法進行編程,最后通過Manipulate函數使得兩種方法顯示在同一界面內,實現了動態交互的一體化功能.

2Newton-Cotes公式的可視化實現

2.1基本知識

2.2可視化設計

通過界面左下方的“步長選擇”控件可選擇不同的公式,而選取的公式名稱出現在界面上方.也可以通過點擊控件右方的“+顯示動畫控制”,啟動動畫的自動播放模式,設定按鈕向前、向后移動,控制播放的快慢程度等.界面中表格內的“近似值”和“誤差”數據隨著公式的不同而動態變化,“真實值”保持不變.對于n=4時的Cotes公式,通過表格的形式給出了其系數的取值.界面中粗紅線顯示的是函數y=1-e-xsin3x的圖形,插值節點用紅色圓點表示,連接節點的曲線下方用淺紅色進行填充,表示通過公式計算所得到的近似值,即曲邊梯形的面積.本文中的四個Newton-Cotes公式都不是高階的,可以證明,當n≤7時,公式是穩定的;當n>8時,穩定性不能保證;當n→∞時,容易產生Runge現象,收斂性也無法保證,因此,一般不采用高階的Newton-Cotes公式求數值積分[8].

圖2 Newton-Cotes公式求數值積分的動態模擬

2.3程序實現

Manipulate[

f[x_]:=1-Exp[-x]* Sin[3 x];

a=0;b=3;n=k;h=3/n;

c={{1/2,1/2,,,},{1/6,4/6,1/6,,}

,{1/8,3/8,3/8,1/8,},{7/90,16/45,2/15,16/45,7/90}};

data=Table[{a+j h,f[a+j h]}, {j,0,n,1}];

table=Grid[{

{Text@Style["Cotes公式系數表",15,Bold,Blue]}

,{Style[Text@Grid[c,Frame {None,All}],Brown,17]}}];g1=Plot[Evaluate[

Fit[data,Table[x^j,{j,0,n}],x]],{x,0,3}

,PlotRange {{-0.11,3.03},{0,3.1}}

,PlotStyle Magenta,PlotLabel Switch[k,

1,Style["梯形公式(n=1時)",15,Bold,Blue],

2,Style["Simpson公式(n=2時)",15,Bold,Blue],

3,Style["3/8 Simpson公式(n=3時)",15,Bold,Blue],

4,Style["Cotes公式(n=4時)",15,Bold,Blue]]

,AxesStyle Arrowheads[0.02]

,FillingStyle LightRed, Filling Axis

, Epilog {Text[Style[Grid[{

{Style["真實值",Red,14],zs}

,{Style["近似值",Red,14],js}

,{Style["誤差值",Red,14],zs-js}}

,Frame All],14],{2.2,2.3},{0,0}]} ] ;

g2=Graphics[{PointSize[0.023],Red

,Table[Point[data[[j]]],{j,1,n+1,1}]}];

g3=Plot[f[x],{x,0,3},PlotStyle {Thick,Red}];

Grid[{{Show[{g1,g2,g3},ImageSize 500],table}}]

,{{k,1,Style["步長選擇:",15,Bold,Blue]},1,4,1}

,ControlPlacement Bottom]

選擇n=2時的Simpson公式,可得積分的近似值為2.28398255.在上面的程序中,首先定義出函數、積分區間和Cotes系數表等;通過Plot函數及Graphics函數繪制g1,g2,g3的圖形,利用Show函數將繪制的圖形置于同一界面下;最后通過Manipulate函數實現動態交互的一體化功能.

3結語

將可運行Notebook文檔保存為.nb格式文件,既可在Mathematica 9.0.1軟件環境下運行,也可以在Wolfram公司提供的Mathematica Player 9.0.1下運行.本文對Jacobi迭代法及G-S迭代法進行了可視化設計,實際上,逐次超松弛(SOR)迭代法的可視化也可參考本文提供的編程方法,但必須通過控件控制松弛因子ω∈(0,2),SOR迭代法才有可能收斂.當ω≤0或者ω≥2時,SOR迭代法一定是不收斂的.同樣,利用Gauss型公式和復化型公式求數值積分時,也可以給出類似Newton-Cotes公式的可視化設計.

Mathematica是集數學計算、數據的處理與分析為一體的軟件,對科學實驗和科學研究起到了很大的促進作用,比如該軟件在微分方程[9]、微積分教學[10]和實驗數據分析[11]中都有廣泛應用.利用Mathematica軟件,結合編程,可開發出適合數值分析課程的教學交互可視化課件,對提高教學質量和培養學生學習的積極性都是大有裨益的.

[參考文獻]

[1]鄭永凡,王艷青.基于Mathematica的交互動態可視化設計及其應用[J].遼寧大學學報:自然科學版,2010,37(4):324-328.

[2]谷創業,王春峰.Mathematica在互動式多媒體數學教學中的應用[J].中國現代教育裝備,2010(5):76-68.

[3]徐安農.計算機模擬在概率論課程教學中的應用[J].桂林電子科技大學學報,2008,28(2):153-156.

[4]Ruskeep?? Heikki. Mathematica Navigator:Mathematics,Statistics,and Graphics[M].3rd Edition,Elsevier Inc.,2009.

[5]Sal Mangano.Mathematica Cookbook[M].O’Reilly Media,2010.

[6]吳飛.Mathematica項目演示筆記[M].北京:清華大學出版社,2010.

[7]朱曉峰,田益民.數學軟件在數學教學中的應用——數學實驗一例[J].數學的實踐與認識,2009,39(13):232-235.

[8]易大義,陳道琦.數值分析引論[M].浙江:浙江大學出版社,2002.

[9]秦大康,張寶善.Mathematica軟件在微分方程中的應用研究[J].徐州師范大學學報:自然科學版,2001,19(3):9-11.

[10]馬千里.Mathematica軟件在微積分教學中的應用[J].陜西師范大學學報:自然科學版,2009,37(s1):135-136.

[11]金哲,張鳳蘭.Mathematica與實驗數據分析[J].延邊大學學報:自然科學版,2003,29(1):36-39.

Mathematica Based Design of Interactive Visualization in Numerical Analysis

KONG Xiang-qiang

(Department of Mathematics, Heze University, Heze Shandong 274015,China)

Abstract:Based on the Mathematica 9.0.1 software,the dynamic interactive visual design to solve linear equations by the Jacobi iteration and Gauss-Seidel is realized.And two methods were compared by a arithmetic example ,the human-computer interaction process of solving numerical integration by using the type of interpolation formula is designed , and the program is validated the correctness by example.

Key words:Mathematica software;interactive visualization;iterative method;linear equations;numerical integration

[中圖分類號]O245

[文獻標識碼]A

[文章編號]2095-7602(2016)04-0043-06

[作者簡介]孔祥強(1983- ),男,講師,碩士,從事應用數學研究。

[基金項目]菏澤學院重點課題組項目“關于Mathematica軟件在‘高等數學’教學中的交互可視化研究”(2015010);山東省教育科學“十二五”規劃“高等教育數學教學專項”重點課題“基于數學軟件的大學數學教學的交互可視化研究”(ZBS15004)。

[收稿日期]2015-11-13

猜你喜歡
可視化界面設計
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
人機交互界面發展趨勢研究
主站蜘蛛池模板: 国产成人一区| 狠狠色狠狠色综合久久第一次| 2022国产91精品久久久久久| 久久公开视频| 欧美色伊人| 亚洲女同欧美在线| 久久亚洲欧美综合| 先锋资源久久| 日韩在线成年视频人网站观看| 啊嗯不日本网站| 91偷拍一区| 狠狠做深爱婷婷综合一区| 久久午夜夜伦鲁鲁片无码免费| 国产成人高精品免费视频| 激情六月丁香婷婷| 中文字幕第4页| 亚洲狠狠婷婷综合久久久久| 国产人人乐人人爱| 国产在线观看91精品亚瑟| 日韩在线观看网站| 五月婷婷丁香综合| 黄色一级视频欧美| 欧美中文字幕第一页线路一| 亚洲美女久久| 国产黄色爱视频| 亚洲乱伦视频| 情侣午夜国产在线一区无码| a国产精品| 日韩欧美国产三级| 欧美午夜在线视频| 麻豆AV网站免费进入| 综合亚洲色图| 日韩精品无码一级毛片免费| 97视频精品全国免费观看| 亚洲精品欧美日韩在线| 欧美劲爆第一页| 狠狠色丁香婷婷| 欧美国产日韩另类| 强乱中文字幕在线播放不卡| 亚洲欧美另类日本| 精品国产www| 免费精品一区二区h| 中文字幕第1页在线播| 亚洲天堂网视频| 波多野一区| 91免费在线看| 久久精品国产电影| 777午夜精品电影免费看| 精品国产三级在线观看| 成年人福利视频| 大陆国产精品视频| 国产一区三区二区中文在线| 欧美日韩国产精品va| 免费全部高H视频无码无遮掩| 亚洲av成人无码网站在线观看| 久久久91人妻无码精品蜜桃HD| 亚洲福利视频一区二区| 88av在线| 人妻21p大胆| 青青草原国产精品啪啪视频| 色婷婷电影网| 日韩第九页| 国产精品成人AⅤ在线一二三四 | 国产在线麻豆波多野结衣| a毛片免费观看| 亚洲另类色| 精品久久久久久久久久久| 亚洲欧美日韩另类| 激情综合网激情综合| 人人爱天天做夜夜爽| 国产00高中生在线播放| 国产成在线观看免费视频| 尤物亚洲最大AV无码网站| 免费人成视网站在线不卡| 毛片基地美国正在播放亚洲 | 99久久无色码中文字幕| 亚洲va精品中文字幕| 国产成人亚洲欧美激情| 欧美成人免费一区在线播放| 99伊人精品| 欧美人与牲动交a欧美精品| 欧美区在线播放|