Matlab利用自定义函数实现分段函数积分

这里演示怎么使用matlab定义函数然后实现积分:

1、一重积分:

测试函数

(exp(-x).*(x>=0)+exp(x).*(x<=0))

首先利用matlab的函数计算:

tic
integral(@(x)(exp(-x).*(x>=0)+exp(x).*(x<=0)),-5,5)
toc
tic
integral(@(x)exp(-x),0,5)+integral(@(x)exp(x),-5,0)
toc

然后自定义一个函数:

function fun = ceshintegral(x)
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
 y = zeros(1,length(x));
for i=1:1:length(x)
    if x(i)>=0
      y(i) = exp(-x(i));
    else
      y(i) = exp(x(i));
    end
end
  fun = y;
end

计算结果为:

2、二重积分:

测试函数:

((x-3+r).*(x>=3)+(3-x+r).*(x<3))

自定义函数:

function fun = ceshintegral2(x,r)
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
[bb,aa]=size(x);
 y = zeros(bb,aa);
for i=1:bb
  for j = 1:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章