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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm怎么配置python环境anaconda_编译环境是什么

    pycharm怎么配置python环境anaconda_编译环境是什么1.介绍Python:一种解释型、面向对象、动态数据类型的高级程序设计语言。PyCharm:一款好用的集成开发环境。Conda:Python环境管理器,方便我们管理和切换编程环境。2.下载2.1Conda下载Miniconda下载链接Anaconda下载链接Miniconda是Anaconda的压缩版,Miniconda只包含conda的核心内容,Anaconda中包含了Spyder集成开发环境等扩充内容。Miniconda的功能足矣。根据计算机的实际情况选择下载安装包,上图中Py

    2022年8月26日
    5
  • js中数组的splice方法_vue中splice方法

    js中数组的splice方法_vue中splice方法JavaScript中的splice主要用来对js中的数组进行操作,包括删除,添加,替换等。1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项) 3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(

    2022年9月25日
    2
  • 基于单片机的毕业设计简单点的_毕业设计设计思路范文

    基于单片机的毕业设计简单点的_毕业设计设计思路范文单片机毕业设计不用愁!!30篇单片机毕业设计参考案例30篇单片机毕业设计参考案例 这篇文章分享给大四的小伙伴,是时候该准备毕业设计了吧,别偷懒了,第二学期就准备实习了喔,所以小编我就开始为你们准备资料啦,30篇单片机毕业设计参考案例给你们啦,有什么不懂的问题可以加群讨论:813238832。下面就是案例: 更多单片机、物联网,MTK和proteus等资料分享,持续增加中,敬请关…

    2022年10月4日
    2
  • layoutSubviews 和 drawRect

    layoutSubviews 和 drawRect转自http://justsee.iteye.com/blog/1886463UIView的setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用lay

    2022年7月15日
    14
  • 青蛙过河谁先过_python knn算法实现

    青蛙过河谁先过_python knn算法实现一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃距离只能选择为 k – 1、k 或 k + 1 个单位。 另请注意

    2022年8月9日
    4
  • Mac os 查看PDM文件[通俗易懂]

    MacOS没有查看PDM文件的工具,PowerDesigner只有windows版本,无Mac版,在Mac上查看PDM文件非常不方便,或者装双系统,非常麻烦,现在有了ParsePDM工具,就不用担心了.ParsePDM需要依赖JDK1.7,机器如果没有安装,请到官网下载相应的版本,进行安装.下载连接:http://download.

    2022年4月12日
    270

发表回复

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

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