第一课 课程导学
一、 什么叫计算
- 谋划
- 考虑
- 算计
“计算”的含义:
-
算术运算,即数的加、减、乘、除、乘方、开方等数学运算
例如: 16 − 5 ∗ 2 = 6 16 - 5 * 2 = 6 16−5∗2=6
-
较复杂的运算,根据已知量求出未知量
例如: y = sin x y = \sin x y=sinx
例如: ∫ a b 1 x d x = ln b − ln a \int_a^b\frac{1}{x}{dx} = \ln b - \ln a ∫abx1dx=lnb−lna
例如:求 a x 2 + b x + c = 0 ax^2 + bx + c = 0 ax2+bx+c=0 的根
问:当需要求解的问题变得复杂而用传统的数学方法无法求出精确解时,如何进行计算?
- 求定积分时,可能无法求得被积函数的原函数
- 对于5次以及五次以上的一元多项式方程不存在精确的求根公式,至于超越方程就更难求其精确解了
对于复杂的数值计算问题,可以利用计算机进行问题求解,即利用计算机运算速度快、计算精度高的特点通过通过重复执行简单的操作,完成复杂的计算。
重复、循环是计算机解题的重要技巧
- 求定积分的问题可以变成 n 个曲边梯形的面积求和的问题
- 求一元方程的根的问题,可以采用很多逐渐逼近的求解方法,如 迭代法、二分法、割线法等等
“计算“ 的含义
- ”计算“ 体现的是问题求解的方法和手段
- ”计算“ 是科学研究和工程应用的重要工具
二、 什么是科学计算
利用计算机处理数值问题的方法,称为科学计算
- 科学计算方法既有数学理论上的抽象性和严谨性,又有程序设计技术上的实用性和实践性。
- 由于计算机对数值计算的推动和影响,科学计算已成为即科学实验和理论研究之后的第三种科学研究方法。
三、 科学计算与 matlab 的关系
科学计算的基本步骤是:
数值问题 → \rightarrow → 求解算法 → \rightarrow → 程序实现 → \rightarrow → 结果分析
求解算法:计算机程序实现的基础,涉及数值计算的理论与方法
程序实现:是解决问题的具体方式
20世纪80年代以来,MATLAB等科学计算软件的广生,使得科学计算问题变得十分方便、高效。
matlab 的优势:
- 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。
- 可以专注于实际问题的分析和设计,大大地提高工作效率和质量,为科学研究与工程应用提供重要手段。
matlab 语言的主要功能
- 数值计算
- 符号计算
- 图形绘制
- 程序流程控制
- 工具箱(面向特定应用)
例子
求 x 2 − 3 x + 1 = 0 x^2 - 3x + 1 = 0 x2−3x+1=0 的根
-
直接使用求根公式
-
数值计算方法:迭代法、二分法、割线法
-
matlab 解法
方法一:多项式求根函数 roots
p = [1, 3 1]; x = roots(p)
x 1 = 2.6180 x 2 = 0.3820 x_1 = 2.6180 x_2 = 0.3820 x1=2.6180x2=0.3820
绘图:
>> x = -5 : 0.1 : 5; >> y1 = x * x - 3 * x + 1; >> y2 = zeros(size(x)); plot(x, y1, x, y2);
方法2:函数fzero
>>f = @(x) x * x - 3 * x + 1;
>>x1 = fzero(f, 0.5)
结果:
x1 = 0.3820
>>x2 = fzero(f, 2.5)
结果:
x2 = 2.6180
方法3:求根函数 fsove
>>f=@(x)x*x-3*x+1;
x1=fsolve(f,0.5,optimset('Display', 'off'))
结果:
x1 = 0.3820
>>x2=fsolve(f,2.5,optimset('Display', 'off'))
结果:
x2 = 2.6180
方法4:符号球根函数solve
>>syms x
x=solve(x^2-3*x+1)
结果:
x=3/2-5^(1/2)/2
5^(1/2)/2+3/2
>>x=eval(x)
结果:
x=
0.3820
2.6180
四、 学习目标
- 要求理解MATLAB功能实现的数学背景与算法原理。
- 掌握利用MATLAB进行问题求解的基本规律。
- 能够使用MATLAB作为专业应用的工具。
五、 课程主要内容
-
专题一MATLAB基础知识
-
专题二MATLAB矩阵处理
matlab 系统环境、矩阵表示以及运算,是基础
-
专题三MATLAB程序流程控制
matlab程序设计的基本知识,程序的三种控制结构,函数的应用
-
专题四MATLAB绘图
matlab 特色之一
-
专题五数据分析与多项式计算
-
专题六数值微积分与方程求解
设计 matlab 的数字计算功能,应用很广,也是 matlab 的特色
-
专题七 MATLAB符号计算
科学计算的重要形式
-
专题八MATLAB图形用户界面设计
图形对象的操作和图形界面用户的设计
-
专题九 Simulink系统仿真
介绍 simulink 仿真,是系统分析的重要方法
-
专题十外部程序接
设计 matlab 的数字计算功能,应用很广,也是 matlab 的特色
-
专题七 MATLAB符号计算
科学计算的重要形式
-
专题八MATLAB图形用户界面设计
图形对象的操作和图形界面用户的设计
-
专题九 Simulink系统仿真
介绍 simulink 仿真,是系统分析的重要方法
-
专题十外部程序接
是外部程序接口,涉及 matlab 语言与其他语言的的混合设计方法,扩展 matlab 的应用范围