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

news2024/12/28 5:49:59

 

目录

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.coloradmin.cn/o/1490768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中文文本分类_1(pytorch 实现)

import torch import torch.nn as nn import torchvision from torchvision import transforms, datasets import os, PIL, pathlib, warningswarnings.filterwarnings("ignore") # 忽略警告信息# win10系统 device torch.device("cuda" if torch.cuda.i…

【你刚好需要,我们刚好可以做到】戳!戳!戳!

你刚好需要,我们刚好可以做到!!! 今天给大家介绍一个朋友的网络科技公司:天津集创科技有限公司。 这不仅仅是一家公司,更是一场变革的引领者。通过创新和前瞻性技术,创作打破传统,共…

医学与美学的聚能,雍禾医疗打造“好医生·一人一案”个性化服务

在当下社会,脱发问题已成为困扰许多人的头等大事。尤其是在年轻人群中,随着社会竞争的加剧和生活压力的增加,越来越多的年轻人意识到毛发对于个人形象的重要性。无论是在求职面试、社交场合还是日常生活中,浓密健康的头发都成为了…

分享一本好书《大模型应用开发极简入门:基于GPT-4和ChatGPT》

如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT 应该会当之无愧入选。仅仅发布 5 天,ChatGPT 就吸引了 100 万用户——当然,数据不是关键,关键是其背后的技术开启了新的 AI 狂潮,成为技术变革的点火…

【脑切片图像分割】MATLAB 图像处理 源码

1. 简单图像处理 加载图像 Brain.jpg,使用直方图和颜色分割成区域这些区域有不同的颜色。 这是一个更高级的问题,有多个解决它的方法。 例如,您可以计算具有特定数字的图像的直方图(例如 16 - 32),找到直方…

Python爬虫实战:京东商品信息爬取

项目背景 需要获取京东的某一领域的商品信息数据,为后续项目推进做准备 实现思路 京东商品API数据采集接口可以实现大批量稳定数据采集。去获取每一个商品的数据首先需要去利用京东的搜索,利用关键字得到相关商品信息,由搜索结果去进行信息…

数据库和缓存如何保持一致性

目录 前言 更新数据库更新缓存: 1.在更新缓存前先加一个分布式锁 2.在更新完缓存时,给缓存加上较短的过期时间 Cache Aside策略 1.先删除缓存,再更新数据库 延迟双删 2.先更新数据库,再删除缓存 保证两个操作都能执行成功…

软考58-上午题-【数据库】-分布式数据库

一、四个透明 二、四种性质 三、真题 真题1: 真题2: 真题3: 真题4: 真题5:

信钰证券|沪指震荡涨0.26%,传媒等板块拉升,消费电子概念活跃

5日早盘,沪指盘中窄幅震荡上扬,创业板指、科创50指数走高,北证50指数跌超2%;北向资金小幅流入。 截至午间收盘,沪指涨0.26%报3047.2点,深成指微涨0.05%,创业板指涨0.42%,科创50指数…

mysql高可用架构设计

一、主从架构 主从架构一般如下所示 这里从节点一般设置成只读(readonly)模式。这样做,有以下几个考虑: 有时候一些运营类的查询语句会被放到备库上去查,设置为只读可以防止误操作; 防止切换逻辑有 bug&a…

uniapp制作--简单的tab切换

一、实现思路 在UniApp中&#xff0c;可以使用v-if来控制Tab栏并进行切换。 创建一个方法来控制点击时的效果。 二、实现步骤 ①view部分展示 <!-- tab选项 --><view class"select-area"><view class"select-top"><view clas…

软件测试行业最真实的写照,我后悔了。。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 软件测试是一个付出就有回报的工作&#xff0c;可能很多人会说软件测试就是吃青春饭&#xff0c;…

vs创建asp.net core webapi发布到ISS服务器

打开服务器创建test123文件夹&#xff0c;并设置共享。 ISS配置信息&#xff1a; 邮件网站&#xff0c;添加网站 webapi asp.net core发布到ISS服务器网页无法打开解决方法 点击ISS Express测试&#xff0c;可以成功打开网页。 点击生成&#xff0c;发布到服务器 找到服务器IP…

如何处理微服务之间的通信和数据一致性?

✨✨祝屏幕前的兄弟姐妹们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 一、微服务通信 1、同步通信&#xff1a;HTTP 1.1.同步通信示例代码&#xf…

Q-Align Teaching LMMs for Visual Scoring via Discrete Text-Defined Levels

Q-Align: Teaching LMMs for Visual Scoring via Discrete Text-Defined Levels TL; DR&#xff1a;教会多模态大模型用文本等级评价词&#xff08;如 Good、Bad、Excellent 等&#xff09;来评估视觉质量分。 图像美学质量评估是一个小方向&#xff0c;但是实际业务中很有用&…

Jenkins 将shell脚本启动方式修改为bash

platform"arm x86" if [[ "$platform" ~ "arm" ]] thenecho "arm" fi最近在调试Jenkins实现的一些功能&#xff0c;发现在本地可以运行的脚本内容到了Jenkins里面就没办法运行了&#xff0c;不是提示unexpected operator就是提示[[ : …

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:拖拽控制)

设置组件是否可以响应拖拽事件。 说明&#xff1a; 从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 ArkUI框架对以下组件实现了默认的拖拽能力&#xff0c;支持对数据的拖出或拖入响应&#xff0c;开发者只需要将这些组件…

商家转账到零钱申请时间要多久

商家转账到零钱是什么&#xff1f; 【商家转账到零钱】功能整合了微信支付之前的【企业付款到零钱】【批量转账到零钱】功能&#xff0c;支持批量对外转账&#xff0c;对有批量对用户付款需求的应用场景更友好&#xff0c;操作便捷。如果你的应用场景是单付款场景的话&#xf…

运维打工人,周末兼职送外卖的一天

运维打工人&#xff0c;周末兼职送外卖的一天 在那个不经意的周末&#xff0c;我决定尝试一份新的工作——为美团外卖做兼职配送员。这份工作对于一向规律生活的我来说&#xff0c;既是突破也是挑战。 早晨&#xff0c;空气中带着几分凉意和宁静。准备好出发时&#xff0c;线…

如何做代币分析:以 CRO 币为例

作者&#xff1a;lesleyfootprint.network 编译&#xff1a;Mingfootprint.network 数据源&#xff1a;CRO Token Dashboard &#xff08;仅包括以太坊数据&#xff09; 在加密货币和数字资产领域&#xff0c;代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关…