Error with Cheb function

Where the ODE is
with boundary condition
y(1)=sin(1)
D = [1/pi*3 ,1];
N = chebop(D);
N.lbc = [1];
N.rbc = 1 - sin(1);
N.op = @(t,x,y) diff(y,2) + (2/x)*diff(y,1) + (1/(x^4))*y;
[x, y] = N\0;
plot([x, y]);

6 comentarios

Walter Roberson
Walter Roberson el 9 de Abr. de 2022
What difficulty are you experiencing?
Chala Kedir
Chala Kedir el 9 de Abr. de 2022
@Walter Roberson I couldn't plot the output, please if you could help me, it would help me a lot
Walter Roberson
Walter Roberson el 10 de Abr. de 2022
What error message are you getting, at what line?
Chala Kedir
Chala Kedir el 10 de Abr. de 2022
Editada: Chala Kedir el 10 de Abr. de 2022
this is the error message I get
Error using chebop/linearize
Failed to evaluate operator on the initial guess passed (or the one constructed
by CHEBOP). A potential cause might be division by a zero CHEBFUN. Please supply
a valid initial guess via the 'init' field of the CHEBOP.
Error in chebop/solvebvp (line 109)
[L, residual, isLinear] = linearize(N, u0, x);
Error in \ (line 56)
[varargout{1:nargout}] = solvebvp(N, rhs, varargin{:});
Error in untitled (line 6)
[x, y] = N\0;
Torsten
Torsten el 10 de Abr. de 2022
Are you sure about your D ?
Shouldn't it be
D = [1, 1/3*pi];
?

Iniciar sesión para comentar.

Respuestas (1)

Bhavana Ravirala
Bhavana Ravirala el 15 de Feb. de 2023

0 votos

Hi,
The error you received indicates that the operator fails to evaluate the initial guess. To resolve this error, we can assign the initial guess with the boundary conditions.
N.init = [0; sin(1)];
Hope this helps!!

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Productos

Versión

R2022a

Preguntada:

el 9 de Abr. de 2022

Respondida:

el 15 de Feb. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by