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:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章