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

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by pitchaorn on 20 Sep 2013

the product of four consecutive even integers is 13440. Using Matlab's build-in function for operations with polynomials, determine the four integers.

I don't know how to do that

answer is 8 10 12 14

help me please

*No products are associated with this question.*

Answer by Jos (10584) on 20 Sep 2013

Accepted answer

One approach is to use brute force:

N = 13440 ; for k = 2:N v = k + [0:2:6] ; p = prod(v) ; if prod(v)==N, disp('N is the product of :') ; disp (v) break elseif prod(v) > N disp('There is no solution') break end end

There are many optimalisations that can be made ...

Show 1 older comment

Jos (10584) on 20 Sep 2013

Note that this does not use polynomials, so it is not a real answer to your (homework?) question ...

Answer by Image Analyst on 20 Sep 2013

y = x*(x+2)*(x+4)*(x+6)

= x*(x+2)*(x^2+10X+24)

= x * ( x^3+10x^2+24x + 2x^2+20X+48)

= x^4 + .... and so on.

Then subtract 13440 and use fzero to determine the root. Perhaps that's what he meant.

Image Analyst on 20 Sep 2013

Visualizing it helps:

x = -20:10; y = x.*(x+2).*(x+4).*(x+6); plot(x,y, 'bs-', 'LineWidth', 3); xl = xlim; % Plot a horizontal line at y = 13440 line([xl(1), xl(2)], [13440, 13440], ... 'Color', [1,0,0], 'LineWidth', 3); grid on; % Enlarge figure to full screen. set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);

Answer by Sean de Wolski on 20 Sep 2013

Obligatory one-liner:

vals = 2*find(prod(bsxfun(@plus,(2:2:13440).',0:2:6),2)==13440)+[0:2:6]

## 0 Comments