A problem in Matlab ,code doesn't work

  • Context: MATLAB 
  • Thread starter Thread starter Physics_rocks
  • Start date Start date
  • Tags Tags
    Matlab Work
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 5K views
Physics_rocks
Messages
12
Reaction score
0
Hi guys ,

I need to write a code in order to calculate Simpson's Rule.
Here is my code , what's wrong with it ?

PHP:
function [integral]=simp(f,a,b,n)
   if  mod(n,2)~=0
       warning('n must be even!')
   else
    h=(b-a)/n;
    integral=0;
    for i=1:1:n-1
        x=a+i*h;
        if (mod(i,2)==0)
            integral=integral+2*eval(f);
        else
            integral=integral+4*eval(f);
        end
    end
    x=a;
    integral=integral+eval(f);
    x=a+n*h;
    integral=integral+eval(f);
    integral=(h/3)*integral;
  end
Here is the link to the actual formula
"[URL


Thanks a lot :)
 
Last edited by a moderator:
Physics news on Phys.org
D H said:
What is "eval(f)" supposed to do? What does the Matlab documentation have to say about the function eval?

for example , when I type in Matlab the following input :

simp('sin',0,pi/3,40)+simp('cos',0,pi/3,40)

sin suppose to be used , but it doesn't .

It says : "? Error using ==> sin
Not enough input arguments. "

"Error in ==> integral=integral+4*eval(f); "