(MATLAB)第十二章-数列与极限

 

目录

12.1 数列

 12.1.1 数列求和

1. 累计求和函数sum()

2. 忽略NaN累计求和函数 nansum()

3. 求此元素位置之前的元素和函数cumsum()

4. 求梯形累计和函数cumtrapz()

12.1.2 数列求积

1. 元素连续相乘函数 prod()

2. 求累计积函数 cumprod()

3. 阶乘函数 f=factorial(n) n!,n为非负整数值

4. 伽马函数 gamma()

12.2 极限和导数

12.2.1 极限

12.2.2 导数

 12.3 级数求和

12.3.1 有限项级数求和

12.3.2 无穷级数求和

参考资料:


12.1 数列

 12.1.1 数列求和

1. 累计求和函数sum()

调用格式

说明

S=sum(A)

1A为向量,返回所有元素和,结果是一个数值;

2A为矩阵,返回每一列所有元素和,结果为数值个数等于列数的行向量;

3An维阵列,相当于n个矩阵,则返回n个矩阵累和(按列)

S=sum(A,dim)

1)对于向量求和运算:dim=1,不求和,返回原数列;dim=2,求和;

2)对于矩阵求和运算:dim=1,对列求和,结果组成行向量;dim=2,对行求和,结果则称列向量

S=sum(A,vecdim)

根据向量vecdim中指定的维度对A的元素进行求和

S=sum(A,’all’)

计算A的所有元素的值,包括行列与维度的和,结果是单个数值

S=sum(…,outtype)

可以设置特殊格式的累计和值,输出类型outtype包含’defalult’’double’’native’

S=sum(…,nanflag)

若向量或矩阵中包含NaN,在此格式下nanflag可以设置是否计算NaNnanflag参数设置为’includenan’表示计算,设置为’omitnan’表示忽略

2. 忽略NaN累计求和函数 nansum()

调用格式

说明

S=nansum(A)

累计和中不包括NaN

        nansum(A)sum(A,omitnan)可以通用,前者步骤更简洁

3. 求此元素位置之前的元素和函数cumsum()

        函数cumsum()求解的是新定义的累计和,即每个位置的新元素值不包括当前项的元素之和。

        略,详见MA1.269-270

4. 求梯形累计和函数cumtrapz()

         略,详见MA1.270-273

12.1.2 数列求积

1. 元素连续相乘函数 prod()

调用格式

说明

B=prod(A)

1A为向量,返回所有元素和,结果是一个数值;

2A为矩阵,返回每一列所有元素积,结果为数值个数等于列数的行向量;

B=prod(A,dim)

1)对于向量求和运算:dim=1,不求积,返回原数列;dim=2,求积;

2)对于矩阵求和运算:dim=1,对列求积,结果组成行向量;dim=2,对行求积,结果则称列向量

B=prod(A,vecdim)

根据向量vecdim中指定的维度对A的元素进行求积,其中不包括NaN

B=prod(A,’all’)

计算A的所有元素的乘积

B=prod(…, type)

可以设置特殊格式的累计和值,输出类型outtype包含’defalult’’double’’native’

2. 求累计积函数 cumprod()

        略,详见MA1.274

3. 阶乘函数 f=factorial(n) n!,n为非负整数值

4. 伽马函数 gamma()

        伽马函数(Gamma Function)也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数,一般情况下,阶乘是定义在正整数和0(大于等于0)的范围里的,小数没有阶乘,这里将函数gamma()定义为非整数的阶乘,作为阶乘的延拓,是定义在复数范围内的亚纯函数,通常写作Γ(x)

        在实数域上伽马函数定义为$\varGamma \left( x \right) =\int_0^{+\infty}{t^{x-1}e^{-t}dt} $

        在复数域上伽马函数定义为\varGamma \left( z \right) =\int_0^{+\infty}{t^{z-1}e^{-t}dt}

        同时,gamma()也适用于正整数,factorial()同用法

        补充:不完全伽马函数gammainc(),其中$gammainc\left( x,a \right) =\frac{1}{\varGamma \left( a \right)}\int_0^x{t^{a-1}e^{-t}dt} $

12.2 极限和导数

        在工程计算中,经常会研究某一函数随自变量的变化趋势与相应的变化率,也就是要研究函数的极限和导数问题。

