我是靠谱客的博主 淡定黄蜂,最近开发中收集的这篇文章主要介绍MATLAB——数学运算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

极限

函数功能
limit(f, x, a)求f在x趋近于a处的极限
limit(f)求f在x趋近0处的极限
limit(f, x, a, ‘right’)、limit(f, x, a, ‘left’)求f在x趋近a处的左极限、右极限
>> syms x y;   //用函数syms来定义符号变量,以空格隔开
>> y = 2 * x + 1;
>> limit(y, x, 1)
ans = 3
>> syms x y z;
>> z = 2 * x + 3 * y;
>> limit(z, y, 2)
ans = 2*x + 6

微分(导数)

函数功能
diff(f)求导
diff(f, n)求n阶导
diff(f, ‘var’, n)对变量var求n阶导
>> syms x y;
>> y = 3 * x^3 + 2 * x^2 + 4 * x;
>> diff(y)
ans = 9*x^2 + 4*x + 4
  
>> diff(y, 2)
ans = 18*x + 4
>> syms x
>> f = exp(-2 * x) * cos(3 * x ^ (1 / 2))  //MATLAB内置可以直接使用f表示函数
 
f =
 
exp(-2*x)*cos(3*x^(1/2))
 
>> diff(f, 3)
 
ans =
 
(27*exp(-2*x)*cos(3*x^(1/2)))/(2*x) - 8*exp(-2*x)*cos(3*x^(1/2)) + (27*exp(-2*x)*cos(3*x^(1/2)))/(8*x^2) - (18*exp(-2*x)*sin(3*x^(1/2)))/x^(1/2) - (9*exp(-2*x)*sin(3*x^(1/2)))/(8*x^(3/2)) - (9*exp(-2*x)*sin(3*x^(1/2)))/(8*x^(5/2))
 
>> pretty(ans) //更加直观地展示结果
 #2                                 #2    exp(-2 x) sin(3 sqrt(x)) 18     #1       #1
--- - exp(-2 x) cos(3 sqrt(x)) 8 + ---- - --------------------------- - ------ - ------
2 x                                   2             sqrt(x)                3/2      5/2
                                   8 x                                  8 x      8 x

where

   #1 == exp(-2 x) sin(3 sqrt(x)) 9

   #2 == exp(-2 x) cos(3 sqrt(x)) 27

积分

int用于求函数的不定积分或定积分

syms x;
y = sin(x);
int(y, 0, pi)  
int('x - x^2', x, 0, 1)//定积分
int(y, x)
int('x^2 * (1-x^3)^5', x) //不定积分

还可使用quad函数,注意quad函数只能求定积分。

F = @(x)1./(x.^3-2*x-5);
Q = quad(F,0,2)

quad(@(x)sin(x)./x, 0, 1)

其他写法

quad(inline('sin(x)./x', 'x'), 0, 1)

矩形求积–cumsum

  • 对于向量x,cumsum(x)返回一个向量,该向量的第N个元素是x的前N个元素的和(即前缀和)
  • 对于矩阵x,cumsum(x)返回一个和x同型的矩阵,该矩阵每一列上的的元素即x对应列的前缀和。

求和sum

sum函数用于求出矩阵每列元素之和

>> A = [1, 2, 3; 0, 4, 0; 3, 0, 8]
A =
     1     2     3
     0     4     0
     3     0     8

>> sum(A)
ans =
     4     6    11

sum(A, 2)求每行元素之和。

还可以用sum来求出矩阵中非零元素的数目:sum(sum(A~=0))

求积prod

prod(A)用来求出矩阵每列元素之积。

>> A = [1, 2, 3; 4, 5, 6; 7, 8, 9]
A =
     1     2     3
     4     5     6
     7     8     9

>> prod(A)
ans =
    28    80   162

prod(A, 2)求矩阵每行元素的乘积。

最后

以上就是淡定黄蜂为你收集整理的MATLAB——数学运算的全部内容,希望文章能够帮你解决MATLAB——数学运算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部