matlab使用教程(36)—求解数值积分(1)

1计算弧线长度的积分

        此示例说明了如何参数化曲线以及使用 integral 计算弧线长度。 将曲线视为带有参数的方程
        创建此曲线的三维绘图。
t = 0:0.1:3*pi;
plot3(sin(2*t),cos(t),t)

        弧线长度公式表明曲线的长度是参数化方程的导数范数的积分。
        将被积函数定义为匿名函数。
f = @(t) sqrt(4*cos(2*t).^2 + sin(t).^2 + 1);
        通过调用 integral 对此函数进行积分计算。
len = integral(f,0,3*pi)

        运行结果为

此曲线的长度大约为 17.2

2复曲线积分

        此示例说明如何使用 integral 函数的 'Waypoints' 选项计算复曲线积分。在 MATLAB® 中,可以使用'Waypoints' 选项定义直线路径序列,从第一个积分限值到第一个路径点,从第一个路径点到第二个路径点,依此类推,直到从最后一个路径点到第二个积分限值。

2.1将被积函数定义为匿名函数

        对以下方程求积分
        将被积函数定义为匿名函数。
fun = @(z) exp(z)./z;

2.2不使用路径点求积分

        可以用参数化计算复值函数的围线积分。在一般情况下,指定一条围线,然后将其微分并用于参数化原被积函数。在这种情况下,将围线作为单位圆,但在所有情况下,其结果与所选围线无关。
g = @(theta) cos(theta) + 1i*sin(theta);
gprime = @(theta) -sin(theta) + 1i*cos(theta);
q1 = integral(@(t) fun(g(t)).*gprime(t),0,2*pi)

运行结果为:

        这种参数化方法虽然可靠,但难以计算和费时,因为必须先计算导数,然后才能积分。即使是简单函数,也需要写几行代码才能获得正确的结果。由于围绕极点(在本例中为原点)的任何闭围线都有相同的结果,因此可以使用 integral 'Waypoints' 选项构建一个围绕极点的方形或三角形路径。

2.3对不包含极点的围线求积分

        如果路径点向量积分或元素限值为复数,则 integral 会在复平面中针对直线路径序列求积分。围线周围的自然方向为逆时针;指定顺时针围线类似于乘以 -1。以这种方式指定围线使其包含一个单函数奇点。如果指定一条不包含极点的围线,则柯西积分定理可保证闭积分环的值是零。
        为此,应对远离原点的方围线周围的 fun 求积分。使用相等的积分限值形成一个闭围线。
C = [2+i 2+2i 1+2i];
q = integral(fun,1+i,1+i,'Waypoints',C)
运行结果为:
        其结果数量级为 eps ,实际上为零。

2.4对内部包含极点的围线求积分

        指定一个完全在原点包含极点的方围线,然后求积分。
C = [1+i -1+i -1-i 1-i];
q2 = integral(fun,1,1,'Waypoints',C)

运行结果为:

        这个结果与2.2小节中的上述计算相符,但使用的代码简单得多。
        这个问题的确切答案是 2 πi
2*pi*i
ans = 0.0000 + 6.2832i

3积分域内部的奇点

        本示例显示如何拆分积分域以将奇点放在边界上。

3.1将被积函数定义为匿名函数

        复值积分的被积函数
        在 x = y = 0 时有一个奇点,并通常是 y = -x 线上的奇异值。
        将该被积函数定义为匿名函数。
fun = @(x,y) ((x+y).^(-1/2));

3.2对方形求积分

        对由 −1 ≤ x ≤ 1 −1 ≤ y ≤ 1 指定的方域中的 fun 求积分。
format long
q = integral2(fun,-1,1,-1,1)

运行结果:

        如果积分区内部有奇异值,则积分不能收敛并返回一个警告。

3.3将积分域拆分为两个三角形

        可以通过将积分域拆分为互补区并将这些较小的积分加在一起来重新定义积分。可将奇点放在域边界上来避免积分错误和警告。在此例中,可将方积分区域沿着奇异线 y = -x 拆分成两个三角形并将结果相加。
q1 = integral2(fun,-1,1,-1,@(x)-x);
q2 = integral2(fun,-1,1,@(x)-x,1);
q = q1 + q2

运行结果:

        奇异值在边界上时可继续求积分。
        这个积分的精确值是
8/3*sqrt(2)*(1-i)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧园区革新之路:山海鲸可视化技术引领新变革

随着科技的飞速发展,智慧园区已成为城市现代化建设的重要组成部分。山海鲸可视化智慧园区解决方案,作为业界领先的数字化革新方案,正以其独特的技术优势和丰富的应用场景,引领着智慧园区建设的新潮流。 本文将带大家一起了解一下…

AI大模型下的策略模式与模板方法模式对比解析

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章:设计模式深度解析:AI大模型下…

无参数绕过RCE