12.2.1 极限

        极限是数学分析最基本的概念和出发点,在工程实际中,其计算往往比较繁琐。在MATLAB中,运用limit命令可以解决。调用格式:

调用格式

说明

limit(f,x,a) limit(f,a)

求解$\underset{x\longrightarrow a}{\lim}f\left( x \right) $

limit(f)

求解$ \underset{x\longrightarrow 0}{\lim}f\left( x \right) $

limit(f,x,a,’right’)

求解$ \underset{x\longrightarrow a+}{\lim}f\left( x \right) $

limit(f,x,a,’left’)

求解$ \underset{x\longrightarrow a-}{\lim}f\left( x \right) $

         示例1:

>> clear
>> syms x;
>> f=sin(x)/x;
>> limit(f)
ans =1

         示例2:

>> syms n
>> limit((1+1/n)^n,inf)
ans =exp(1)

        示例3:

>> syms x
>> limit(log(1+x)/x,x,0,'right')
ans = 1

         示例4:计算$ \underset{\left( x,y \right) \longrightarrow \left( 0,0 \right)}{\lim}\frac{e^x+e^y}{\cos x-\sin y} $注意此处是二元函数的极限

>> syms x y %定义符号变量x y
>> f=(exp(x)+exp(y))/(cos(x)-sin(y)); %定义符号表达式
>> limit(limit(f,x,0),y,0) %先求x趋近于0时的符号表达式f的极限值,再求y趋近于0的极限值
ans =2

12.2.2 导数

        导数是数学分析的基础内容之一,在工程运用中用来描述各种各样的变化率。可以根据导数的定义,利用limit命令求解,同时MATLAB也提供了专门的函数求导命令diff。调用格式:

调用格式

说明

Y=diff(X)

计算沿大小不等于1的第一个数组维度的X相邻元素之间的差分

Y=diff(X,n)

通过递归应用diff(X)运算n次求n阶导数

Y=diff(X,n,dim)

求沿dim指定的维度计算的第n个差分

        示例1:

>> clear
>> syms x 
>> f=2^x+x^(1/2)*log(x);
>> diff(f) %求表达式f的一阶导数
ans = log(x)/(2*x^(1/2)) + 2^x*log(2) + 1/x^(1/2)

        示例2:

>> syms x
>> f=(1-cos(x))/(3*x^2);
>> diff(f,1)  %求表达式f的一阶导数
ans = sin(x)/(3*x^2) + (2*(cos(x) - 1))/(3*x^3)
>> diff(f,2)  %求表达式f的二阶导数
ans = cos(x)/(3*x^2) - (4*sin(x))/(3*x^3) - (2*(cos(x) - 1))/x^4>> diff(f,3)  %求表达式f的三阶导数
ans = (6*sin(x))/x^4 - sin(x)/(3*x^2) - (2*cos(x))/x^3 + (8*(cos(x) - 1))/x^5

        示例3:

>> syms x
>> limit(log(1+x)/x,x,0,'right')
ans = 1

        示例4: 计算$ f=\ln \left[ e^{2\left( x+y^2 \right)}+\left( x^2+y \right) +\sin \left( 1+x^2 \right) \right] $对xy1阶、2偏导数

