tk=linspace(0,1,101);
R = 35.9; L = 3.98; C = 0.000360; P = ceil(R/(2*L));
M = ceil(sqrt( (1/(L*C)) - ( (R^2)/ (4*(L^2)) )));
syms q(t);
syms i(t);
q(t) = 40*exp((-R/(2*L))*t).*cos(t*sqrt((1/(L*C))-((R^2)/(4*L^2))));
i(t) = diff(q);
exact_intensity_values = 1:101;
aux = 1:101;
for ix = 1:101
exact_intensity_values(ix) = i(tk(ix));
disp('exact intensity value');
disp(exact_intensity_values(ix));
aux(ix) = (exact_intensity_values(ix))^(-1/(P * tk(ix)));
disp('aux value exact');
disp((aux(ix))^(-P * tk(ix)));
end
Итак, иногда два отображаемых значения совпадают, как это и должно быть, но иногда они очень разные.Что я делаю не так?
Вот несколько примеров, я не буду публиковать их все.Обычно, когда точное значение интенсивности является отрицательным, значение aux является его симметричным, как в том же абсолютном значении, но положительном.В других случаях цифры не имеют ничего общего друг с другом.В других случаях они одинаковы.Я полностью потерян, я отлаживал это в течение долгого времени.
Это для tk (ix) = 0. Это не имеет никакого смысла.
точное значение интенсивности-180.4020
вспомогательное значение точно 1
Edit - Теперь, когда я думаю об этом немного больше, это, вероятно, имеет смысл, так как tk (1) = 0, мы имеем exact_intensity_values(ix)^(-1/0)
, и это, вероятно,вызывает проблемы здесь.Это, вероятно, можно безопасно игнорировать.
Эти имеют правильное абсолютное значение, но неверный знак.
точное значение интенсивности -422.8061
вспомогательное значение точно 422.8061
точное значение интенсивности -616.2485
вспомогательное значение точное 616.2485
Эти значения верны: точное значение интенсивности 464.3460
вспомогательное значение точно 464.3460
точная интенсивностьзначение 412.2708
вспомогательное значение точное 412.2708
точное значение интенсивности 337.3326
вспомогательное значение точное 337.3326
точное значение интенсивности 246.4757
вспомогательное значениеточное 246.4757
Эти значения имеют отрицательное точное значение, но являются правильными:
точное значение интенсивности -48.4391
вспомогательное значение точное -48.4391 + 0.0000i
точное значение интенсивности -132.0104
вспомогательное значение точное -1.3201e + 02 + 2.2673e-14i
точное значение интенсивности -199.6144
вспомогательное значение точное -1.9961e + 02 +6.9122e-14i
Я не вижу ни одногозакономерность того, что некоторые значения являются правильными, а другие неправильными, кажется абсолютно случайной.Я пробовал и ^, и функцию power, но результаты точно такие же ...
MATLAB Версия: 9.5.0.944444 (R2018b)
Редактировать # 2: Значения тольконеверно для первых значений кривой.Вот графики, первый имеет все правильные значения, а второй имеет неправильные значения, а также некоторые правильные.