文档库 最新最全的文档下载
当前位置:文档库 › Mathematica实验报告

Mathematica实验报告

Mathematica实验报告
Mathematica实验报告

实验名称Mathematica综合实验

实验目的和要求:

通过本次综合实验,进一步熟练掌握Mathematica系统中进行程序设计的基本方法,熟练运用各种综合性语句,完成Mathematica绘图、计算和编程等常用操作,进一步熟练掌握其功能和语法。

实验内容和步骤:

1、用Mathematica编写20以内整数加法程序。

运行以下程序:

输出结果:

2、编写程序,列出9*9的乘法表来。

输入程序:

9*9乘法表

3、编写程序,输入两个正整数,用“辗转相除法”求它们的最大公约数。

辗转相除法:

(1) 以大数m作被除数,小数n做除数,相除后余数为r。

(2) 若r ≠ 0,则m ← n,n ← r,继续相除得到新的r。若仍有r ≠ 0,则重复此过

程,直到r = 0为止。

(3) 最后的n就是最大公约数。

Mathematica代码如下:

运行结果

4、统计一个班级某次考试个分数段的人数。

输入程序:

运行结果:

5、编写程序用切线法求方程的解。Mathematica语句和运行结果如下:

6、编写Mathematica程序显示二维码图像。输入程序:

二维码图像

7、用0~8这九个数字,组成一个二位数和一个三位数相乘使他们的积恰好是四位数.数字不能重复。即□□×□□□=□□□□

输入以下Mathematica程序:

输出结果:

8、用Mathematica编写程序绘制一个围棋棋盘.

输入以下程序:

围棋棋牌

9、假设新开辟的国家公园里没有兔子和狐狸,现引进兔子和狐狸个50只,n 个月后兔子和狐狸的数量分别记为n R 和n F ,

假定有??

?+=-=++n

n n n n n F R F F R R 6.02.02.01.111

Mathematica 程序如下:

运行结果如下:

注释:在一段时间内,兔子和狐狸的数量均会减少,但最终均会趋于一个稳定值。

10、有一个木工、一个电工和一个油漆工,三人协商合作装修他们的房子,并达成如下协议:

a.每人总共工作10天(包括给自己家干活);

b.每人日工资根据市场价确定在60 80 元之间;

c.每人的总支出与每人的总收入相等。表中是他们协商后制定出的工作天数分配方案。

木工 电工 油漆工

在木工家工作的天数 2 1 6 在电工家工作的天数 4 5 1 在油漆工家工作的天数 4 4 3 试确定三个工人各自的日工资数为多少?

解:设木工日工资为x ,电工日工资为y ,油漆工日工资为z ,

则有如下方程组:

??

?

??=---=---=---0344100541006210z y x z z y x y z y x x 解方程组得:

Mathematica数学实验——随机变量的概率分布

教师指导实验7 实验名称:随机变量的概率分布 一、问题:求二项分布、几何分布、正态分布在给定区间上的概率。 二、实验目的: 学会使用Mathematica求二项分布、几何分布、正态分布在给定区间上的概率及期望和方差。 三、预备知识:本实验所用的Mathematica命令提示 1、BinomialDistribution[n,p] 二项分布; GeometricDistribution[p] 几何分布; NormalDistribution[μ,σ] 正态分布; 2、Domain[dist] 求分布dist的定义域; PDF[dist,x] 求点x处的分布dist的密度值; CDF[dist,x] 求点x处的分布dist的函数值; Mean[dist] 求分布dist的期望;Quantile[dist,x] 求x,使CDF[dist,x]=q Variance[dist] 求分布dist的方差;StandardVariance[dist] 求分布dist的标准差; 四、实验的内容和要求: 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; 2、对以上数据绘制样本频率分布直方图; 3、data1={1, 3, 4, 5, 3.5, 3}, data2={3, 2, 5, 3},在同一图表中绘制data1和data2的条形图,并作一定的修饰。 五、操作提示 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; In[1]:=<

Mathematica函数大全(内置)

Mathematica函数大全--运算符及特殊符号一、运算符及特殊符号 Line1;执行Line,不显示结果 Line1,line2顺次执行Line1,2,并显示结果 ?name关于系统变量name的信息 ??name关于系统变量name的全部信息 !command执行Dos命令 n! N的阶乘 !!filename显示文件内容 > filename打开文件写 Expr>>>filename打开文件从文件末写 () 结合率 []函数 {}一个表 <*Math Fun*> 在c语言中使用math的函数 (*Note*)程序的注释 #n第n个参数 ##所有参数 rule& 把rule作用于后面的式子 %前一次的输出 %%倒数第二次的输出 %n第n个输出 var::note变量var的注释 "Astring "字符串 Context ` 上下文 a+b 加