>>clear
>>syms x y %定义符号变量x y
>>f=log(exp(2*(x+y^2))+(x^2+y)+sin(1+x^2)); %定义符号表达式
>>fx=diff(f,x) %计算f对x的1阶导数
fx =(2*x + 2*exp(2*y^2 + 2*x) + 2*x*cos(x^2 + 1))/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2)
>>fy=diff(f,y) %计算f对y的一阶导数
fy =(4*y*exp(2*y^2 + 2*x) + 1)/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2)
>>fxy=diff(fx,y) %对x求导后,再对y求导
fxy =(8*y*exp(2*y^2 + 2*x))/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2) - ((4*y*exp(2*y^2 + 2*x) + 1)*(2*x + 2*exp(2*y^2 + 2*x) + 2*x*cos(x^2 + 1)))/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2)^2
>>fyx=diff(fy,x) %对y求导后,再对x求导
fyx =(8*y*exp(2*y^2 + 2*x))/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2) - ((4*y*exp(2*y^2 + 2*x) + 1)*(2*x + 2*exp(2*y^2 + 2*x) + 2*x*cos(x^2 + 1)))/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2)^2
>>fxx=diff(fx,x) %再次对x求导(等价于求二阶导)
fxx =(2*cos(x^2 + 1) + 4*exp(2*y^2 + 2*x) - 4*x^2*sin(x^2 + 1) + 2)/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2) - (2*x + 2*exp(2*y^2 + 2*x) + 2*x*cos(x^2 + 1))^2/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2)^2
>>fyy=diff(fy,y) %再次对y求导(等价于求二阶导)
fyy =(4*exp(2*y^2 + 2*x) + 16*y^2*exp(2*y^2 + 2*x))/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2) - (4*y*exp(2*y^2 + 2*x) + 1)^2/(y + sin(x^2 + 1) + exp(2*y^2 + 2*x) + x^2)^2
>>fxx=diff(f,x,2) %略
>>fyy=diff(f,y,2) %略

 12.3 级数求和

        级数是数学分析的重要内容,无论对于数学理论本身还是在科学技术的应用中都是一个有力的工具。

12.3.1 有限项级数求和

       求级数命令symsum,调用格式:

调用格式

说明

F=symsum(f,k)

返回级数f关于指数k的有限项和

F=symsum(f,k,a,b)

返回级数f关于指数从ab的有限项和

        示例1:

>> syms a b n %定义符号变量
>> s=a^n+b*n; %定义符号表达式
>> symsyn(s,n,0,n) %计算级数关于指数n从0到n共n+1项的有限项和
ans =piecewise(a == 1, n + (b*n)/2 + (b*n^2)/2 + 1, a ~= 1, -(b*n + b*n^2 - 2*a*a^n - a*b*n - a*b*n^2 + 2)/(2*(a - 1)))

        示例2:

>> syms n x
>> s=sin(n*x);
>> symsum(s,n,0,n)
ans =piecewise(in(x/(2*pi), 'integer'), 0, ~in(x/(2*pi), 'integer'), (exp(-x*(n + 1)*1i)*(exp(x*(n + 1)*1i) - exp(x*(n + 1)*2i) - exp(x*1i) + exp(x*(n + 1)*1i)*exp(x*1i))*1i)/(2*(exp(x*1i) - 1)))

        示例3:计算级数$ s=2\sin 2n+4\cos 4n+2^n $的前n+1项(n0开始),并求前11项的和

>>syms n 
>>s=2*sin(2*n)+4*cos(4*n)+2^n;
>>sum_n=symsum(s)
sum_n =(exp(-2i)^n*1i)/(exp(-2i) - 1) - (exp(2i)^n*1i)/(exp(2i) - 1) + (2*exp(-4i)^n)/(exp(-4i) - 1) + (2*exp(4i)^n)/(exp(4i) - 1) + 2^n
>>sum10=symsum(s,0,10)
sum10 =4*cos(4) + 4*cos(8) + 4*cos(12) + 4*cos(16) + 4*cos(20) + 4*cos(24) + 4*cos(28) + 4*cos(32) + 4*cos(36) + 4*cos(40) + 2*sin(2) + 2*sin(4) + 2*sin(6) + 2*sin(8) + 2*sin(10) + 2*sin(12) + 2*sin(14) + 2*sin(16) + 2*sin(18) + 2*sin(20) + 2051
>> vpa(sum10) %控制级数前1项和的精度ans =2048.2771219312785147716264587939

        注:若不知道级数s中的变量是哪个,采用symvar命令:C=symvar(expr),搜索表达式expr,查找除ijpiinfnaneps和公共函数之外的标识符。这些标识符是表达式中变量的名称。

12.3.2 无穷级数求和

        MATLAB中的symsum命令该可以求无穷级数,此时只需将命令参数中的求和区间改为无穷即可。示例如下:

