伤城文章网 > 数学 > 数学实验第一章,于佳丽

数学实验第一章,于佳丽


数学实验
于佳丽

1/22

实验是获取信息的一种活动 ——观察?猜测?验证?获取信息 数学实验——使用数学软件快速获取有价值数据

2/22

MATLAB (MATrix LABoratory )
美国MathWorks公司出品的商业数学软件, MATLAB和Mathematica、Maple并称为三大数学软件 。它在数学类科技应用软件中在数值计算方面首屈 一指。

3/22

数学实验——使用数学软件快速获取有价值数据

?熟练掌握MATLAB的命令操作方式
?掌握MATLAB程序设计方法

?以MATLAB为操作平台完成实验作业

4/22

思考问题,完成实验报告,提升数学能力 探月卫星速度计算实验

5/22

如何参与“数学实验”?
1.收集与问题相关信息(Inter网); 2.利用计算机将想法实现(数学软件); 3.分析数据并发现新问题(思考); 4.小结并写出对问题理解(小论文) 数学实验成绩如何构成? 1.上机实验报告占总成绩30%; 2.平时成绩占总成绩10%; 3.数学实验期末考试占总成绩60%。
6/22

MATLAB (MATrix LABoratory )
基本数据单位:矩阵。
它的指令表达式与数学、工程中常用的形式十分相 似,故用MATLAB来解算问题要比用C,FORTRAN等语 言完成相同的事情简捷得多。

7/22

MATLAB (MATrix LABoratory ) 一种解释式语言.易学易用、代码短效率高、 具有强大的数值计算和绘图功能、扩展性强. ?矩阵的数值运算、数值分析、数值模拟 ?数据可视化、绘制 2维/3维 图形 ?可以与FORTRAN、C/C++做数据链接

?几百个核心内部函数
?几十个工具箱(信号处理、自动控制、· ) · ·
8/22

发展历程
? 20世纪70年代,美国新墨西哥大学计算机科学系 主任Cleve Moler为了减轻学生编程的负担,用 FORTRAN编写了最早的MATLAB。
? 1984年由Little、Moler、Steve Bangert合作成 立了的MathWorks公司正式把MATLAB推向市场。到 20世纪90年代,MATLAB已成为国际控制界的标准 计算软件。

9/22

10/22

MATLAB 使用入门 (I)
? MATLAB 工作界面与窗口
? 向量创建与一元函数图形

11/22

工作空间浏览

命令历史窗口

命令窗口

MATLAB桌面

12/22

————MATLAB 工作界面和窗口————

命令窗口、图形窗口、编辑窗口、帮助窗口

13/22

命令窗口操作
例1.1 A=magic(3) 例1.3 logo load logo; mesh(L)
A= 8 3 4 1 5 9 6 7 2

14/22

Matlab 数值计算
? 英文状态、半角 ? 不支持大写输入,内核仅仅支持小写

15/22

Matlab 数值计算
? 数值的表达式 -2 5.67 2.5e24( 2.5 ? e24) 2.5e-24( ? e?24) 2.5
? 复数 (i,j) z= a+b*i z=a+b*j Z=a+bi z=a+bj (b是标量)conj(z) angle(z) 例: a=1-2i abs(z) ? 矩阵和数组(矩阵和向量都是数组) real(z) imag(z) 复数z的实部 复数z的虚部 共轭复数 复数z的相角 复数z的长度

16/22

————常数和变量————

常 数 ans eps realmax realmin pi i,j inf NaN







默认变量名,保存最近的结果 浮点相对精度 最大浮点数

最小浮点数
圆周率 虚数单位 无限值 不合法的数值值,非数值
17/22 3/16

————常数和变量————

变量——用赋值语句直接创建
d=20200, d=input(‘input d: = ’)

变量名的第一个字符必须是英文字母,最多可以
包括63个字符; x1, x2, x3,alpha, · · · · · ···· 变量名可由英文字母、数字和下划线混合组成; 变量名不可以包含空格和标点

变量名和函数名对字母的大小写敏感;
X,x, Z, z 是不同变量
18/22 4/16

表达式: 由运算符、变量名、数字和函数组成

