Вот часть моей программы.Посмотрите.
For[m = 1, m <= mode1, m++,
For[n = 0, n <= mode2, n++,
A[m, n][t_] = a[m, n]*Cos[\[Omega]*t];
B[m, n][t_] = b[m, n]*Cos[\[Omega]*t];
]
]
temp = 0;
For[m = 1, m <= mode1, m++,
For[n = 0, n <= mode2, n++,
temp++;
equation[temp] =
ExpandAll[Integrate[eqC[m, n]*Cos[\[Omega]*t], {t, 0, (2*Pi)/\[Omega]}]];
equation[temp] = ExpandAll[Simplify[equation[temp]/10^9]];
Print["\n\nEquation ", temp, "-\n", equation[temp]];
temp++;
equation[temp] =
ExpandAll[Integrate[eqS[m, n]*Cos[\[Omega]*t], {t, 0, (2*Pi)/\[Omega]}]];
equation[temp] = ExpandAll[Simplify[equation[temp]/10^9]];
Print["\n\nEquation ", temp, "-\n", equation[temp]];
]
]
После запуска этого кода я должен получить несколько уравнений, а затем создать из него матрицу с помощью ряда дифференцирований.Я знаю, что матрица должна быть симметричной.Проблема в том, что, когда я ввожу простые данные, то есть e = 1, h = 1 и т. Д., Я получаю точные результаты, и матрица симметрична, но как только я даю реальные данные, которые имеют значения, такие как 71.02e9,0.000247, происходят вычисленияошибиться, и я получаю несимметричную матрицу.Я тщательно проверил код и не могу найти ни одной ошибки с моей стороны.Я также проверил результаты программы для простого случая с ручными вычислениями.