EDA365电子论坛网

标题: MATLAB最基础教程 [打印本页]

作者: Smartk    时间: 2020-2-14 15:31
标题: MATLAB最基础教程
  前言:matlab只是个软件,用来完成机械的计算,而如何安排这些计算,需要用户掌握最基本的数学概念。这篇将介绍工程数学中常用的数学概念,与matlab似乎并不相关,但实则是matlab的基础。- c7 S+ [8 u5 p- p. l7 L

5 c$ P5 c5 u, d6 @% a' O1.数值与符号
, |! H# t  h  [3 n; e# s7 j    如果给工程数学问题分类,最大的两类肯定是数值问题和符号问题,对应matlab的数值运算和符号运算。简而言之,数值运算就是所有的变量的值已知,求解的也是一些具体的值;符号运算则刚好相反,不要求所有的变量都已知,求解的结果也不是变量具体的值,而是变量之间的关系。一个简单的例子是" z) n! z- u7 i0 V. t. m
①数值问题:求解一元二次方程,ax2+bx+c=0,其中a=b=c=1,所求得的结果一定是x=几点几+几点几i,是个复数,是个具体的数值。+ A# k! C( Q1 N1 w+ M
②符号问题:求解一元二次方程,ax2+bx+c=0,所求的的结果一定是x=求根公式,是abc的函数,是个关系2 ^1 G6 k4 v5 g
    可见,一个问题是数值问题还是符号问题,很大程度上决定于结果需要求解的是数值还是关系。当然两个问题也可以相互转化,比如数值问题的一元二次方程,我们一般会先转化成符号问题,把abc代入求根公式,求出来变量x的具体数值。但实际中,一般我们并不推荐这样做,原因是matlab的数值和符号是完全不同的两套系统,相互转化不仅需要多余的数值符号转换语言,更可能带来查错的不便。
% p$ m9 N# I+ S2.典型数值问题6 q6 v: t0 |0 ]* i) f) I
    以下是常见的数值问题,文中提到的解法均可在数值计算、科学计算、数值算法这类书中找到。1 G9 G4 a% \" w# f
2.1代数方程" y4 c8 O9 e9 `
    代数方程又分为线性方程和非线性方程,线性方程一般可以转化为矩阵形式AX=b,对A求逆即可。求逆的数值解法一般有高斯赛德尔迭代,超松弛迭代等。非线性方程一般转化为f(x)=zeros其中x是个向量,右侧的zeros表示f是个多输出函数,数值解法一般是迭代,常见的有牛顿迭代,最速梯度,点斜式等。
# Z2 g- k3 i% F) P) |9 l2.2常微分方程
" D3 A: x7 C; U% |1 n    常微分方程一般转化为Dy=f(y,t),且y(0)=y0是初始条件,其中y和Dy都是向量,f也是个多输出函数,数值解法有欧拉法,龙格库塔法。
- e- a) w: q- \3 e' u6 c( ~2.3偏微分方程
) w6 L9 z# H7 @, S8 J- R6 O    偏微分方程比较复杂,matlab处理偏微分方程也不专业,我也几乎不用matlab处理这类问题。但工程数学上,偏微分方程的解法有两类,差分法和有限元法。差分法需要采用中心差分,迎风差分等。有限元需要计算刚度矩阵等。5 h( ^) }/ B9 [# {8 ^0 S- {' U
2.4插值和拟合
; G1 V! B# U1 X, f# O    插值和拟合是完全不同的两个数学概念,虽然很多时候很多人都混淆了。两者的描述都可以归结为:已知函数上的点(x1,y1),(x2,y2)...(xn,yn),求一个已知的x,对应的y的数值。插值常用的多项式插值,三次样条插值。拟合的本质是一个最优化问题,其中最常用的一种拟合是线性拟合,求解方法是最小二乘法。
2 {( D2 b( [& i( B, M7 }! l: ?' A2.5离散周期傅里叶变换
1 n9 Y" w) a1 ?6 j2 m: c    严格说来,这并不能算一个数学问题,只是一种运算方式,就好像加减乘除一样。特殊性在于这种变换是对于一个向量进行,且运算后的结果依然是个向量。这里提出来是为了强调这种傅里叶变换的限定,要求是离散周期,这也是数值方法能处理的唯一一种傅里叶变换。
% W. _; H! X' G# q% s- v2.6最优化问题
9 Z5 y, c+ X9 @1 M3 q5 p+ x7 g  x    最优化问题比较宽泛,一般可以归结为求目标函数f(x)的最大或者最小值,其中f是一个单输出的函数,x是一个向量。其中x需要满足线性约束条件、非线性约束条件、上下界。具体的解法有最速梯度,遗传,蚁群,退火等算法。
( k$ i5 x6 B: a: m" I+ _1 q2.7数值积分
. C8 F! l; E/ |% L    已知函数上的点(x1,y1),(x2,y2),...(xn,yn),求函数在x1到xn的定积分。常见算法有矩形公式,梯形公式,辛普森公式。类似的问题还有数值求导。" c' I2 v% g( F) e. |* }$ b
3.典型符号问题1 p" I5 q- K( Z; o5 r) q
    以下是常见的符号问题,需要特别指出的是,无解问题。数值问题中也有一部分无解问题,但大多数工程中是碰不到的。而符号问题恰好相反,绝大部分我们遇到的符号问题都是没有解的,或者准确的说,没有解析解。比如求一元五次方程,我们知道x和这些系数存在关系,但无法写出显式的表达式,也就是说没有解析解。
' U! }2 j: M0 s, b( \5 W* q& N3.1递推转通项. `' U  P) I5 o. @
    这个问题可以归结为:已知xn+1=f(xn),求xn,常见于数列的推导。
' s5 B8 y7 }% J. x3.2代数方程
9 |; ]- ^, H* b    区别于数值问题中的代数方程, 这里的代数方程问题可以描述为:f(x,c)=0,求x=x(c),这里需要求解的其实是x和c的关系。  }+ ~  A9 {! @( j6 B/ Z" S
3.3常微分方程
5 l6 z2 x2 {! D" g6 C    区别于数值问题中的常微分数方程, 这里的代数方程问题可以描述为:Dy=f(y,t,c),求y=x(t,c),一般无需初值条件。
6 R' j# P& L% `3.4符号积分
1 R  @1 t( }  u* H9 u+ `    区别于数值问题中的数值积分,这里的符号积分可以描述为:已知函数关系y=f(x),求y的不定积分。同样的问题还有符号
7 ~4 }1 g' o+ M  q; y
作者: yin123    时间: 2020-2-25 18:09
MATLAB最基础教程




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2