例1 S=1+2+3+4+·+100= 5050 · ·
例2. 计算 1×2×3×4×5并将结果赋值给变量 x >>x=1*2*3*4*5 x = 120 2000 例3. 计算有理数 21 >> 2000/21 ans = 95.2381
19/22

————MATLAB 常用函数介绍————

+ - * /
abs(x) sqrt(x) exp(x) Log(x)

^

绝对值 开平方 自然指数 自然对数

pow2(x)
log2(x) Log10(x) sign(x)

以2为底的指数
以2为底的对数 以10为底的对数 符号函数
20/22

————MATLAB 常用函数介绍————

三角函数与双曲函数
sin asin cos acos tan atan cot acot sec asec csc acsc 正弦函数 反正弦函数 余弦函数 反余弦函数 正切函数 反正切函数 余切函数 反余切函数 正割函数 反正割函数 余割函数 反余割函数 sinh asinh cosh acosh tanh atanh sech asech csch acsch coth acoth 双曲正弦函数 反双曲正弦函数 双曲余弦函数 反双曲余弦函数 双曲正切函数 反双曲正切函数 双曲正割函数 反双曲正割函数 双曲余割函数 反双曲余割函数 双曲余切函数 反双曲余切函数
21/22

创建向量三种基本方法: 使用方栝号、使用冒号、使用等分函数。 例1.6 给定 ?=150,300,450,600 , 计算 sin ? 的值 alpha=[15, 30, 45, 60]*pi/180; sin(alpha) ans = 0.2588 0.5000 0.7071 0.8660 方括号直接输入法是创建向量(和矩阵)的常用 方法,输入时将向量元素用方括号“[ ]”括起 来, 元素之间用逗号(或空格)隔开. ? alpha=(15:15:60)*pi/180;sin(alpha)
22/22

————向量创建与一元函数图形————

冒号表达式创建向量使用格式 x = x0:step:xn 当步长 step=1 时可省略为 x = x0:xn 当步长 step 为负数时 x0 应大于 xn

例1 S=1+2+3+4+·+100= · · n=0:100; s=sum(n)

5050

23/22

例1.5 国际象棋发明人向印度国王求赐大麦,希望
得到大麦数量由如下规则计算.在国际象棋棋盘的 64个方格中,第一格放一粒麦粒,第二格放两粒,第 三格放四粒,……,以此类推.每格比前一格麦粒数 多一倍,直到放满64格为止.计算麦粒数.

级数:

S=1+2+22+23+·+263= · ·

?2
n? 0

63

n

? 2 ?1
64

方法一: N=2^64-1

N = 1.8447e+019

方法二: n=0:1:63; S=sum(2.^n)

S = 1.8447e+019
24/22

————向量创建————

3.用线性等分函数linspace(a,b)生成等差数列 x= linspace(2,8) 生成100个数,以2开始,以8结束。

y=linspace(2,8,10) 生成10个数,以2开始,以8结束。

25/22

————一元函数图形————

MATLAB 一元函数绘图方法
plot() 基本绘图方法,利用一元函数自变量的

一系列数据和对应函数值数据绘图。具
有很大灵活性 例如 plot(X,Y), plot(x1,y1,x2,y2)

26/22

正弦函数绘图

x=-6:0.1:6; y=sin(x); plot(x,y)

27/22

plot命令中线型和颜色的使用
格式:plot(x,y,s) 其中 s为类型说明参数,它是由线型、颜色或 顶点标记组合成的字符串(用单引号括起) 符号 线型 符 色 — 实线(默认值) r 红 b 蓝 — — 虚线 c 青 —. 点划线 w 白 : 点连线
28/22

符 g k y m

色 绿 黑 黄 洋红

绘散点图用顶点标记
标记符 + o * . x s d 方式 十字号 小圆圈 星号 小黑点 叉号 小正方形 菱形
29/22

标记符 ^ v > < p h

方式 向上三角形 向下三角形 向右三角形 向左三角形 五角星 六角星

正弦函数绘图

x=-6:0.1:6; y=sin(x); plot(x,y,’r’)

30/22

————向量创建与一元函数图形————

例 用线性等分函数linspace( )创建[0, 2?]上的等分点,
绘出正六边形和正十二边形.

