- ode does not match the stated example. Make sure you’re solving the intended ODE.
- U_trial mixed tanh and coth without reducing identities → derivatives introduce sech^2/csch^2 and you never eliminated them.
- Try to prefer use one basis: e.g. tanh-only. If you keep coth, replace it with 1/tanh and multiply through by enough powers of tanh to clear denominators before collecting.
- Try to "simplify(ode)" and after that to substitute "subs(ode, sech(k*xi)^2, 1 - tanh(k*xi)^2)"
- solve(..., [a0 a1 a2 b1 b2 d1 d2]) referenced d1,d2 which you never declared?
Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
I need to find the values of the constants
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
% Tanh–Coth Method for Solving Nonlinear ODEs
clear; clc; syms U(xi) a0 a1 a2 b1 b2 c xi
% Example ODE: U'' - U + 2*U^3 = 0
ode = U^2*diff(U, xi, 2)+diff(U,xi,1)*(2*U+1) + U^4+U^3;
% Step 1: Assume tanh–coth solution (up to order 2 for example)
U_trial = a0 + a1*tanh(xi) + a2*tanh(xi)^2 + b1*coth(xi) + b2*coth(xi)^2;
% Step 2: Substitute the trial function into the ODE
ode_sub = subs(ode, U, U_trial);
% Step 3: Expand and simplify
ode_simplified = simplify(expand(ode_sub));
% Step 4: Collect terms with respect to tanh and coth
% Convert to polynomial form in tanh(xi) and coth(xi)
ode_collected = collect(ode_simplified, [tanh(xi), coth(xi)]);
% Step 5: Equate coefficients of each power of tanh and coth to zero
% (To make the equation identically zero)
coeffs_tanh = coeffs(ode_collected, tanh(xi));
eqns = [];
for k = 1:length(coeffs_tanh)
eqns = [eqns, simplify(coeffs_tanh(k)) == 0];
end
% Step 6: Solve for coefficients
sol = solve(eqns, [a0 a1 a2 b1 b2 d1 d2], 'IgnoreAnalyticConstraints', true);
disp('Solutions for coefficients:')
disp(sol)
2 comentarios
Alexander
el 12 de Oct. de 2025
Hey i see different issues here:
Walter Roberson
el 12 de Oct. de 2025
Respuestas (0)
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!