a-b减 a*b或a b 乘 a/b除 a^b 乘方 base^^num以base为进位的数 lhs&&rhs且 lhs||rhs或 !lha非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言 >,<,>=,<=,==,!=逻辑判断(同c) lhs=rhs立即赋值 lhs:=rhs建立动态赋值 lhs:>rhs建立替换规则 expr//funname相当于filename[expr] expr/.rule将规则rule应用于expr expr//.rule 将规则rule不断应用于expr知道不变为止param_ 名为param的一个任意表达式(形式变量)param__名为param的任意多个任意表达式(形式变量) 二、系统常数 Pi 3.1415....的无限精度数值 E 2.17828...的无限精度数值 Catalan 0.915966..卡塔兰常数 EulerGamma 0.5772....高斯常数 GoldenRatio 1.61803...黄金分割数 Degree Pi/180角度弧度换算 I复数单位 Infinity无穷大

Mathematica的常用函数

Mathematica的内部常数 Pi , 或π(从基本输入工具栏输入, 或“Esc”+“p”+“Esc”)圆周率π E (从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数e I (从基本输入工具栏输入, 或“Esc”+“ii”+“Esc”)虚数单位i Infinity, 或∞(从基本输入工具栏输入, 或“Esc”+“inf”+“Esc”)无穷大∞ Degree 或°(从基本输入工具栏输入,或“Esc”+“deg”+“Esc”)度 Mathematica的常用内部数学函数 指数函数Exp[x]以e为底数 对数函数Log[x]自然对数,即以e为底数的对数 Log[a,x]以a为底数的x的对数 开方函数Sqrt[x]表示x的算术平方根 绝对值函数Abs[x]表示x的绝对值 三角函数 (自变量的单位为弧度)Sin[x]正弦函数 Cos[x]余弦函数 Tan[x]正切函数 Cot[x]余切函数 Sec[x]正割函数 Csc[x]余割函数 反三角函数ArcSin[x]反正弦函数 ArcCos[x]反余弦函数 ArcTan[x]反正切函数 ArcCot[x]反余切函数 ArcSec[x]反正割函数 ArcCsc[x]反余割函数 双曲函数Sinh[x]双曲正弦函数 Cosh[x]双曲余弦函数 Tanh[x]双曲正切函数 Coth[x]双曲余切函数 Sech[x]双曲正割函数 Csch[x]双曲余割函数 反双曲函数ArcSinh[x]反双曲正弦函数 ArcCosh[x]反双曲余弦函数 ArcTanh[x]反双曲正切函数 ArcCoth[x]反双曲余切函数 ArcSech[x]反双曲正割函数 ArcCsch[x]反双曲余割函数 求角度函数ArcTan[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度 数论函数GCD[a,b,c,...]最大公约数函数 LCM[a,b,c,...]最小公倍数函数

mathematica数学实验报告

高等数学实验报告 实验一 一、实验题目 1:作出各种标准二次曲面的图形 ParametricPlot3D Sin u Sin v,Sin u Cos v,Cos u ,u,0,Pi ,v,0,2Pi,P Graphics3D ParametricPlot3D u Sin v,u Cos v,u^2,u,0,2,v,0,2Pi,PlotPoints30

Graphics3D ParametricPlot3D u,v,u^2v^2,u,2,2,v,2,2,PlotPoints30 Graphics3D ParametricPlot3D Sec u Sin v,Sec u Cos v,Tan u,u,Pi4,Pi4,v,0,2

Graphics3D t1ParametricPlot3D u^21Sin v,u^21Cos v,u,u,1,5,v,0,2Pi t2ParametricPlot3D u^21Sin v,u^21Cos v,u,u,5,1,v,0,2 show t1,t2 Graphics3D

Graphics3D show Graphics3D,Graphics3D ParametricPlot3D u Cos v,u Sin v,u,u,6,6,v,0,2Pi,PlotPoints60 Graphics3D 2:作出曲面所围的图形 t1ParametricPlot3D Sin u Sin v,Sin u Cos v,Cos u, u,Pi2,pi2,v,0,2Pi,PlotPoints60 t2ParametricPlot3D0.5Cos u12,0.5Sin u, u,0,2Pi,v,0,2Pi,PlotPoints60 t3Plot3D0,PlotPoints60 show t1,t2,t3

Mathematica函数大全

Mathematica函数大全一、运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 n! N的阶乘 !!filename 显示文件内容 <> filename 打开文件写 Expr>>>filename 打开文件从文件末写 () 结合率 [] 函数 {} 一个表 <*Math Fun*> 在c语言中使用math的函数 (*Note*) 程序的注释 #n 第n个参数 ## 所有参数 rule& 把rule作用于后面的式子 % 前一次的输出 %% 倒数第二次的输出 %n 第n个输出 var::note 变量var的注释 "Astring " 字符串 Context ` 上下文 a+b 加 a-b 减 a*b或a b 乘 a/b 除 a^b 乘方 base^^num 以base为进位的数 lhs&&rhs 且 lhs||rhs 或 !lha 非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言

>,<,>=,<=,==,!= 逻辑判断(同c) lhs=rhs 立即赋值 lhs:=rhs 建立动态赋值 lhs:>rhs 建立替换规则 lhs->rhs 建立替换规则 expr//funname 相当于filename[expr] expr/.rule 将规则rule应用于expr expr//.rule 将规则rule不断应用于expr知道不变为止 param_ 名为param的一个任意表达式(形式变量) param__ 名为param的任意多个任意表达式(形式变量) 二、系统常数 Pi 3.1415....的无限精度数值 E 2.17828...的无限精度数值 Catalan 0.915966..卡塔兰常数 EulerGamma 0.5772....高斯常数 GoldenRatio 1.61803...黄金分割数 Degree Pi/180角度弧度换算 I 复数单位 Infinity 无穷大 -Infinity 负无穷大 ComplexInfinity 复无穷大 Indeterminate 不定式 三、代数计算 Expand[expr] 展开表达式 Factor[expr] 展开表达式 Simplify[expr] 化简表达式 FullSimplify[expr] 将特殊函数等也进行化简 PowerExpand[expr] 展开所有的幂次形式 ComplexExpand[expr,{x1,x2...}] 按复数实部虚部展开 FunctionExpand[expr] 化简expr中的特殊函数 Collect[expr, x] 合并同次项 Collect[expr, {x1,x2,...}] 合并x1,x2,...的同次项 Together[expr] 通分 Apart[expr] 部分分式展开 Apart[expr, var] 对var的部分分式展开 Cancel[expr] 约分 ExpandAll[expr] 展开表达式 ExpandAll[expr, patt] 展开表达式 FactorTerms[poly] 提出共有的数字因子 FactorTerms[poly, x] 提出与x无关的数字因子 FactorTerms[poly, {x1,x2...}] 提出与xi无关的数字因子 Coefficient[expr, form] 多项式expr中form的系数

mathematica 数学实验报告材料 实验一

数学实验报告 实 验 一 数学与统计学院 信息与计算科学(1)班 郝玉霞 201171020107

数学实验一 一、实验名:微积分基础 二、实验目的:学习使用Mathematica的一些基本功能来验证或观察得出微积分学的几个基本理论。 三、实验环境:学校机房,工具:计算机,软件:Mathematica。 四、实验的基本理论和方法:利用Mathematica作图来验证高中数学知识与大学数学容。 五、实验的容和步骤及结果 容一、验证定积分 dt t s x ?= 1 1 与自然对数 x b ln= 是相等的。 步骤1、作积分 dt t s x ?= 1 1 的图象; 语句:S[x_]:=NIntegrate[1/t,{t,1,x}] Plot[S[x],{x,0.1,10}] 实验结果如下: 图1 dt t s x ?= 1 1 的图象 步骤2、作自然对数 x b ln= 的图象 语句:Plot[Log[x],{x,0.1,10}] 实验结果如下: 2 1

图2 x b ln= 的图象 步骤3、在同一坐标系下作以上两函数的图象 语句:Plot[{Log[x],S[x]},{x,0.1,10}] 实验结果如下: 2 1 图3 dt t s x ?= 1 1 和 x b ln= 的图象 容二、观察级数与无穷乘积的一些基本规律。 (1)在同一坐标系里作出函数和它的Taylor展开式的前几项构成的多项式函数,,的图象,观察这些多项式函数的图象向的图像逼近的情况。 语句1: s[x_,n_]:=Sum[(-1)^(k-1)x^(2k-1)/((2k-1)!),{k,1,n}] Plot[{Sin[x],s[x,2]},{x,-2Pi,2Pi},PlotStyle->{RGB[0,0,1]}] 实验结果如下: 642 4 2 图4和它的二阶Taylor展开式的图象

MATHEMATICA实验报告

【MATHEMATICA实验报告】 【实验目的】 1.掌握Mathematica软件的启动和退出,以及Mathematica帮助系统。 2.熟悉Mathemaic的计算其功能以及常用的数字函数。 3.掌握变量的定义,变量的操作。 4.掌握函数的定义以及运算。 【实验内容】 1.求下列积分 (1) (4sin()3cos())/(sin()2cos()) x x x x dx ++ ? 输入: y=(4 Sin[x]+3 Cos[x])/(Sin[x]+2Cos[x]); Integrate[y,x] 输出: 2 x-Log[2 Cos[x]+Sin[x]] (2) /2 (cos())^5sin(2) x x dx π ? 输入: y=Cos[x]^5 Sin[2 x] Integrate[y,{x,0,Pi/2}] 输出: Cos x5Sin2x 2 7 (3)1 /(^21)^(3/2) dx x x -+ ? 输入: y=1/(x^2-x+1)^(3/2); Integrate[y,{x,0,1}] 输出: 4 3 2.求积分 1 (1/2)*^(^2/2) e x dx π -∞ - ? 输入:y=E^(-x^2/2)/Sqrt[2*Pi]; NIntegrate[y,{x,Infinity,1}] 输出: -0.158655

3.求y=e^(x^2)在x=0的9阶泰勒公式。 输入: Series[Exp[x^2],{x,0,9}] 输出: 1x 2x 4 2x 66x 824O x 10 4.作出以下参数方程所描述的图形。 (1) 4cos {3sin x t y t ==,(0≤t ≤2π) 输入: ParametricPlot[{4 Cos[t],3 Sin[t]},{t,0,2Pi}] 输出: -4-2 24-3-2 -1 1 2 3 (2)3(cos )^3 {3(sin )^3x t y t -= 输入: ParametricPlot[{3 Cos[t]^3,3 Sin[t]^3},{t,0,2 Pi}] 输出: -3-2-1 123-3-2 -1 12 3

数学应用软件实验报告(mathematica实验程序)1

徐州工程学院数理学院数学应用软件实验报告 课程(实验序号)数学应用软件实验 1 实验地点、日期数学建模机房2011 年 2 月23 日主要仪器设备计算机 使用的软件名称Mathematica 实验类型演示性实验 验证性实验 综合性实验√设计性实验 研究性实验 班级:姓名:孙娅学号:20090402223 一、实验题目名称:函数】变量和表达式 二、实验目的: 理解变量和算式、内核与前端处理器构成的人机对话系统,了解计算的精度问题个Mathematica使用中的几个问题。熟练掌握数的表示和计算、常用数学函数,会绘制简单函数的图形。通过上机初步了解数学应用软件,Mathematica的各种界面。 三、实验内容: 练习题1 1.计算下列各式的数值: (1) Log[2,10] Log[10]/Log[2] (2) Sqrt[Pi^2+1] 1 2 (3) Log[10,3264] Log[3264]/Log[10] (4) E^E ??/2 (5) Cos[135^0] Cos[1] (6) Sin[Pi^2/2] Sin[π2/2] (7) ArcSin[1/2] π/6 (8) 200! 7886578673647905035523632139321850622951359776871732632947425332443594499634033429203042 8401198462390417721213891963883025764279024263710506192662495282993111346285727076331723 7396988943922445621451664240254033291864131227428294853277524242407573903240321257405579

最佳分数值逼近(mathematica数学实验报告)

姓名 ### 学院 ###### 班级 ######### 学号 ######### 实验题目 最佳分数值逼近 评分 实验目的: 1、用“连分数展开”的方法计算圆周率π的近似值; 2、通过实验来体会“连分数展开”的方法与其他方法的区别,比较各种方法的优劣; 3、尝试用“连分数展开”的方法对其他的数进行展开。 实验环境: 学校机房,Mathematica4.0软件 实验基本理论和方法: 1、Mathematica 中常用的展开数与多项式的函数的使用; 2、计算圆周率π“连分数展开”方法,并且利用特定的函数来展开其他数。 实验内容和步骤: (一)多项式的展开与化简 多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica 提供一组按不同形式表示代数式的函数。如: 1、 对12 x 1-进行分解,使用的函数为Factor : 2、 展开多项式 7 x+2()与5 x+y+7(),使用的函数为Expand:

3、 化简(1)^4(2)^(3)x x x +++与(1)^3(2)^4(3)^(1)x x x x +++-,使用的函数为 Pimplify: 4、 连个多项式相除,总能写成一个多项式和一个有理式相加, Mathematic 中提供两个 函数PolynomialQuotient 和PolynomialRemainder 分别返回商式和余式:

(二)π的连分数展开 π的求解方法之前我们已经有许多种,但都比较繁琐而且误差较大,如何找到误差较小的π的近似值求解方法,我们在所得整数3的基础上进行分析,有了整数3,则 π=3+1x ,其中10.141592653579...x =是3的误差,101x <<。只要能找到1x 的最佳分数逼近值,再加3就得到π的最佳分数近似值。从而我们使用一种方法“连分数展开“,其原理是: 为了寻找与1x 接近的分数,先找与11 1 7.062513305931...A x = =接近的整数,显然 是7.于是111223377 A π=+ ≈+=,这是祖冲之的效率。 在此基础上,我们可以再用上述方法,要找到比 22 7 误差更小的分数近似值,只需要找到比整数7更接近1A 的分数来作为1A 的近似值。由于127A x =+,其中 200.062513305931...1x <=<。先找22 1 15.996594406685...A x = =的最佳整数近似值,显然是16.于是1211113771616A A =+ ≈+=,从而1 2 111355 3331 1113 7716 A A π=+=+≈+ = + +,这就得到祖冲之的密度。 如果还要进一步提高精确度,就应当在考虑2A 的整数近似值16的误差 32160.003405593314...x A =-=,取33 1 293.6345910144...A x = =的整数近似值294,则可

Mathematica常用指令

表达式: Plot[4 x - 9, {x, 0, 9}] f[x_] = x^3 Plot[f[x], {x, 0, 9}] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] 两图画在一个坐标系 Show[a, b] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] 两图画在一起(一排) c = GraphicsArray[{a, b}] Show[c] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] c = GraphicsArray[{a}, {b}] 两图画在一起(两排) Show[c] 二维画图: Automatic 默认值 DisplayFunction -> Identity 不出现图 DisplayFunction -> $DisplayFunction 出现图 PlotRange -> All 画出所有点,指定区域点 PlotStyle -> {RGBColor[1, 0, 0]} 图像颜色 PlotStyle -> {Dashing[{0.01}]} 图像成虚线 PlotStyle -> {Thickness[0.01]} 图像粗细 AxesLabel -> {"x/t", "y/cm"} 坐标标签 PlotLabel -> {"s-t"} 图像标签 Frame -> True 图像边框 Axes -> {True, True} 坐标轴的显示 AxesOrigin -> {0, -5} 设置坐标原点 GridLines -> {{-π, -π/2, 0, π/2, π}, {-1,-0.5,0, 0.5, 1}} 给坐标轴分网格 TextStyle -> {FontSize -> 30} 坐标字体大小AspectRatio -> Automatic 坐标比例一致 Ticks -> {{0, 1, 2, 3}, {0,10,20}} 在坐标轴上显示特定点ParametricPlot[x(t),y(t)},{t,0,6,}] 画参数方程