alpha=linspace(0,2*pi,7) bata=linspace(0,2*pi,13); x1=cos(alpha);y1=sin(alpha); x2=cos(bata);y2=sin(bata); plot(x1,y1,x2,y2)

31/22

程序窗口操作
录入程序,调式成功后,将程序文件存盘、命名。在 命令窗口中键入文件名并回车

32/22

坐标系窗口大小的调整
根据要绘制的曲线数据范围自动选择合适的坐标 系窗口大小,但当自动选择的坐标系不太适合时, 可以自定义新的坐标系窗口大小。

axis([xmin xmax ymin ymax]) 设置当前图形窗口的x-轴y-轴的数值坐标数据
坐标的最小值必须小于相应的最大值,否则出错

axis off 去掉坐标系; axis on 保持坐标系
33/22

————MATLAB 常用函数介绍————

round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数

ceil(x):天花板函数,即加入正小数至最近整数

34/22

————MATLAB 常用函数介绍————

rat(x) rem(x,y) lcm(x,y)
gcd(x,y)

分数表示 求x除以y的余数 最小公倍数
最大公因数

35/22

————MATLAB 常用函数介绍————

MATLAB命令窗口的部分通用命令
who clear 列出在MATLAB工作空间中已有的变量 删除内存中的变量(数据)

whos 列出驻留变量的同时,还给出维数及性质 clc
clf ↑ quit

删除命令窗口的内容(已使用过的命令)
删除图形窗口的内容 调出刚才使用过的命令 退出MATLAB
36/22

home 光标移到命令窗口的左上角

? 例 计算函数 y ? x exp( x ) 在[-2,2]上41个均匀 点上的值并绘图
2
0.5

x=-2:0.1:2; y=x.*exp(-x.^2); plot(x,y)

0

-0.5 -2

-1

0

1

2

37/22

例1.13用基本绘图方法绘衰减振荡函数 y = e– 0.5xsin 5x 的图形并用虚线表示振幅衰减情况。

x=0:0.1:4*pi; y= exp(-0.5*x) ; y1=y .*sin(5*x); plot(x,y1,x,y,’--r’,x,-y,’--r’)
1 0.5 0 -0.5 -1

0

2

4

6

8

10

12

14

38/22

————向量创建与一元函数图形————

MATLAB 一元函数绘图方法
ezplot() 简易绘图方法,优点:快速方便

fplot() plot()

函数绘图方法,与简易绘图相似.要给定
自变量变化范围

基本绘图方法,利用一元函数自变量的
一系列数据和对应函数值数据绘图。具 有很大灵活性

例如 plot(X,Y), plot(X,Y,’r’),

plot(x1,y1,x2,y2) plot(x1,y1,’r’,x2,y2,’b’)
39/22

————向量创建与一元函数图形————

例1.10 用ezplot()命令绘衰减振荡曲线函数: y=e -0.5x sin 5x 图形. ezplot('exp(-0.5*x)*sin(5*x)')

40/22

————向量创建与一元函数图形————

在解决实际问题时,如果频繁使用同一个数学表达式, 则应该定义一个临时函数以方便操作. 定义方法: 函数名= inline(‘表达式’) 1 例1.11 画出函数 f ( x ) ? x si n 的图形。 x
0.15

fun=inline('x*sin(1/x)') ezplot(fun,[-0.15,0.15]) fun=inline('x*sin(1/x)') fplot(fun,[-0.15,0.15])

0.1 0.05 0 -0.05 -0.1 -0.1 -0.05 0 0.05 0.1 0.15

41/22

例1.17 用直接方法创建3阶希尔伯特矩阵 ? 1 1 / 2 1 / 3? ?1 / 2 1 / 3 1 / 4? H?? ? ?1 / 3 1 / 4 1 / 5? ? ? H=[1,1/2,1/3;1/2,1/3,1/4;1/3,1/4,1/5] format rat %以分数格式显示数据 H %显示变量H的数据 bar3(H) H=

H= 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000

1 1/2 1/2 1/3 1/3 1/4

1/3 1/4 1/5
42/22

43/22

————矩阵创建常用方法————

