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 件のコメント

Walter Roberson
Walter Roberson 2022 年 4 月 9 日
What difficulty are you experiencing?
Walter Roberson
Walter Roberson 2022 年 4 月 9 日
編集済み: Walter Roberson 2022 年 4 月 10 日
Chala Kedir
Chala Kedir 2022 年 4 月 9 日
@Walter Roberson I couldn't plot the output, please if you could help me, it would help me a lot
Walter Roberson
Walter Roberson 2022 年 4 月 10 日
What error message are you getting, at what line?
Chala Kedir
Chala Kedir 2022 年 4 月 10 日
編集済み: Chala Kedir 2022 年 4 月 10 日
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 2022 年 4 月 10 日
Are you sure about your D ?
Shouldn't it be
D = [1, 1/3*pi];
?

サインインしてコメントする。

回答 (1 件)

Bhavana Ravirala
Bhavana Ravirala 2023 年 2 月 15 日

0 投票

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!!

カテゴリ

ヘルプ センター および File ExchangeProgramming についてさらに検索

製品

リリース

R2022a

質問済み:

2022 年 4 月 9 日

回答済み:

2023 年 2 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by