Mathematica: FindRoot::jsing: обнаружен особый якобиан в точке {d} = ... при решении уравнения

Я получил много сообщений об ошибках при запуске следующих кодов:

prdiff[dp_, group_] := NIntegrate[2*2*1/(2*Pi) Cos[delta*t]*Product[Sin[c*Q[[group]]^i*t]/(c*Q[[group]]^i*t), {i, k + 1,k + h}]/c*Product[UnitStep[c - Abs[cn[[i, group]]]]/(2*c), {i, 3, k + 1}], {t, 0.0000001, Infinity}, {c, 0.0000001, Infinity}, {delta,0.0000001, dp}]/Integrate[1/c*Product[UnitStep[c - Abs[cn[[i, group]]]]/(2*c), {i, 3, k + 1}], {c, 0.0000001, Infinity}] - p
dListA = Table[FindRoot[prdiff[d, group], {d, d /. dListC[[group, 1]]}], {group, 1,16}]

где

Q={0.374823, 0.472246, 0.540587, 0.594993, 0.640938, 0.681097,0.717011, 0.749645, 0.779662, 0.807531, 0.833598, 0.858129,0.881331,0.903376, 0.924391, 0.944492}
k=2
h=10
dListC={{d -> 1.05872}, {d -> 2.32267}, {d -> 3.42827}, {d -> 4.32914}, {d ->5.14583}, {d -> 5.86437}, {d -> 6.50946}, {d -> 7.13946}, {d -> 7.77764}, {d -> 8.35564}, {d -> 9.03415}, {d -> 9.68592}, {d ->10.4552}, {d -> 11.2388}, {d -> 12.1519}, {d -> 13.1069}}
p=0.9544

сообщения об ошибках:

NIntegrate::nlim: delta = d is not a valid limit of integration.

NIntegrate::nlim: delta = d is not a valid limit of integration.

NIntegrate::nlim: delta = d is not a valid limit of integration.

General::stop: Further output of NIntegrate::nlim will be suppressed during this calculation.

NIntegrate::slwcon: Numerical integration converging too slowly; suspect one of the following: singularity, value of the integration is 0, highly oscillatory integrand, or WorkingPrecision too small.

NIntegrate::eincr: The global error of the strategy GlobalAdaptive has increased more than 2000 times. The global error is expected to decrease monotonically after a number of integrand evaluations. Suspect one of the following: the working precision is insufficient for the specified precision goal; the integrand is highly oscillatory or it is not a (piecewise) smooth function; or the true value of the integral is 0. Increasing the value of the GlobalAdaptive option MaxErrorIncreases might lead to a convergent numerical integration. NIntegrate obtained 0.36070001885559877` and 0.0020873226492962383` for the integral and error estimates.

NIntegrate::izero: Integral and error estimates are 0 on all integration subregions. Try increasing the value of the MinRecursion option. If value of integral may be 0, specify a finite value for the AccuracyGoal option.

NIntegrate::izero: Integral and error estimates are 0 on all integration subregions. Try increasing the value of the MinRecursion option. If value of integral may be 0, specify a finite value for the AccuracyGoal option.

NIntegrate::izero: Integral and error estimates are 0 on all integration subregions. Try increasing the value of the MinRecursion option. If value of integral may be 0, specify a finite value for the AccuracyGoal option.

General::stop: Further output of NIntegrate::izero will be suppressed during this calculation.

NIntegrate::slwcon: Numerical integration converging too slowly; suspect one of the following: singularity, value of the integration is 0, highly oscillatory integrand, or WorkingPrecision too small.

NIntegrate::eincr: The global error of the strategy GlobalAdaptive has increased more than 2000 times. The global error is expected to decrease monotonically after a number of integrand evaluations. Suspect one of the following: the working precision is insufficient for the specified precision goal; the integrand is highly oscillatory or it is not a (piecewise) smooth function; or the true value of the integral is 0. Increasing the value of the GlobalAdaptive option MaxErrorIncreases might lead to a convergent numerical integration. NIntegrate obtained 0.36070001885559877` and 0.0020873226492962383` for the integral and error estimates.

NIntegrate::slwcon: Numerical integration converging too slowly; suspect one of the following: singularity, value of the integration is 0, highly oscillatory integrand, or WorkingPrecision too small.

General::stop: Further output of NIntegrate::slwcon will be suppressed during this calculation.

NIntegrate::eincr: The global error of the strategy GlobalAdaptive has increased more than 2000 times. The global error is expected to decrease monotonically after a number of integrand evaluations. Suspect one of the following: the working precision is insufficient for the specified precision goal; the integrand is highly oscillatory or it is not a (piecewise) smooth function; or the true value of the integral is 0. Increasing the value of the GlobalAdaptive option MaxErrorIncreases might lead to a convergent numerical integration. NIntegrate obtained 0.36070001964905846` and 0.002087321948358613` for the integral and error estimates.

General::stop: Further output of NIntegrate::eincr will be suppressed during this calculation.

Divide::infy: Infinite expression -(0.0103937/0.) encountered.

Divide::infy: Infinite expression -(0.0103937/0.) encountered.

Divide::infy: Infinite expression -(0.0103937/0.) encountered.

General::stop: Further output of Divide::infy will be suppressed during this calculation.

FindRoot::jsing: Encountered a singular Jacobian at the point {d} = {1.05872}. Try perturbing the initial point(s).

FindRoot::jsing: Encountered a singular Jacobian at the point {d} = {2.32267}. Try perturbing the initial point(s).

FindRoot::jsing: Encountered a singular Jacobian at the point {d} = {3.42827}. Try perturbing the initial point(s).

General::stop: Further output of FindRoot::jsing will be suppressed during this calculation.

NIntegrate::inumr: The integrand (2.78145*10^11 Cos[1.1397 d] Sin[0.360095 c] <<8>> Sin[0.24526 (0. +c)] UnitStep[-0.975324+c])/(0. +c)^12 has evaluated to non-numerical values for all sampling points in the region with boundaries {{\[Infinity],1.}}.

NIntegrate::inumr: The integrand (2.78145*10^11 Cos[1.1397 d] Sin[0.360095 c] <<8>> Sin[0.24526 (0. +c)] UnitStep[-0.975324+c])/(0. +c)^12 has evaluated to non-numerical values for all sampling points in the region with boundaries {{\[Infinity],1.}}.

NIntegrate::inumr: The integrand (2.78145*10^11 Cos[1.1397 d] Sin[0.360095 c] <<8>> Sin[0.24526 (0. +c)] UnitStep[-0.975324+c])/(0. +c)^12 has evaluated to non-numerical values for all sampling points in the region with boundaries {{\[Infinity],1.}}.

General::stop: Further output of NIntegrate::inumr will be suppressed during this calculation.

кажется, что моя функция Integrand имеет некоторую особенность, но я не смог найти их, поскольку все интегральные интервалы не содержат 0. Что очень странно, я вспомнил, что успешно выполнил одни и те же коды и получил удовлетворительные результаты несколько дней назад. Однако, когда я хочу попробовать это снова, появляется ошибка. Кто-нибудь может мне помочь?

0 ответов

Другие вопросы по тегам