Mathematica中的常用函数命令

第8章Mathematica中的常用函数8.1 运算符及特殊符号 Linel 执行Line,不显示结果 Linel,line2 顺次执行Line1,Line2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 N! N的阶乘 !!filename 显示文件内容 <>filename 打开文件写 Expr>>>filename 打开文件从文件末写 ( ) 结合率 [ ] 函数 { } 一个表 <*MathFun*> 在c语言中使用math的函数 (*Note*) 程序的注释 #n 第n今参数 ## 所有参数 Rule& 把rule作用于后面的式子 % 前一次的输出 %% 倒数第二次的输出 Var::mote 变量var的注释 “Astring”字符串 Context 上下文 A+b 加 a-b 减 A*b或ab 乘 A/b 除 8.2 系统常量 Pi 3.1415的无限精度数值 E 2.17828的无限精度数值 Catalan 0.915966Catalan常数 EulerGamma 0.5772Euler常数 Khinchin 2.68545Khinchin Glaisher 0.915966Glaisher GoldenRatio 1.61803黄金分割数 Degree π/l80角度弧度换算 I 复数单位 Infinity 无穷大

-Infinity 负无穷大 Complexlnfinity 复无穷大 Indeterminate 不定式 8.3 代数计算 Expand[expr] 展开表达式 Factor[expr] 展开表达式 Simplify[expr] 化简表达式 FullSimplify[expr] 将特殊函数也进行化简PowerExpand[expr] 展开所有的幂次形式ComplexExpand[expr,{x1,x2…}] 按复数实部虚部展开FunctionExpand[expr] 化简表达式中的特殊函数 Collect[expr,x] 合并同次项 Collect[expr,{x1,x2,…}] 合并x1,x2,...的同次项 Together[expr] 通分 Apart[expr] 部分分式展开 Apart[expr,var] 对var的部分分式展开 Cancel[expr] 约分 ExpandAll[expr] 展开表达式 ExpandAll[expr,patt] 展开表达式 FactorTermsrpoly] 提出共有的数字因子 FactorTerms[poly,x] 提出与x无关的数字因子 FactorTerms[poly,(x1,x2…)] 提出与xi无关的数字因子 Coefficient[expr,form] 多项式expr中form的系数 Coefficient[expr,form,n] 多项式expr中form^n的系数 Exponent[expr,form] 表达式expr中form的最高指数 Numerator[expr] 表达式expr的分子 Denominator[expr] 表达式expr的分母 ExpandNumerator[expr] 展开expr的分子部分 8.4 解方程 Solve[eqns,vats] 从方程组eqns中解出Vats Solve[eqns,vats,elims] 从方程组eqns中削去变量elims,解出vats DSolve[eqn,y,x] 解微分方程,其中、y是x的函数 DSolve[{eqnl,eqn2,…},{y1,y2…},] 解微分方程组,其中yi是x的函数DSolve[eqn,y,{x1,x2…}]解偏微分方程 Eliminate[eqns,Vats] 把方程组eqns中变量vars约去SolveAlways[eqns,vars] 给出等式成立的所有参数满足的条件Reduce[eqns,Vats] 化简并给出所有可能解的条件LogicalExpand[expr] 用&&和,,将逻辑表达式展开InverseFunction[f] 求函数f的反函数 Root[f,k] 求多项式函数的第k个根

