主要参考书
1. 王向东等编,数学实验,高等教育出版社,2004.
2. 胡良剑等编,数学实验,上海科学技术出版社, 2001.
实验一 Matlab程序设计基础
第1节 数学实验与Matlab概述
1.1 数学实验概述
什么是数学实验?
简单讲就是利用计算机和数学软件平台, 一方面,对学习知识过程中的某些问题进行 实验探究、发现规律; 另一方面,结合已掌握的数学(微积分、代 数与几何等)知识,去探究、解决一些简单实际 问题,从而熟悉从数学建模、解法研究到实验分 析的科学研究的方法。
数学实验课与其它课程的关系?
数学建模(用数学)
用数学语言来描述实际问题,将它变成一个数 学问题,利用现成的数学工具来加以解决。将实际问 题变成数学问题的过程,就是数学建模。
数学实验(学数学)
不把数学看成先验的逻辑体系,而是把它视为 一门“实验科学” , 从问题出发,借助计算机, 从实 验中去学习、探索和发现数学规律。
数学实验课与其它课程的关系?
1.2 本课程教学内容与要求
实验内容
实验一 Matlab 程序设计基础
实验二 Matlab 图形处理
实验三 数据插值与曲线拟合
实验四 投入产出平衡 —— 矩阵与线性方程组
实验五 符号数学运算
实验六 导弹系统的改进 —— 微分方程
实验七 最佳订货量问题 —— 导数与极值
实验八 生日蛋糕问题 —— 积分
实验九 最优化问题
实验十 购房贷款的利率问题 —— 迭代与混沌
实验十一 计算机随机模拟
实验十二 Galton 钉板 概率统计实验
实验十三 π 的近似计算
实验分類
数学软件操作实验
高等数学实验
数学建模实验
数学知识发现实验
1.3 Matlab 简介
1967 年美国 Mathwork 公司推出了 “Matrix Laboratory ” (缩写为 Matlab )软件包
包括:一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序。
Matlab 的安装与卸载
开发环境简介
demos
Matlab语言的特点
编程效率高
用户使用方便
将编辑、编译、连接和执行融为一体
扩充能力强
语句简单,内涵丰富
高效方便的矩阵和数组运算
Matlab属性设置
路径设置 —— set path
Preference 设置
通用属性 —— General
当前工作路径 —— Current Directory
编辑调试 —— Editor/Debugger
Matlab 命令行操作
掌握 Matlab 的命令行操作是走入 Matlab世界的第一步
例 sin(1/9*pi)+cos(2/9*pi)
续行符 “ …” 的使用
命令行中的键盘按键
Matlab 程序设计基础
Matlab 语言的基本要素
Matlab 语言核心 — 矩阵
细胞型与结构型数据
流程控制语句
M 文件
第2节 Matlab程序设计基础
2.1 Matlab语言的基本要素
2.1.1变量
变量名区分大小写
变量名长度不超过 31位(32位-0=31位)
变量名以字母开头
全局变量与局部变量
2.1.2 常量
如: pi, Inf, NaN
例 1 :求解 1/0, 0/0, pi
例 2 :
>>a=1+2*j
>>b=1+2*i
2.1.3 数值
注:不同的显示方式
long: 15 位原始形式
long e: 15 位指数形式
short: 5 位原始形式
例:用不同的显示方式
求解 sin(pi/3)+cos(pi/3)*j
改变显示方式方法:
(1) 在 Preference 中设置;
(2) 利用以下命令
>>format long e
>>format short
2.1.4 文本
注 1 :单引号与双引号的应用
>> c='Welcome to Matlab"s world'(雙引)
c =
Welcome to Matlab"s world
>> c='Welcome to Matlab''s world'(兩個單引)
c =
Welcome to Matlab's world
注 2 :大小写转换函数
lower(c), upper(c),
2.1.5运算符
(1)算术运算符
例 1 算术乘,点乘
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> B=[1,2,3;1,1,1;1,1,1]
B =
1 2 3
1 1 1
1 1 1
>> A.*B
ans =
1 4 9
4 5 6
7 8 9
>> A*B
ans =
6 7 8
15 19 23
24 31 38
例 2 通过描点法得到
sin(x) * cos(x)
在 0 ~ π 区间上的曲线
>> x=0:0.1*pi:pi;
>> s=sin(x);
>> c=cos(x);
>> y=s.*c;
>> plot(y)
例 3 算术左除 \
算术右除 /
>> 3/2
ans =
1.5000
>> 3\2
ans =
0.6667
思考:
方程 X*B=A 的解是 B/A, B\A, A\B or 其它?
方程 A*X=B 的解又是什么?
• 注:
A/B=A* inv(B)
A\B=inv(A) * B
方程 X*B=A 的解是 A/B
(2)关系运算符
等于 ==
不等于 ~=
例 4
>> A=[]
if A==[]
do something
end
这里似无语法错误,但与