一.什么是无参数 顾名思义,就是只使用函数,且函数不能带有参数,这里有种种限制:比如我们选择的函数必须能接受其括号内函数的返回值;使用的函数规定必须参数为空或者为一个参数等 无参数题目特征 if(; preg_replace…

基于 S2-LP 实现 802.15.4g 帧格式的数据透传

1. 引言 S2-LP 硬件上支持 802.15.4g 的帧格式,但是现有的 SDK 包并没有基于该帧格式的示例工程,因此本篇文章将介绍如何实现基于 802.15.4g 帧格式的数据透传。 2. 802.15.4g 帧格式 在开始之前,需要对 802.15.4g 帧格式有一个初步的了解…

springCloud-LoadBalancer负载均衡微服务负载均衡器LoadBalancer

2020年前SpringCloud是采用Ribbon作为负载均衡实现,但是在2020后采用了LoadBalancer替代 LoadBalancer默认提供了两种负载均衡策略(只能通过配置类来修改负载均衡策略) 1.RandomLoadBalancer-随机分配策略 2.RoundRobinLoadBalancer-轮询分配…

基于SSM的周边乡村旅游小程序

系统实现 游客注册通过注册窗口,进行在线填写自己的账号、密码、姓名、年龄、手机、邮箱等,信息编辑完成后核对信息无误后进行选择注册,系统核对游客所输入的账号信息是否准确,核对信息准确无误后系统进入到操作界面。 游客登录通…

[图像处理] MFC载入图片并绘制ROI矩形

上一篇: [图像处理] MFC载入图片并进行二值化处理和灰度处理及其效果显示 文章目录 前言完整代码重要代码效果 前言 上一篇实现了MFC通过Picture控件载入图片。 这一篇实现ROI功能的第一部分,在Picture控件中,通过鼠标拖拽画出一个矩形。 完…

实时计算平台设计方案:913-基于100G光口的DSP+FPGA实时计算平台

基于100G光口的DSPFPGA实时计算平台 一、产品概述 基于以太网接口的实时数据智能计算一直应用于互联网、网络安全、大数据交换的场景。以DSPFPGA的方案,体现了基于硬件计算的独特性能,区别于X86GPU的计算方案,保留了高带宽特性&…

产品推荐 | 星嵌基于TI TMS320C6657+Xilinx XC7Z035/045 DSP+FPGA+ARM工业核心板

1、产品概述 广州星嵌电子科技有限公司研发的C6657ZYNQ7035/45工业核心板,是基于TI KeyStone 架构C6000 系列TMS320C6657 双核C66x定点/浮点DSP 以及 Xilinx ZYNQ-7000 系列XC7Z035/045 SoC 处理器设计的。 DSP处理器采用TMS320C6657,双核C66x定点/浮点…

FIN和RST的区别,几种TCP连接出现RST的情况

一、RST跟FIN的区别: 正常关闭连接的时候发的包是FIN,但是如果是异常关闭连接,则发送RST包 两者的区别在于: 1.RST不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送F…

【小白学机器学习11】假设检验之2:Z检验(U检验,正态检验)

目录 1 什么是Z检验 1.1 Z检验的别名 Z-test /U-test / 正态检验 1.2 维基百科定义 1.2 百度百科定义 1.3 定义提炼关键点 1.4 Z检验量 : Z(X-θ)/s (X-u)/s 2 Z检验量的构造 2.1 Z检验量 : Z(X_-u)/s 2.2 Z检验变量的构造 2.4 Z检验量的核心参数 2.4.1 原始公式 …

使用单点登录(SSO)如何提高安全性和用户体验

什么是单点登录(SSO) 对于所有大量采用云应用程序的组织来说,有效的身份管理是一个巨大的挑战,如果每个 SaaS 应用程序的用户身份都是独立管理的,则用户必须记住多个密码,技术支持技术人员在混合环境中管理…

【ELK】搭建elk日志平台(使用docker-compose),并接入springboot项目

1、环境搭建 前提条件:请自行安装docker以及docker-compose环境 version: 3 services:elasticsearch:image: elasticsearch:7.14.0container_name: elasticsearchports:- "9200:9200"- "9300:9300"environment:# 以单一节点模式启动discovery…

ASP.NET Core 模型绑定

🍀介绍 在C#中,特别是在ASP.NET Core中,模型绑定是一个将HTTP请求中的数据映射到C#对象的过程。它使得开发者能够方便地从请求中提取数据,而无需手动解析请求体、查询字符串、路由数据等。ASP.NET Core提供了多种特性&#xff08…

uniapp极光推送、java服务端集成

一、准备工作 1、进入【服务中心】-【开发者平台】 2、【创建应用】,填写应用名称和图标(填写项目名称,项目logo就行,也可填写其他的) 3、选择【消息推送】服务,点击下一步 ​ ​ Demo测试 参照文档&…

数据备份的演变:数字时代的一个关键方面

微信关注获取更多内容 数据备份至关重要,涵盖了其过去、现在和未来,是数字时代任何企业运营的一个重要方面。 如今,公司运营的几乎每个方面,从客户信息到内部财务数据,都以数字方式存储。 有鉴于此,数据…

【Linux系列】“dev-node1“ 运行的操作系统分析

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【STL】list的底层原理及其实现

文章目录 list的介绍list的整体结构设计list的构造代码模拟实现: list节点类的实现list 迭代器Iterator的使用以及实现Iterator的使用Iterator的底层实现反向迭代器 list与vector的比较实现list类 list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列…

Linux中shell脚本的学习第一天,编写脚本的规范,脚本注释、变量,特殊变量的使用等,包含面试题

4月7日没参加体侧的我自学shell的第一天 Shebang 计算机程序中,shebang指的是出现在文本文件的第一行前两个字符 #! 1)以#!/bin/sh 开头的文件,程序在执行的时候会调用/bin/sh, 也就是bash解释器 2)以#!/usr/bin/python 开头的文件&#…

科研学习|研究方法——扎根理论三阶段编码如何做?

一、背景介绍 “主题标引”意指对文献内容进行分析, 然后对文献所表达的中心思想、所讨论的基本问题以及研究的对象等进行提取, 以形成主题概念, 然后在此基础上把可检索的主题词表示出来, 再将这些主题词按一定顺序 (如字顺) 排列, 对论述相同主题内容的文献加以集中, 从而提高…