>> syms n 
>> s1=1/n;
>> v1=symsum(s1,n,1,inf) %计算级数s1关于指数n从1到+∞的和
v1 =Inf 实际上,该级数发散>> s2=1/n^3; 
>> v2=symsum(s2,n,1,inf)
v2 =zeta(3) 
>> vpa(v2) %控制v2的精度
ans =1.2020569031595942853997381615114

        zeta3)表示zeta函数在3处的值,其中函数zeta()的定义是$ \zeta \left( w \right) =\sum_{k=1}^{\infty}{\frac{1}{k^w}} $

        MATLAB并不是可以计算出所有的级数求和结果,求不出时答案会给出求和形式:

        计算级数$ \sum_{s=1}^{+\infty}{\left( -1 \right) ^n\frac{\sin n}{n^2+1}} $

>> syms n
>> s1=(-1)^n*sin(n)/(n^2+1);
>> v1=symsum(s1,n,1,inf) 
v1 = symsum(((-1)^n*sin(n))/(n^2 + 1), n, 1, Inf)

参考资料:

[1] 天工在线. MATLAB2020从入门到精通·实战案例版[M]. 北京: 中国水利水电出版社, 2020.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/271713.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++精简版回顾】18.文件操作

1.文件操作头文件 2.操作文件所用到的函数 1.文件io 1.头文件 #include<fstream> 2.打开文件 &#xff08;1&#xff09;函数名 文件对象.open &#xff08;2&#xff09;函数参数 /* ios::out 可读 ios::in 可…

【C++】C++模板基础知识篇

个人主页 &#xff1a; zxctscl 文章封面来自&#xff1a;艺术家–贤海林 如有转载请先通知 文章目录 1. 泛型编程2. 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 3. 类模板3.1 类模板的定义格式3.2 类模板的实例化…

基于Java的生活废品回收系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案&#xff0c;旨在鼓…

硬盘温度过高会怎么办?机箱温度多少算正常?

硬盘温度 硬盘在使用过程中&#xff0c;断电很容易导致数据丢失&#xff0c;但如果温度过高&#xff0c;也可能对硬盘造成损坏。 硬盘的温度是决定电脑能否正常使用的重要因素。 如果长时间读取和存储数据&#xff0c;硬盘的温度会升高。 那么&#xff0c;硬盘的正常温度是多少…

万字详解,Java实现低配版线程池

文章目录 1.什么是线程池2.线程池的优势3.原理4.代码编写4.1 阻塞队列4.2 ThreadPool线程池4.3 Worker工作线程4.4 代码测试 5. 拒绝策略5.1 抽象Reject接口5.2 BlockingQueue新增tryPut方法5.3 修改ThreadPool的execute方法5.4 ThreadPool线程池构造函数修改5.5 拒绝策略实现1…

利用“定时执行专家”循环执行BAT、VBS、Python脚本——含参数指定功能

目录 一、软件概述 二、VBS脚本执行设置 三、触发器设置 四、功能亮点 五、总结 在自动化办公和日常计算机任务管理中&#xff0c;定时执行脚本是一项非常重要的功能。今天&#xff0c;我将为大家带来一款名为“定时执行专家”的软件的评测&#xff0c;特别是其定时执行VB…

Android中的传感器类型和接口名称

本文将介绍传感器坐标轴、基础传感器和复合传感器&#xff08;动作传感器、姿势传感器、未校准传感器和互动传感器&#xff09;。 1. 传感器坐标轴 许多传感器的传感器事件值在相对于设备静止的特定坐标系中表示。 1.1 移动设备坐标轴 Sensor API 仅与屏幕的自然方向相关&a…

MySQL面试题-锁(答案版)

锁 1、MySQL 有哪些锁&#xff1f; &#xff08;1&#xff09;全局锁 加了全局锁之后&#xff0c;整个数据库就处于只读状态了&#xff0c;这时其他线程执行以下操作&#xff0c;都会被阻塞&#xff1a; 对数据的增删改操作&#xff0c;比如 insert、delete、update等语句&…

【Git】merge时报错:refusing to merge unrelated histories

文章目录 一、问题二、解决办法1、将feature分支的东西追加到master分支中2、将feature里的东西直接覆盖到master分支中 一、问题 今天将feature分支合并到master时报错&#xff1a;refusing to merge unrelated histories&#xff08;拒绝合并无关历史&#xff09; 报错原因&…

IDEA自带 .http 请求工具文档