直接输入法 特殊矩阵函数法 1.直接输入法; 2.特殊矩阵函数法; 3. 数据文件输入 注意事项 ? 矩阵元素必须在方括号[ ]之内; ? 同一行相邻元素间用逗号或空格分隔; ? 矩阵的行与行之间用分号分隔. A=hilb(3) B=invhilb(3) A*B
A= 1 1/2 1/2 1/3 1/3 1/4 1/3 1/4 1/5

%用函数创建希尔伯特矩阵 %创建希尔伯特矩阵的逆阵 %验证B为A的逆
B= 9 -36 30 -36 192 -180 30 -180 180

ans = 1 0 0 1 0 0

0 0 1

44/22

——特殊矩阵函数表

——

zeros(m,n) eye(m,n) ones(m,n) rand(m,n) randn(m,n) magic(n) hilb(n) invhilb(n) pascal(n) vander(C)

m×n阶零矩阵 m×n阶单位矩阵 m×n阶全1矩阵 m×n阶随机矩阵 正态随机数矩阵 n阶魔方矩阵 n阶Hilbert矩阵 逆Hilbert矩阵 n阶Pascal矩阵 由向量C生成范德蒙矩阵

45/22

例: 创建4阶幻方矩阵A,并验证矩阵A各列元素之和、 各行元素之和以及各对角元之和均为常数 34 。 A=magic(4) sum(A) sum(A’) sum(diag(A)) B=A(:,4:-1:1) sum(diag(B)) ans = 34 34

%求列和 %求行和 %求A对角和 %矩阵翻转 %求B对角和
34 34

A= 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

46/22

二元函数图形绘制方法: 矩阵表示网格、计算网格(X,Y)上函数值、绘网面
创建网格矩阵命令: [X, Y]=meshgrid(x, y)

例1.19 计算二元函数 z = x exp( –x2 – y2)网格点值 [X,Y]=meshgrid(-2:2,-2:2) Z=X.*exp(-X.^2-Y.^2)
X=
-2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2

Y=
-2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2
47/22

创建网格矩阵原理和方法 x=1:6; y=1:8; %创建两个向量 [X,Y]=meshgrid(x,y) %将x和y分别扩充为8行6列 [X,Y]=meshgrid(1:6,1:8) %直接创建两个矩阵X和Y
X= 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2

3 3 3 3 3 3 3 3

4 4 4 4 4 4 4 4

5 5 5 5 5 5 5 5

6 6 6 6 6 6 6 6

Y= 1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

48/22

绘网面命令mesh()使用格式: mesh(x,y,z) 或 mesh(z) 例1.20 绘二元函数 z = x exp( –x2 – y2)的图形。 [x,y]=meshgrid(-2:0.2:2); z=x.*exp(-x.^2-y.^2); mesh(x,y,z) colormap([0 0 1]) 注记: x,y是维数相同的矩阵; 表达式中“.*”和“.^”运算 使得z是与x,y维数相同矩阵。 功能相同的绘图命令:surf, meshc, meshz,··· ··· ··
49/22

例1.16 绘制一元函数y= sin x / x 在[-8,8]上图形。 x=-8:8;y=sin(x)./x; Warning: Divide by zero. plot(x,y) 分母加eps方法避免出错
除零错误导致残缺图形
x2 ? y2 sin x 2 ? y 2

例1.21 绘二元函数

z?

图形

[x,y]=meshgrid(-8:0.5:8); r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; mesh(x,y,z) colormap([1,0,0])
50/22

例1.22 用contour() 命令绘二元函数z = x exp( –x2 – y2) 等高线 [X,Y]=meshgrid(-2:0.2:2); Z=X.*exp(-X.^2-Y.^2); figure(1),contour(Z) %创建1号图形窗口 figure(2), contourf(Z,20) %创建2号图形窗口

51/22

圆域上的复变函数图形
例1.28 复变量 z ? ? e xp(i? ) 满足 | z |? 1 以复变函数

u ? z 的实部为二元函数绘图

r=linspace(0,1,20);r=r'; theta=linspace(-2*pi,2*pi,50); z=r*exp(i*theta); u=r.^(1/2)*exp(i*theta/2); x=real(z);y=imag(z); s=real(u); mesh(x,y,s) colormap([0 0 1]) axis off view(-74,0)
52/22

