视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Matlab的基本应用2
2020-11-09 08:08:01 责编:小采
文档


这一节主要分享一下利用MATLAB进行相关计算。MATLAB内置了很多计算方法及其函数实现,即使不懂数方法,也可以进行一些复杂的计算,例如有求解矩阵的逆,求解积分、微分,进行傅里叶变化及其逆变换,进行最小二乘法的直线拟合等等。 例1、 求解一个矩阵的逆矩

这一节主要分享一下利用MATLAB进行相关计算。MATLAB内置了很多计算方法及其函数实现,即使不懂数值方法,也可以进行一些复杂的计算,例如有求解矩阵的逆,求解积分、微分,进行傅里叶变化及其逆变换,进行最小二乘法的直线拟合等等。


例1、求解一个矩阵的逆矩阵,并进行矩阵的乘计算。

首先是输入(或者说是定义)一个矩阵a,那么则应输入的是:

>> a=[1 2;3 4]

若无分号,直接回车,则会输出a矩阵。

求a矩阵的逆矩阵,求解利用的函数如下:

>> b=inv(a)

计算矩阵相乘,在这里计算a矩阵乘以b矩阵的转置,而矩阵的转置则只需加一撇即可:

>> c=a*b'

最后输出的结果有:

a =
1 2
3 4

b =
-2.0000 1.0000
1.5000 -0.5000

c =
0 0.5000
-2.0000 2.5000

b' =
-2.0000 1.5000
1.0000 -0.5000


例2、符号运算的定义,主要有syms,sym的应用,如下:

这两种皆为定义符号,但又有些许区别。syms是在运用符号之前,将所用的符号全部定义,下面则可以直接运用;而sym则是在运算中定义,用到每一个符号需要定义一次,相对而言没有syms方便,下面有具体例子。

如:syms x(t) a

就等于

a = sym('a');
t = sym('t');
x = symfun(sym('x'), {t});


syms x beta real

就等于

x = sym('x','real');
beta = sym('beta','real');

上面的syms先定义了几个是函数符号,下面就可以直接运用,公式中不用再出现sums或者sym,而sym则是在下面的公式中出现的。


例3、求积分及微分,运用MATLAB函数int以及diff,由于牵涉到符号运算,所以在运用之前,需要利用syms做一下符号的定义,如下:

syms x

int(x) 按回车后,得到

ans =
x^2/2

也可以直接输入int(sym(x)) 按回车后得到

ans =
x^2/2

当然,也可以进行比较复杂积分计算,因为可能会牵涉到较多的符号,所以建议大家利用syms先将用到的符号定义好,在利用int函数,进行积分计算。

微分计算函数diff,运用方式和int基本类似,例如

>> syms x y
>> y=diff(sin(x))

y =
cos(x)

真正灵活运用这些MATLAB函数,还是需要大家不断尝试和运用的。


例4、solve和dsolve函数的应用

这两个函数均可以用于解函数方程或者方程组,solve主要用于解一般的方程及方程组,而dsolve则一般用于求解微分方程组,具体例子如下:

如求解方程sin(x)*pi=8,求x

>> solve('sin(x)*pi=8')

ans =
asin(8/pi)
pi - asin(8/pi)

这里默认求解的是x,如果是>> solve('sin(x)*pi*y=8'),那么依旧默认求解的是x,那如果想输出y呢?则需要>> solve('sin(x)*pi*y=8','y'),那么会输出ans =8/(pi*sin(x));

下载本文
显示全文
专题