基础语法 请求格式 基础格式 Method Request-URI HTTP-Version Header-field: Header-valueRequest-Body其中&#xff0c;GET 请求可以省略 Method 不写&#xff1b;HTTP-Version 可以省略不写&#xff0c;默认使用 1.1 版本。 示例&#xff1a; GET https://www.baidu.co…

Linux 文件系列:深入理解文件描述符fd,重定向,自定义shell当中重定向的模拟实现

Linux 文件系列:深入理解文件fd,重定向,自定义shell当中重定向的模拟实现 一.预备知识二.回顾C语言中常见的文件接口跟重定向建立联系1.fopen函数的介绍2.fclose函数的介绍3.代码演示1.以"w"(写)的方式打开2.跟输出重定向的联系3.以 "a"(追加)的方式打开4.…

Nginx正向代理域名的配置

目录 前言 1.打开文件 2. 启用代理 3. 指定代理服务器 4. 保存配置文件并重新加载Nginx。 5. 添加域名解析。 6. 配置客户端。 总结 前言 Nginx是一个高性能、开源的Web服务器软件&#xff0c;不仅可以作为反向代理服务器使用&#xff0c;还可以作为正向代理服务器使用…

Filter过滤器+JWT令牌实现登陆验证

一、背景 我们需要在客户端访问服务器的时候给定用户一定的操作权限&#xff0c;比如没有登陆时就不能进行其他操作。如果他需要进行其他操作&#xff0c;而在这之前他没有登陆过&#xff0c;服务端则需要将该请求拦截下来&#xff0c;这就需要用到过滤器&#xff0c;过滤器可以…

HNU-算法设计与分析-甘晴void学习感悟

前言 算法设计与分析&#xff0c;仅就课程而言&#xff0c;似乎是数据结构与算法分析的延续 教材使用&#xff1a; 课程 关于课程&#xff0c;橙学长讲的非常清晰&#xff0c;我深以为然。 HNUCS-大三课程概览-CSDN博客文章浏览阅读1.3k次&#xff0c;点赞5次&#xff0c;收…

开发Chrome扩展插件

1.首先开发谷歌chrome扩展插件&#xff0c;没有严格的项目结构目录&#xff0c;但是需要保证里面有一个mainfest.json文件 (必不可少的文件)。在这个文件里有三个属性必不可少&#xff1a;name、version、mainfest_version&#xff1b; // 清单文件的版本&#xff0c;这个必须写…

Linux学习之线程

目录 线程概念 1.什么是线程&#xff1f; 2.线程的优缺点 3.线程异常 4.线程用途 线程操作 1.如何给线程传参 2.线程终止 3.获取返回值 4.分离状态 5.退出线程 线程的用户级地址空间&#xff1a; 线程的局部存储 线程的同步与互斥 互斥量mutex 数据不一致的主要过…

Cluade3干货:超越GPT,模型特点分析+使用教程|2024年3月更新

就在刚刚&#xff0c;Claude 发布了最新的大模型 Claude3&#xff0c;并且一次性发布了三个模型&#xff0c;分别是 Claude 3 Haiku&#xff1a;&#xff08;日本俳句 &#xff09;Claude 3 Sonnet&#xff08;英文十四行诗&#xff09;Claude 3 Opus&#xff08;古典乐作品集…

静态时序分析:SDC约束命令set_case_analysis详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 目录 指定值 指定端口/引脚列表 简单使用 set_case_analysis命令用于对电路进行特定模式的设定&#xff0c;例如对于一个工作在正常模式下的芯片&#xff0c;…

基于机器学习的曲面拟合方法

随着科技的不断发展&#xff0c;机器学习成为了最近最热门的技术之一&#xff0c;也被广泛应用于各个领域。其中&#xff0c;基于机器学习的曲面拟合方法也备受研究者们的关注。曲面拟合是三维模型处理中的重要技术&#xff0c;其目的是用一组数据点拟合出平滑的曲面&#xff0…

Python数据处理实战(4)-上万行log数据提取并作图进阶版

系列文章&#xff1a; 0、基本常用功能及其操作 1&#xff0c;20G文件&#xff0c;分类&#xff0c;放入不同文件&#xff0c;每个单独处理 2&#xff0c;数据的归类并处理 3&#xff0c;txt文件指定的数据处理并可视化作图 4&#xff0c;上万行log数据提取并作图进阶版&a…