————数据显示格式————

计算机浮点数表示法
6.378137 ×103 2.99792458 ×105 ? ? 6.378137 e +003 2.99792458e +005

例1.24近似计算地球表面积,并以不同格式输出数据 R=6378.137; S=4*pi*R^2 format long,S format bank,S

format short format long format bank

短格式 银行格式

5.1121e+008

长格式 5.112078933958109e+008 511207893.40
53/22

MATLAB 具 有 一 种 称 为 VPA 类 型 的 数 据 显 示 格 式 .VPA 的 全 称 是 可 变 精 度 浮 点 算 法 ( Variable precision arithmetic).显示S的D位数方法如下
R=vpa(S,D) 例1.25立方倍积问题:求作一立方体,使其体积为已知 立方体的二倍.如果已知立方体体积为V0=1,要作的立 方体体积为V=2,则所求立方体高度为 21/3 在命令窗口中直接使用命令 h=vpa(2^(1/3),40) 数据结果为 h = 1.259921049894873190666544360283296555281
54/22

字符串变量:将字符串用单引号括起来赋值给变量

例1.26 三个名人Euler,Elizabeth,Plato职业分别
是mathematician,movie star,philosopher,编写 程序正确联接他们的名字和职业并输出 n1='Euler';n2='Elizabeth';n3='Plato'; p1='mathematician';p2='movie star'; p3='philosopher'; s1=strcat(n1,'--',p1), s2=strcat(n2,'--',p2), s3=strcat(n3,'--',p3)

拼接字符串命令: strcat(T1,T2,T3) 将整数转换成字符命令: int2str( )
55/22

例1.27 生肖问题——08年是鼠年还是狗年? n=input('input n:='); S='鼠牛虎兔龙蛇马羊猴鸡狗猪'; k=rem(n-4,12)+1; s=S(k); s=strcat(int2str(n), '年是', s,'年')
input n:=2006 s= 2006年是狗年 Input n:=2008 s=2008年是鼠年
56/22

复变函数图形
i 设有复平面上单位圆域内变化的变量 z ? r e xp( ? )

以 u = z 的实部函数绘图并输出图形文件 r=linspace(0,1,20); theta=linspace(-pi,pi,25); z=r'*exp(i*theta); x=real(z); y=imag(z); mesh(x,y,x),hold on colormap([0 0 1]) mesh(x,y,-ones(size(x))) axis off
57/22

输出图形文件
1.在图形窗口用鼠标点 击窗口左上方的菜单 栏“file”,选择下拉菜 单中的“Export”. (在 高版本中选择“Save As”) 2.在对话框中选择文 件类型“bmp”格式, 将图形文件命名为 riman.

58/22

练习与思考题 I
1.三阶幻方矩阵又被称为九宫图,如果允许将矩阵对 称变换、旋转变换。问有多少种不同的三阶幻方。 2.使用pascal(5)创建5阶矩阵,分析数字排列规律,与 杨辉三角形比较。 3.分析一元函数 f(x) = x sin (1/x) 的极值点,并在函数 图形上标出极值点序列。 4. 小结绘图方法:ezplot()、fplot()、plot()、polar()、 comet()

59/22

练习与思考题 II
1.用特殊矩阵函数V=vander([1;2;3])可创建一个3阶 矩阵,如何用V的主对角元构造一个对角矩阵D; 2.命令[x,y]=meshgrid(1:3);H=1./(x+y-1)执行结果是 三阶矩阵,写出x和y的数据以及H的数据。

3.绘二元函数 z = x exp( –x2 – y2)图形时,使用两个命 令mesh(x,y,z)与mesh(z) 所创建的图形有何区别
4. 2007年农历是丁亥年,排列天干(甲乙丙丁戊己庚辛 壬癸)/地支(子丑寅卯辰巳午未申酉戍亥),用字符串 数组编写程序,要求输入年份,输出农历纪年
60/22


搜索更多“数学实验第一章,于佳丽”

网站地图

All rights reserved Powered by 伤城文章网 5xts.com

copyright ©right 2010-2021。
伤城文章网内容来自网络,如有侵犯请联系客服。zhit325@126.com