Mathematical常用功能大全-精简版

Mathematica for Windows 常用用法 一、Mathematica 的主要功能 Mathematica 是美国Wolfram 公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。 二、Mathematica 的基本知识 1.输入表达式:直接输入一个表达式(包括算式和命令,长表达式用“Enter ”换行)后,按“Shift+Enter ”执行,执行后以“Out[命令序号]= ……”形式输出执行结果,输出的结果可在后续的表达式中使用。 若命令后有分号,则不输出执行结果(图形输出与Print 命令除外)。 “%”表示上一个输出,“%%”表示倒数第2个输出,“%i”表示第i个 命令的输出。 2.运算符:+、-、*、/、^ ,“*”可用空格代替,“^”表示乘方。 如:In[1]:=2^10,输出为“Out[1]= 1024”,其中“In[1]:=”不需要输入。 In[2]:=3+5,Out[2]= 8;In[3]:=%-2,Out[3]= 6; In[4]:=%2+4,Out[4]= 12; In[5]:=1/3-1/4,Out[5]=12 1 ;In[6]:=N[%],Out[6]= 0.0833333; In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写) 3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x 的赋值。 表达式/.t ->c ,将表达式中的t 全替换成c 。?x ,查x 信息。 4.常用的数学常数:Pi (π)、E(e)、Infinity (∞)、I (1-) 5.常用的数学函数:Abs, Sin, Cos, Tan, Cot, ArcSin, Log (自然对数), Sqrt, Exp 如:In[1]:=Sqrt[2]+1;In[2]:=Sin[2]+ArcSin[1];In[3]:=Exp[2]+% (自变量用[ ]括,区分大小写,首字母大写) 三、常用运算 1.多项式运算:In[1]:= (2+4*x^2)*(1-x)^3 或 In[1]:= t = (2+4*x^2)*(1-x)^3 (将右端表达式赋值给t ); In[2]:=a=t/.x->4 (计算表达式t 当x=4时的值,并赋值给变量a ) In[3]:=a=. (清除变量a ) In[3]:=Expand[t](展开);In[4]:=Factor[%](把上一个结果因式分解) 2.解方程:In[1]:=Solve[x^2+3*x = = 2];In[2]:=N[%]; In[3]:=Solve[a*x-b= = 0, x]; In[4]:=NSolve[{x-2*y= =0,x^2-y= =1},{x,y}](解方程组并得到数值解) 3.自定义函数:In[1]:= f [x_ ]:=x^2+2*x ; In[2]:=f[5]+7; In[3]:=f[a+b] 4.求极限:In[1]:=Limit[Sin[x]/x, x ->0]; In[2]:=Limit[(1+1/n)^n, n->Infinity],Out[2]=E 5.求(偏)导数:In[1]:=D[a*x^2+3, x];In[2]:=D[x^2+y^3-Sin[2*y], y](对y 的偏导数); In[3]:=D[Log[x], {x,2}] (求对x 的二阶导数); In[4]:=D[Sin[x+y]*Exp[z*y^2],x,y] (求对x 、y 的二阶混合偏导数); In[5]:=Simplify[%] (对前一结果化简); In[6]:=D[Sin[x+y]*Exp[z*y^2],{x,2},{y,3}] 6.求不定积分:In[1]:=Integrate[x^2,x];In[2]:=Integrate[1/(x^2+a^2),x] 7.定积分:In[1]:=Integrate[x^2, {x,0,1}];In[2]:=Integrate[x^2,{x,a,b}]; In[3]:=Integrate[x^2+y^2, {x,0,a},{y,0,b}];(求矩形域上的二重积分) In[4]:=Integrate[1, {x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}];Out[4]=Pi (圆面积) 8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x 的四次幂) 9.矩阵的输入和输出:In[1]:= a ={{1,2},{3,4}}(定义一个2x2的矩阵a ,按 行写); In[2]:=MatrixForm[a](输出为矩阵形式);In[3]:=Transpose[a](a 的转置); In[4]:=a[[2]](a 的第2行);In[5]:=Tanspose[a][[2]](a 的第2列); In[6]:=Inverse[a](求a 的逆矩阵);In[7]:=Det[a](矩阵的行列式); In[8]:=Eigenvalues[a](求特征值);In[9]:=Eigenvectors[a](求特征向量); In[10]:=RowReduce[a](把a 化为阶梯形,可用于求矩阵的秩、判断线性相关性); In[11]:= b ={{5,6,7},{8,9,10}};In[12]:= a .b (矩阵a 与b 的乘积) 10.解线性方程组: In[1]:= a ={{3,4,5,6},{6,8,10,12},{4,5,6,7},{5,6,7,8}};(a 的秩为2) In[2]:= b ={1,2,3,5}(列向量);(增广矩阵的秩也为2) In[3]:=LinearSolve[a,b](求线性方程组ax=b 的一个特解); In[4]:=NullSpace[a](求线性方程组ax=0的一个基础解系); In[5]:= x =k1%4[[1]]+k2%4[[2]]+%3(ax=b 的全部解,k1、k2为任意常数) 11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数∑ ∞=13sin n n n 的和) 12.求极小值:In[1]:=FindMinimum[Sin[x]*Cos[x],{x,0.5}](求函数在0.5附 近的极小值); In[2]:=FindMinimum[Sin[x*y]*Exp[x^2],{x,0.2}, {y,0.3}](求多元函数极小值) 13.求解线性规划问题:Min cx ,mx ≥b ,x ≥0,求向量x 。 In[1]:= c ={2,-3}(列向量);In[2]:= m ={{-1,-1},{1,-1},{1,0}}; In[3]:= b ={-10,2,1}; In[4]:=LinearProgramming[c,m,b] 14.数据拟合:In[1]:= d ={{1,2.18},{1.2,2.56},{1.6,3.0},{1.8,2.66}}; In[2]:= f =Fit[d,{1, x, x^2}, x](求和上面4个点吻合最好的二次多项式f ); 检验效果:In[3]:=ListPlot[d](画d 中4个点的图); In[4]:=Plot[f,{x,0.8,2.0}](画多项式f 在x 从0.8到2.0之间的图); In[5]:=Show[%3, %4](把上面两个图画在一起) 注:函数集{1, x, x^2}可以是更高次的或其它函数集,如三角函数集等。 15.一元函数作图:In[1]:=Plot[Exp[-x^2]*Sin[6*x],{x,-2,2}](如图1) 参数方程作图:In[2]:=ParametricPlot[{Sin[t]^3,Cos[t]^3},{t,0,2*Pi}] 16.二元函数作图:In[1]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi}];(如图2) In[2]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi},PlotPoints->40, ViewPoint->{2,-3,2}] In[3]:=ParametricPlot3D[{Cos[u]*Cos[v],Sin[u]*Cos[v],Sin[v]},{u,0,2*P i},{v,-Pi/2,Pi/2}] 17.数据画图:In[1]:= d ={{1,2},{3,4},{7,6}};In[2]:=ListPlot[d]; In[3]:=ListPlot[d, PlotStyle->{RGBColor[1,0,0], PointSize[0.02]}](红色 的大点); 或直接用 In[4]:=ListPlot[{1,2},{3,4},{7,6}] 代替“In[2]:=”。 18.作图范围:In[1]:=Plot[x-x^3/6,{x,-4,4}]; In[2]:=Plot[x-x^3/6,{x,-4,4},PlotRange->{-5,2}](限定纵坐标(函数值)范围) 19.图形组合:In[1]:=Plot[{Sin[x],Cos[x]},{x,0,2*Pi}];或 In[2]:= g1=Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[3]:= g2=Plot[Cos[x],{x,0,2*Pi}, PlotStyle->{RGBColor[0,0,1]}]; In[4]:=Show[g1,g2](把g1、g2画在一起) 20.文件的使用:In[1]:= y =25;In[2]:= a ={{1,4},{2,6}};In[3]:= f [x_ ]:=x^2 ; In[4]:= g =Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[5]:=Save[“abc .m”,a,y,f,g](将a, y, f, g 保存在文件“abc .m ”中,扩 展名为m ); In[6]:=!!abc .m (显示文件内容); In[1]:=<8,3,4];In[2]:=x=10; In[3]:=y=20;In[4]:=If[x==y,a,b] 2. 循环:(1) For[初值,条件,增量表达式,循环体] 先赋初值,再判断条件,条件为真时执行循环体,最后计算增量,再判断条件。 In[1]:=For[a=1, a<5, a=a+1, Print[a]] In[2]:=For[k=1;s=0;t=1, k<=10, k=k+1, s=s+k ;t=t*k] In[3]:=Print[“s=”,s , “\n ”, “t=”,t ] In[4]:=For[k=1, k<3, k=k+1, Plot[Sin[x],{x,k,2*Pi+k}]] (2) Do[循环体,{循环变量,起始值,终止值,步长}] In[1]:=s=0;Do[s=s+i,{i,1,100,1}];s In[2]:=Do[p[i]=Plot[Sin[i*x],{x,0,Pi}],{i,1,2}] In[3]:=Show[p[1],p[2]] 五、一个编程例子 ===================================================== (* 这是一个例题 每行后按回车键 用半角标点符号*) Print["请回答3个题目"] For[i=1,i<=3,i=i+1, a=Random[Integer,{1,100}]; b=Random[Integer,{1,100}]; Print["第(",i,")题 ",a,"+",b,"=?"]; c=Input["请输入计算结果"]; If[c==a+b, Print[" 对了!"], Print[" 错,应为 ",a+b] ] ]; Print["没有题目了。"] ====================================================== 六、编程练习:从数据文件中读出5组身高与体重数据(ReadList ),(1) 画出散点图(ListPlot );(2) 用Fit 求出拟合直线;(3) 用回归公式求出回归直线; (4) 画出回归直线的图形(Plot );(5) 将回归直线和散点图画在一起(Show )。 注:数据文件内容为 1.54 48 1.6 55 1.65 60 1.71 62 1.74 70

