数学实验课程实验报告
《数学实验》实验报告 学生姓名 学 号 院 系 专 业 任课教师 ﻩ 二 二 O O 一五 年 12 月 9 9 日
南京信息工程大学 实验(实习)报告 实验课程 实验名称 第一次实验 实验日期 2015-9—16 指导老师 专业 年级 姓名 学号 得分——- --------—-----—--——--————-—----————--——--—- ----—-——--—- - ---—--—实验目的: :熟悉Mathematica 软件包的使用。
实验内容: : 1、用两种方式编写如下自定义函数,求在x=-2。0,x=1.0,x=5.0 处的函数值,并画出函数 x 在区间[-10,10]上的图像 代码如下:
f1=Plot[E^x*Sin[x],{x,—10,0}];f2=Plot[Cos[x],{x,0,E}]; f3=Plot[Cos[x]*Sin[x],{x,-E,10}]; Show[f1,f2,f3];以及: f[x_/;x<0]:=E^x*Sin[x] f[x_/;x>0&&x〈E]:=Cos[x] f[x_/;x>E]:=Cos[x]*Sin[x] Plot[f[x],{x,—10,10}] 图像如下:-10-5 5 10-0.50.51 三条求值语句为:
f[—2。0] f[1。0] f[5.0] 函数值输出分别为:
—0.12306
0。540302-0。272011 2、分别用 Plot3D,ParametricPlot3D函数画出 12 2 2 z y x(1 0 , 1 0 y x)的图像。
1、语句:Plot3D 1 x^2 y^2 , x, 0, 1 , y, 0, 1 2、图像:
00.20.40.60.8100.20.40.60.8100.250.50.75100.20.40.60.8 3、语句: ParametricPlot3D[{Sin[u]*Cos[v],Sin[u]*Sin[v],Cos[u]},{u,0,Pi/2},{v,0,Pi/2}] 4、图像:
00.250.50.75100.250.50.75100.250.50.75100.250.50.7500.250.50.75 3、用 Mathematica 实现一个四人追逐问题,给出结果并划出追逐路线(如下图)。
语句: v=1;t=18;dt=0.02;n=t/dt; T={{{0,10}},{{10,10}},{{10,0}},{{0,0}}}; d=Sqrt[(x2—x1)^2+(y2—y1)^2];For[j=1,j n,j++,For[i=1,i 4,i++,x1=T[[i,j,1]];y1=T[[i,j,2]];If[i 4,x2=T[[i+1,j,1]]; y2=T[[i+1,j,2]],x2=T[[1,j,1]];y2=T[[1,j,2]]];x1=x1+v*dt*(x2-x1)/d;y1=y1+v*dt*(y2—y1)/d;T[[i]]=Append[T[[i]],{x1,y1}]]];
P=Graphics[{Line[T[[1]]],Line[T[[2]]],Line[T[[3]]],Line[T[[4]]],Line[{{0,10},{10,10},{10,0},{0,0},{0,10}}]}];Show[P,AspectRatio 1]; 图像:
实验要求: : 撰写实验报告 写出试验过程中所使用的 Mathematica程序或语句和计算结果 ﻬ南京信息工程大学 实验((实习)报告 实验课程 数学实验 实验名称 第二次实验 实验日期 2015-9-16 指导老师 专 业 年 级 姓 名 学 号 得分 --- ---——- -——-—- - ------——---—-----—-—----—-———---—---—-——-—---—- ---实验目的:
练习 的求解方法。
实验内容:
4、、用反正切函数的幂级数展开式结合 有关公式求 ,若要精确到以 40 位、50 0 位数字,试比较简单公式和 Machi n 公式所用的项数。
(1)真实值: N[Pi,50](2)Arctan 幂级数展开法:
40 位: k=100000;S1=N[4*Sum[(—1)^(n—1)/(2n-1),{n,1,k}],40] 50 位:
k=100000;S1=N[4*Sum[(-1)^(n—1)/(2n-1),{n,1,k}],50](2)简单公式(有效位数为40):
k = 10; S = N[4*Sum[(-1)^(n—1)*(1/2)^(2n-1)/(2n-1)+(—1)^(n—1)*(1/3)^(2n—1)/(2n - 1),{n,1。k}],40](3)简单公式(有效位数为 50):
k = 10; S = N[4*Sum[(-1)^(n-1)*(1/2)^(2n-1)/(2n-1)+(-1)^(n—1)*(1/3)^(2n-1)/(2n-1),{n, 1.k}],50](4)Machin 公式(有效位数为 40):
k = 10; S = N[4*Sum[4*(-1)^(n—1)*(1/5)^(2n - 1)/(2n—1)-(—1)^(n—1)*(1/239)^(2n—1)/(2n—1), {n,1.k}], 40](4)Machin 公式(有效位数为50): k=10; S=N[4*Sum[4*(—1)^(n-1)*(1/5)^(2n—1)/(2n-1)—(-1)^(n—1)*(1/239)^(2n-1)/(2n—1),{n,1。k}],50] 运行结果: 1.(1)3.149323846264338327953993751(2)3.14934884626433528(3)3.149348846264335284193939649(4)3.112904(5)3.07062(6)3.1491696917279619620105448141(7)3。149169691727961962519829326 综合结果可知,Machin 公式所得结果比简单公式所得结果收敛的速度快。
5、、用数值积分计算 , , 分别给出用梯形法和 Si mn pson 法精确到 0 10 位数字、用 Simpson n 法精确到 5 15 位数字时所用的项数 n n 及的 近似值 梯形法:
n=5000; y[x_]:=4/(1+x*x);s1=(Sum[y[k/n],{k,1,n-1}]+y[0]+y[1]/2)/n; N[s1,10] 输出: 3。141992647 Simpson 法(精确到10位数字): n=5000; y[x_]:=4/(1+x*x); s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n—1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/(6*n); N[s2,10] 输出: 3.141592654
Simpson法(精确到15位数字):
n=5000;y[x_]:=4/(1+x*x); s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/(6*n); N[s2,15] 输出:
3。149 6、用计算机模拟Bu ff on n 实验,给出 n= 1 ,0 00 0、10,000、1 1,0 00, 00 00 时的模拟结果.(1)(n=1000 时)n=1000;a=20;l=10;S4=Block[{i,m=0},For[i=n,i〉0,i—-,m=m+If[Random[]*a/2<=l/2*Sin[Random[]*Pi/2],1,0]];N[(2*l*n)/(a*m),10]] 输出:
3.105590062(2)(n=10000 时)n=10000;a=20;l=10;S4=Block[{i,m=0}, For[i=n,i〉0,i-—,m=m+If[Random[]*a/2 〈= l/2*Sin[Random[]*Pi/2],1,0]];N[(2*l*n)/(a*m),10]] 输出:
3.185727939(3)(n=1,000,000时)n=100000;a=20;l=10; S4=Block[{i,m=0},For[i=n,i〉0,i——,m=m+If[Random[]*a/2 <= l/2*Sin[Random[]*Pi/2],1,0]];N[(2*l*n)/(a*m),10]] 输出: 3.150697880 实验要求: 撰写实验报告 写出试验过程中所使用的Mathematica 程序或语句和计算结果 南京信息工程大学 实验(实习)报告 实验课程 数学实验 实验名称 第三次实验 实验日期 2015—10-21 指导老师 专业 年级 姓名 学号 得分 --- --—-----—--- --——--—--—---—----—-------——-—- -—-----——---——- - - --- 实验目的:
熟悉差分方程的求解,以及相关金融问题的数学建模方法。
实验内容:
1、假设住房贷款的年利率表为 贷款时间 年利率 1~5年 4.77% 5 年以上(不含5年)5.04% 试根据以上年率表,计算出每万元 1~10 年的月还款表。
程序如下:
1、五年以内: For[a=10000;;r=0.0477/12;k=1,k 5,k++,Print[k]; b=(a*r*((1+r)^(k*12)))/((1+r)^(k*12)-1);Print[b//N]] 2、五年以上: For[a=10000;;r=0.0504/12;k=6,k 10,k++,Print[k];b=(a*r*((1+r)^(k*12)))/((1+r)^(k*12)-1);Print[b//N]] 输出结果: 1、五年以内: 1 855.021 2 437。685 3 298。677 4 229.253 5 187。66 2、五年以上:
6 161。235 7 141.527 8 126.79 9 115。366 10 106.261 2、小李夫妇曾经准备申请商业贷款 10 万元用于购置住房,每月还款 880.66 元,25年还清。
房产商介绍的一家金融机构提出:贷款 10 万元,每半月还款 440。33 元, 22 年还清,不过由于中介费手续费等原因,贷款时要预付 4000元。
费付预然虽,虑考李小ﻫ用不少,可是减少三年还款期意味着减少还款近3 万 2 千元,而每月多跑一趟,那不算什么.这机构的条件似乎还是蛮优惠的。
较比,平水率利的款贷种两算计过通试ﻫ那种贷款更优惠.程序如下: 1、商业贷款:
a=100000;k=25;b=880。66;r=。
FindRoot[(a*(r/12)*((1+(r/12))^(k*12)))/((1+(r/12))^(k*12)—1)—b,{r,0。01}] 2、金融机构贷款:
a=100000-4000;k=2*22;b=440。33;r=.FindRoot [(a*(r/24)*((1+(r/24))^(k*12)))/((1+(r/24))^(k*12)—1)-b,{r,0.01}] 输出结果:
1、商业贷款:
{Null(r 0。0960003)} 2、金融机构贷款: {Null(r 0。0969953)} 综合得出,由于金融机构贷款利率高于商业贷款利率,所以商业利率贷款更优惠。
3、试比较两种提前还款方式的优劣(附加)所谓提前还贷是指借款人在保证按月按额偿还个人住房贷款本息的基础上,提前偿还部分或全部购房借款的一种经济行为。每次提前还款后,相应冲减余贷款本金.银行根据尚未归还的贷款本金重新计算借款人的月均还款额,直至贷款本息全部还清.重新计算月还款金额有两种方式:
A、提前还款额冲抵最后月份的本金,每月的还款额度不变,还款时间缩短;、Bﻫ提前还款额冲抵本金后,将剩余的贷款重新计算月还款额减少,还款时间不变。ﻫ例如,谢先生申请公积金贷款 30 万元,贷款期限为 20 年,在正常按月还了 5 年贷款后,谢先生决定提前还5万元本金,然后再继续按月还款。
试比较两种提前还款方式的优劣?‘ 程序如下:
A 方案:
a=300000;r=0.0504/12;k=20;b=(a*r*((1+r)^(k*12)))/((1+r)^(k*12)-1);n=b*15*12-50000; Print[n//N] ; a=300000;r=0.0504/12;k=20;b=(a*r*((1+r)^(k*12)))/((1+r)^(k*12)-1);n=50000/b; Print[n//N] B方案:
a=300000;r=0。0504/12;k=15; b=15*12*((a*15/20—50000)*r*((1+r)^(k*12)))/((1+r)^(k*12)—1)+50000; Print[b//N]; 输出结果:
A 方案: 307570.25。1699 B 方案: 299757.综合得出,A 方案中,还款额大于B方案,但是能提前两年半把余款还清.B方案还是继续还款 15年,但是还款总额较少.实验要求:
撰写实验报告 写出试验过程中所使用的 Mathematica 程序或语句和计算结果
南京信息工程大学 实验(实习))报告 实验课程 数学实验 实验名称 第四次实验报告 实验日期 2015-10-28 指导老师 专 业 年 级 姓 名 学 号 得分-——-——--———-- -—- - -—-—-—-—- --------————-———-----—--——--——---——-—--- 实验目的:
熟悉迭代法的基本概念,并用迭代法求解方程、方程组的根.实验内容: : 1、自己构造 2 种不同的迭代格式求32 的近似值,并比较收敛速度.2、第一题:
方法一:(牛顿迭代法)语句:
f[x_]:=x^3—2;g[x_]:=3x^2 ; x0=—2。;esp=10^(-6);For[i=1,i 11,i++,x1=x0—f[x0]/g[x0];If[Abs[x1-x0]>esp,x0=x1,Break[]];Print[x1];]输出结果:
-1.16667-0。287982 7。84658 5.24188 3.51885 2。39974 1。171559 1。37023 1.26856 1.25998 1。25992 方法二:(弦位法)语句:f[x_]:=x^3—2 ; Plot[f[x],{x,—2,2}] ; FindRoot[f[x],{x,0,1}] [f[x],{x,0,1}] 输出结果:-2-1 1 2-2.15-2.1-2.05-1.95-1.9-1.85 {x 1。25992} 收敛速度相同.3、画出2cos sin x x x 的图像,并利用牛顿迭代法求出该方程的所有根。
语句:
f[x_]:=Sin[x]*Cos[x]—x^2;D[f[x],x] 输出:
2x Cos x2Sin x2
语句:
f[x_]:=Sin[x]*Cos[x]—x^2; g[x_]:=-2 x+Cos[x]^2-Sin[x]^2; Plot[f[x],{x,-2,2}];x0=0。4;esp=10^(-10); For[i=1,i 10,i++,x1=x0—f[x0]/g[x0];If[Abs[x1-x0]>esp,x0=x1,Break[]];Print[x1];] 输出结果:-2-1 1 2-4-3-2-1 2。32344 1.07198 0。800582 0.71406 0.71406 0。702425 0.702207 0.702207 4、对方程组 b Ax ,设 A 的对角元素 0 iia , 令), , ,(22 11 nna a a Diag D 为对角阵,成写改组程方将ﻫ b x A D Dx )(,或b D x A D I x1 1)( 用 这 种 迭 代 格 式 求 解 方 程 组 b Ax ,其 中 ﻫ2 1 11 1 11 1 2A,b=0 与果结将并ﻫ f Mx x 迭代格式的结果进行比较。
语句:
Jacob 迭代格式:
SeideIterate[a_,b_List,x0_List,n_Integer]:=Module[{ad=Length[a],i,j,k,var=x0},For[i=1,i<=ad,i++,If[a[[i,i]]==0,Print["a[”,i,",",i,"]=0."]; Abort[]]]; For[i=1,i<=n,i++,Print[var];For[j=1,j<=ad,j++,var[[j]]=N[(b[[j]]—Sum[a[[j,k]]*var[[k]],{k,ad}])/a[[j,j]]+var[[j]],20] ];
];] a={{2,-1,1},{1,1,1},{1,1,—2}};b={0,0,0};x0={1,1,1};SeideIterate[a,b,x0,20];输出结果: {1,1,1} {0.,—1.,-0。5} {—0。25,0.75,0.25} {0。25,-0。5,-0.125} {—0.1875,0.3125,0。0625} {0.125,—0.1875,-0。03125} {-0.078125,0.109375,0.015625} {0.046875,-0。0625,—0。0078125}{-0。0273438,0.0351563,0。00390625} {0.015625,-0.0195313,—0。00195313} {-0.00878906,0。0107422,0.000976563} {0。00488281,-0.00585938,-0。000488281} {-0。00268555,0。00317383,0.000244141} {0。00146484,—0.00170898,—0。00012207} {-0。000793457,0。000915527,0.0000610352} 82884000.0-,642724000.0{ ﻭ1,-0.0000305176} {—0。000228882,0.000259399,0.0000152588} {0。00012207,-0。000137329,—7.62939×10-6} {-0。0000648499,0.0000724792,3。8147×10-6} {0.0000343323,-0.000038147,—1.90735×10-6} Seidel 迭代格式: 语句:
LSIterate[m_,f_List,f0_List,n_Integer]:= Module[{i,var=f0,t=Table[{},{i,n}]}, For[i=1,i£ n,i++,t[[i]]=var;var=m。var+f];t] m={{0.33,0.11,0.22},{-0.33,0。56,0。11},{0,0.33,-0.33}}; f={1,1,1};f0={0,0,0};LSIterate[m,f,f0,25] 输出结果:
{{0,0,0},{1.,1.,1.},{1。66,1。34,1.},{1.9152,1.3126,1。1122},{2.02109,1.22538,1。06613},{2.0363,1。13653,1.05255}, {2。02856,1.08026,1。02771},{2.01435,1。04857,1。01734}。1,98300。2{ ﻭ03437,1.01031},{1.99733,1.0291,1.00794},{1.99407,1.02805,1.00698},{1。99266,1.02843,1.00695}, {1.99224,1。02911,1。00709},{1.9922,1.02964,1.00727},{1.99229,1.02997,1。00738},{1.99238,1.03014,1。00745},{1。99244,1。03022,1。00749},{1.99248,1.03024,1。0075}, 9.1{,}5700.1,42030。1,94299.1{ ﻭ925,1.03024,1。0075},{1.9925,1.03023,1.0075},{1。9925,1.03023,1。0075}, {1。9925,1.03023,1.0075},{1。9925,1.03023,1。0075},{1。9925,1。03023,1。0075}}
实验要求:
撰写实验报告 写出试验过程中所使用的 Mathematica 程序或语句和计算结果 南京信息工程大学 实验((实习))报告 实验课程 数学实验 实验名称 第五次实验 实验日期 2015-11-11 指导老师 专 业 年 级 姓 名 学 号 得分——--——- ---—--—----—-------———----—------—--——--——--—---—---———-——-实验目的:
了解有关分形和混沌的基本理论,能够用 Mathematica软件绘制出一些简单的分形和混沌图形。
实验内容:
1、用 Mathematica软件绘制一个分形的图形,图形类别自选.Koch 雪花曲线 程序如下:
redokoch[ptlist_List] := Block[{tmp = {},i,pnum = Length[ptlist]},For[i =1,i < pnum,i++, tmp = Join[tmp, {ptlist[[i]], ptlist[[i]]*2/3 + ptlist[[i + 1]]/3,(ptlist[[i]] + ptlist[[i + 1]])/2 + { ptlist[[i]][[2]] - ptlist[[i + 1]][[2]],ptlist[[i + 1]][[1]]—ptlist[[i]][[1]]}*Sqrt[3]/6, ptlist[[i]]/3 + ptlist[[i + 1]]*2/3, ptlist[[i + 1]]}]]; tmp] ; lnko01 = {{0,0},{1, 0}}; Show[ Graphics[Line[Nest[redokoch, lnko01,5]],AspectRatio -> Sqrt[3]/6]] 图像如下: 2、令 1)(5.01)(5.02 21 1sz z psz z p,其中 I s 5.0 5.0 ,绘制出相应的 IFS 吸引子图形,并取不同的s,观察图形的变化。
程序如下:
s=0.5+0.5*I;
p1=0。5;f1[z_]:=s*z+1; p2=0.5;f2[z_]:=s*z-1; f[z_]:=Block[{tmp},tmp=Random[];Which[tmp<p1,f1[z],tmp<1,f2[z]]]; Array[mu,{150,150}];showIFS[z0_,shrage_List,divi_List,nmax_]:= Block[{i,j,z=z0,a=divi[[1]],b=divi[[2]],temp1,temp2,mumax=0},For[i=a,i〉=1,i——,For[j=b,j>=1,j--,mu[i,j]=0]]; For[i=nmax,i>=1,i-—,temp1= Floor[a*(Re[z]-shrage[[1]][[1]])/(shrage[[2]][[1]]—shrage[[1]][[1]])]+1;temp2=Floor[b*(Im[z]-shrage[[1]][[2]])/(shrage[[2]][[2]]-shrage[[1]][[2]])]+1;mu[temp1,temp2]++;z=f[z];];For[i=a,i>=1,i-—,For[j=b,j>=1,j--,mumax=Max[mumax,mu[i,j]]]];mu1=Table[GrayLevel[1-N[mu[j,i]]/mumax],{i,a},{j,b}];Show[Graphics[RasterArray[mu1]]]];showIFS[0+I 0,{{—0.1,-0。1},{1。1,1.1}},{150,150},10000] 图像如下:
3、用 Mathematica 软件绘制一个混沌的图形,图形类别自选。
用二次迭代序列迭代函数 f(x)=ax(1-x)程序如下:
IterGeo[u_,x0_] := Module[{p1,p2, i,pointlist = {}, var = x0,fvar = u*x0*(1-x0)},p1 = Plot[{u*x*(1-x), x}, {x, 0, 1},DisplayFunction -> Identity];For[i = 1,i 〈 20, i++, AppendTo[pointlist, {var,fvar}]; AppendTo[
pointlist,{fvar, fvar}];var = fvar; fvar = u*var*(1—var)];p2 = ListPlot[pointlist, PlotJoined -〉 True, DisplayFunction-> Identity];Show[{p1,p2},DisplayFunction-〉 $DisplayFunction]];IterGeo[3.6, 0.8] 图像:
0.2 0.4 0.6 0.8 10.20.40.60.81 4、谈谈你所认识的分形和混沌。
答:分形:具有无限嵌套层次的精细结构,且在不同尺度下保持相似属性。
混沌:对初值敏感,而且不是随机的.实验要求:
撰写实验报告 写出试验过程中所使用的Mathematica 程序或语句和计算结果
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《数学实验课程实验报告》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
