Why doessn't my code work for compsite simpson one third rule?

this is the function file I created to integrate my function func=1+exp(-x) but my m file does not run?
function I=csimp(func,a,b,n)
h = (b-a)/(n-1);
xi0 = feval(func,a)+feval(func,b);
xi1 = 0; xi2 = 0;
for i = 1:n-1
x = a+i*h;
if mod(i,2) == 0
xi2 = xi2+feval(func,x);
else
xi1 = xi1+feval(func,x);
end
end
I= h*(xi0+2*xi2+4*xi1)/3;
this is my m file
a=0;
b=4;
n=7;
func=1+exp(-x);
I=csimp(func,a,b,n)

1 件のコメント

Andrew Newell
Andrew Newell 2017 年 5 月 15 日
The formatting of your function was a bit weird, so I cleaned it up.

サインインしてコメントする。

回答 (1 件)

Andrew Newell
Andrew Newell 2017 年 5 月 15 日
編集済み: Andrew Newell 2017 年 5 月 15 日

0 投票

You weren't defining the function properly. Try this:
func=@(x) 1+exp(-x);
See Anonymous functions for how to define and use an inline function.

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2017 年 5 月 15 日

編集済み:

2017 年 5 月 15 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by