Matlab的基本应用2

这一节主要分享一下利用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));

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值