MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

New to MATLAB?

Error in matrix dimension and using a plus sign?

on 19 Jun 2013

the cyclist (view profile)

I am trying to write a code for the Midpoint rule given by :

M = \sum_{i=1}^{n}hf(\frac{x_{i-1}+x_{i}}{2})


My MATLAB code is following:

if true
function M = mittpunkt(fun,a,b,n)
h = (b-a)/n;
x = linspace(a,b,n);
f = fun(x);
M = h*(sum(f(((1:n-1)+(1:n))/2)));
end


My error is :

Error using  +
Matrix dimensions must agree.


If something is wrong I think it must me the index, certainly not the use of a plus sign, right? Thanks

Products

No products are associated with this question.

the cyclist (view profile)

on 19 Jun 2013

In the line where you calculate M, you are trying to add

(1:n-1)


and

(1:n)


which are vectors of two different lengths. Those are the dimensions that don't match.

Andrei Bobrov (view profile)

on 19 Jun 2013
Edited by Andrei Bobrov

Andrei Bobrov (view profile)

on 19 Jun 2013

function M = mittpunkt(fun,a,b,n)
h = (b-a)/n;
x = linspace(a,b,n);
f = fun(x);