Matlab求分段函数的积分[通俗易懂]

Matlab求分段函数的积分[通俗易懂](一)前言本文介绍一个使用Matlab进行求分段函数积分值的方法。首先介绍如何使用int()对连续函数进行积分的求解,然后介绍一个对分段函数进行求积分的例子。(二)使用Matlab求定积分Matlab中求积分的函数为int(),调用形式为int(func,’x’,a,b),其中func为被积函数,x为积分变量,[a,b]为被积区间。如int(x^2,’x’,1,2…

大家好,又见面了,我是你们的朋友全栈君。

(一)前言

本文介绍一个使用Matlab进行求分段函数积分值的方法。

首先介绍如何使用int()对连续函数进行积分的求解,然后介绍一个对分段函数进行求积分的例子。

(二)使用Matlab求定积分

Matlab中求积分的函数为int(),调用形式为int(func, ‘x’, a, b),其中func为被积函数,x为积分变量,[a, b]为被积区间。

如int(x^2, ‘x’, 1, 2)为求函数y=x^2在区间[1, 2]的积分值,结果为7/3。

注意:在使用int()进行积分时,需要将积分变量定义为系统变量(我使用具体的值的时候经常出现问题)。并且许多系统自带的函数不能用int()进行积分,实际上自己写的函数(即函数文件名)也不能写在func参数上,而直接将x^2写入就没问题。这个部分如果以后知道了原因或者具体的细节再进行补充。

(三)分段函数的数值积分

对于分段函数,我们不能直接把整个函数直接写入func参数中(毕竟表达式都不一样,但是如果函数文件可以的话或许可以解决),我这里写一个参数可变的积分函数进行分段函数积分的求解,函数如下:

%myint.m
function  [ out ]  = myint(t, F1, L1, R1, F2, L2, R2, F3, L3, R3, F4, L4, R4)
% MYINT 分段函数积分
%        最多支持4段
%        第一个参数为积分变量
%        后面的参数格式为:函数func 区间左端点L 区间又端点R
if(nargin>=1)                   %一段
    out=int(F1,t,L1,R1);
end
if(nargin>=5)                   %两段
    out=out+int(F2,t,L2,R2);
end
if(nargin>=8)                   %三段
    out=out+int(F3,t,L3,R3);
end
if(nargin>=11)                  %四段
    out=out+int(F4,t,L4,R4);
end
end

这样的话就可以一次性把分段函数的多段传入进行求解,比如一个函数fx=2x+1,(x<0), fx=-2x+1 (x>0),则fx在区间[-0.5,0.5]的积分可以表达为: f1=2*x+1; f2=-2*x+1; myint(‘x’, f1, -0.5, 0, f2, 0, 0.5); 计算结果为1/2。

看到这里你可能会感到有些失望–这不就是把几个函数写一块了嘛?!的确是这样的(利用Matlab的多目表达式甚至可以一行就写完)。如果大家有更好的方法,烦请告知,欢迎留言。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133337.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于近邻的协同过滤算法

    基于近邻的协同过滤算法这节课我们来学习K近邻在推荐系统中的应用,你将完成本课程的第一个实战项目:基于KNN的电影推荐系统!为了使你能够顺利地完成实战内容,我们先了解一下推荐系统中的基础知识。基于近邻用户的协同过滤假定有一个场景:某个周日的下午,你感觉很无聊,然后从电脑上打开了一个视频网站,想看下最近有什么好看的电影。然而你发现网站上的热门电影基本都看过,其他的电影又太多,不知道该看什么。想使用搜索框去查一下,但是又不知道该搜什么关键词,这个时候你的内心很焦灼,总不能挨个去尝试吧,那时间成本也太大了…仔细想想还是有办法的,那

    2022年6月30日
    28
  • 线程池ThreadPoolExecutor简介[通俗易懂]

    线程池ThreadPoolExecutor简介[通俗易懂]1前言线程池是并发编程中一个重要的概念和技术。大多数异步或并发执行任务都会用到线程池。线程池,正如其名,它是有一定数量的线程的池子,它会执行被提交过来的任务,执行完一个任务后不会马上结束,它们会

    2022年7月4日
    20
  • 初识ABP vNext(5):ABP扩展实体

    初识ABP vNext(5):ABP扩展实体

    2020年11月20日
    186
  • mysql != 索引_Mysql语法

    mysql != 索引_Mysql语法转:https://www.cnblogs.com/huanzi-qch/p/15238604.html介绍通常情况下,全文检索引擎我们一般会用ES组件(传送门:SpringBoot系列——ElasticSearch),但不是所有业务都有那么大的数据量、那么大的并发要求,MySQL5.7之后内置了ngram分词器,支持中文分词,使用全文索引,即可实现对中文语义分词检索MySQL支持全文索引和搜索:  MySQL中的全文索引是FULLTEXT类型的索引。  全文索引只能用于InnoDB或My

    2022年8月24日
    26
  • native2ascii 用法_hex转ascii 在线

    native2ascii 用法_hex转ascii 在线native2ascii插件org.codehaus.mojonative2ascii-maven-plugin1.0-beta-1UTF-8src/main/resources/${message.dir.rel}${outputDirectory}/${message.dir.rel}**/*.propertiesnative2asc

    2025年10月28日
    3
  • 常见Android面试题及答案(详细整理)

    常见Android面试题及答案(详细整理)以下是一些常用的Android面试题及答案,有需要没需要都可以备着,希望能帮到大家。 1.请描述一下Activity生命周期。答:如下图所示。共有七个周期函数,按顺序分别是:onCreate(),onStart(),onRestart(),onResume(),onPause(),onStop(),onDestroy()。onCreate():创建Activit…

    2022年5月21日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号