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

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

# singular Jacobian encountered bvp4c

Asked by pxg882 on 5 Dec 2012

I'm following the bvp4c example 5 found here:

http://www.mathworks.co.uk/matlabcentral/fileexchange/3819-tutorial-on-solving-bvps-with-bvp4c/content/BVP_tutorial/BVP_examples/ex5bvp.m

I have tried to modify the code for my problem, however I receive 'a singular Jacobian encountered' message when I try to run my code.

This is what I have:

    function nNbvp
    etainf = 55;
    options = bvpset('RelTol',1e-6);
    solinit = bvpinit(linspace(0,etainf),[0 0.506869 1 -0.624297 0]);
    sol = bvp4c(@nN,@nNbc,solinit,options);
    eta = sol.x;
f = sol.y;
    fprintf('\n');
fprintf('Value of H(etainf) is = %7.5f.\n',f(5,end))
    clf reset
hold on
plot(eta,f(1,:));
plot(eta,f(3,:));
plot(eta,f(5,:));
axis([0 55 0 2]);
xlabel('\eta')
hold off
shg
% --------------------------------------------------------------------------

function Yprime = nN(eta,Y)

n = 0.9;

X(1) = (Y(2)^2+Y(4)^2)^((1-n)/2);
X(2) = Y(5)+((1-n)/(n+1))*eta*Y(1);
X(3) = (n-1)/(Y(2)^(2)+Y(4)^(2));
X(4) = Y(2)*Y(4)*X(3);

Yprime = [ Y(1)
X(1)/n*((Y(1)^2-Y(3)^2+X(2)*Y(2))*(1+X(3)*Y(4)^2)-X(4)*(2*Y(1)*Y(3)+X(2)*Y(4)))
Y(3)
X(1)/n*((2*Y(1)*Y(3)+X(2)*Y(4))*(1+X(3)*Y(2)^2)-X(4)*(Y(1)^2-Y(3)^2+X(2)*Y(2)))
-2*Y(1)-((1-n)/(n+1))*eta*Y(2)];

% --------------------------------------------------------------------------

function res = nNbc(Y0,Yinf)

n = 0.9;

res = [Y0(1)
Y0(3)-1
Y0(5)
Yinf(2) - (n/(inf*(n-1)))*Yinf(1)
Yinf(4) - (n/(inf*(n-1)))*Yinf(3)];


Can anybody help explain why I am receiving this message? I'm sure the problem is set up correctly, I have checkedit through numerous times.

Thanks.

## 1 Comment

pxg882 on 5 Dec 2012