mathematica数学实验报告

mathematica数学实验报告

姓名 *** 学院 数信学院 班级 ************ 学号 ************ 实验题目 素数 评分 实验目的: 1、掌握素数的判别方法,并会求解某些范围内的素数; 2、通过编程演示某些范围内的素数、深刻了解其求解过程; 3、通过上机来增强自己的动 手能力及实践创新能力。 实验环境: 学校机房,Mathematica4.0软件 实验基本理论和方法: 1、Mathematica 中常用的函数及函数调用的方法; 2、对素数的概念及特征的掌握,利用素数的特征求素数。 实验内容和步骤: 如果一个大于1的自然数只能被1及它本身整除,则该数称为素数。否则被称为合数。从数学史的黎明时期开始,数学家就一直在探索自然数的奥秘。远在古希腊时代,欧几里得就证明了每一个合数都可以分解为若干个素数的乘积,并在不计较素数的排列顺序时这种分解是唯一的,这就是所谓的算术基本定理,算术基本定理表明,素数是构造自然数的基石,正如物质的基本粒子一样。正是由于素数如此重要的地位才使得一代又一代数学家努力地探索素数的规律。首先,一个最基本的问题是 素数到底有多少个? 会不会在某一充分大的自然数以后就没有素数了呢?答案是否定的。欧几里得时代已证明了这一结论。他使用的简洁而优美的论证方法至今仍不失为数学推理的光辉典范。假设素数只有有限个,按从小到大的顺序排列为12,,...,.n p p p 。令12...1n N p p p =+,则N 不被,1,2,...,i p i n =中任何一个整除。因而,N 要么是素数,要么有比n p 大的素因子,这与n p 为最大素数相矛盾。 关于素数的下一个基本问题是:如何求出小于某一给定整数的所有素数? 1. Eratosthenes 筛法求素数 古希腊的另一位学者Eratosthenes 给出了解决这一问题的方法,这一方法被后人称为Eratosthenes 筛法。Eratosthenes 筛法的基本思想是,将自然数列从2开始按顺序排列至某一整数N 。首先,从上述数列中划去所有2的倍数(不包括2)。在剩下的数中,除2外最小的是3。接着,从数列中划去3的倍数(不包括3)。然后在剩下的数中,再划去5的倍数……。这个过程一直进行下去,则最后剩下的数就是不超过N 的所有素数。下面我们就利用筛法通过编程实现求某个数的所有素数。 利用Eratosthenes 筛法,通过计算机编程求100,500,1000,1500的所有素数,运行过程如下:

相关文档
相关文档 最新文档