СЛАУ методом простых итераций
Помогите пожалуйста составит программу для нахождения решений к СЛАУ методом простых итераций, а то я вообще не приставляю представляю, как реализовать данную программу. Заранее спасибо!
Найти корни уравнения методом простых итераций
Доброго времени суток, столкнулся с проблемой, уравнение имеет два корня, положительный и.
Метод простых итераций
Помогите пожалуйста написать программу для начинающего на python. Необходимо написать программу.
Поиск максимального значения функции методом итераций и методом дихотомии
написать программу поиска max значение функции методом итераций и методом дихотомии , отметить .
Решение уравнения cos(x)=x методом итераций
Приближённое решение уравнения cos x = x можно найти как предел последовательности, заданной.
Метод простых итераций
Метод простых итерация,дана функция найти икс,в чём ошибка и почему всего лишь одна итерация.
Сообщение от exo43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
import numpy as np def func(a, b, maxi, acc): iter = 0 x0 = np.zeros(len(b)) for k in range(maxi): x1 = np.zeros(len(b)) for i in range(len(b)): s = 0 for j in range(len(b)): if j != i: s += a[i,j] * x0[j] x1[i] = (b[i] - s) / a[i,i] iter += 1 if np.allclose(x0, x1, acc): break x0 = x1 print('Число итераций:', iter) return x1 a1 = np.array([[10.,2.,0.],[1.,5.,1.],[2.,3.,10.]]) b1 = np.array([7.,-8.,6.]) t = 1e-10 #точность mi = 100 # max итераций print(func(a1, b1, mi, t))
Catstail, ну, это же метод Якоби, со всеми вытекающими. предварительных условий никаких не задано, так что.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
import numpy as np def sort_diag_arr(a,b) : n = len(a) a = np.array(a) b = np.array(b) for i in range(n): ind = np.abs(a[i:, i:n]).argmax() row = ind // (n - i) + i col = ind % (n - i) + i a[:,[i, col]] = a[:,[col, i]] a[[i, row], :] = a[[row, i], :] b[i], b[row] = b[row], b[i] print(a) return a, b A = np.array([[10.,2.,0.],[1.,5.,1.],[2.,3.,10.]]) B = np.array([7.,-8.,6.]) eps = 1e-3 a, b = sort_diag_arr(A,B) diag = (1/np.diag(a)).reshape(-1,1) a[np.diag_indices_from(a)] = 0. a = np.hstack((-a, b.reshape(-1, 1))) * diag x = a[:,-1].ravel() x = np.append(x, 1) tmp = x.copy() + eps cnt = 0 while abs(x-tmp).sum() > eps: tmp = x.copy() x = a.dot(x) x = np.append(x, 1) cnt += 1 print(x[:-1].round(3), cnt)
Метод простых итераций
У меня делает одну итерацию, что делать? import math def fun(x): return.
Метод простых итераций для решения
Доброго времени суток. Необходимо реализовать на Python’e метод простых итераций. Матрицы такие: .
Метод простых итераций для уравнения Кеплера
Здравствуйте! Может ли кто-нибудь написать функцию которая решает уравнение Кеплера M = E -.
СЛАУ методом Гаусса
Может кто-нибудь написать программу для решить СЛАУ методом Гаусса с точностью e = 0,001? .
СЛАУ методом наименьших квадратов
в обучающем курсе есть вот такая задачка на программирование Напишите программу, которая находит.
Метод простых итераций
Метод простых итераций
Метод простых итерация,дана функция найти икс,в чём ошибка и почему всего лишь одна итерация.
Метод простых итераций для решения
Доброго времени суток. Необходимо реализовать на Python’e метод простых итераций. Матрицы такие: .
Метод простых итераций
Помогите пожалуйста написать программу для начинающего на python. Необходимо написать программу.
Метод простых итераций для уравнения Кеплера
Здравствуйте! Может ли кто-нибудь написать функцию которая решает уравнение Кеплера M = E -.
Сообщение от MiracleOne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
import math def fun(x): return (2-0.4*x**2)**0.5+math.cos(x) x1=float(input("Введите приближенное значение Х=")) e=float(input("Введите точность e=")) a=float(input("a=")) b=float(input("b=")) a=abs((fun(a+0.0001)-fun(a))/0.0001) b=abs((fun(b+0.0001)-fun(b))/0.0001) q= max(a,b) q=(1-q)/q if (q1): iter=0 while (abs(x1-x0)abs(q*e)): iter+=1 x0=x1 x1=fun(x0) print('Точное значение корня:',2.0926) print('Вычисленное значение корня:',x1) print('Число итераций:',iter)
Сообщение от MiracleOne
Правильно. У вас этой переменной нет. До начала цикла.
iter это вообще имя встроенной функции — не надо его использовать для переменной.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
import math def fun(x): return (2-0.4*x**2)**0.5+math.cos(x) x1=float(input("Введите приближенное значение Х=")) e=float(input("Введите точность e=")) a=float(input("a=")) b=float(input("b=")) n=int(input("n=")) a=abs((fun(a+0.0001)-fun(a))/0.0001) b=abs((fun(b+0.0001)-fun(b))/0.0001) q= max(a,b) q=(1-q)/q x0=x1 x1=fun(x0) while (abs(x1-x0)abs(q*e)): iters=0 iters+=1 x0=x1 x1=fun(x0) (abs(x1-x0)abs(q*e)) print('Точное значение корня:',2.0926) print('Вычисленное значение корня:',x1) print('Число итераций:',iters)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
import math def fun(x): return (2-0.4*x**2)**0.5+math.cos(x) x1=float(input("Введите приближенное значение Х=")) e=float(input("Введите точность e=")) a=float(input("a=")) b=float(input("b=")) n=int(input("n=")) a=abs((fun(a+0.0001)-fun(a))/0.0001) b=abs((fun(b+0.0001)-fun(b))/0.0001) q=max(a,b) q=(1-q)/q iters=0 x0=x1 x1=fun(x0) while abs(x1-x0) abs(q*e): iters+=1 x0=x1 x1=fun(x0) print('Точное значение корня:',2.0926) print('Вычисленное значение корня:',x1) print('Число итераций:',iters)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
import math def fun(x): return (2-0.4*x**2)**0.5+math.cos(x) x1=float(input("Введите приближенное значение Х=")) e=float(input("Введите точность e=")) a=float(input("a=")) b=float(input("b=")) a=abs((fun(a+0.0001)-fun(a))/0.0001) b=abs((fun(b+0.0001)-fun(b))/0.0001) q=max(a,b) q=(1-q)/q iters=0 x0=x1 x1=fun(x0) while abs(x1-x0) abs(q*e): iters+=1 x0=x1 x1=fun(x0) print('Точное значение корня:',2.0926) print('Вычисленное значение корня:',x1) print('Число итераций:',iters)
СЛАУ методом простых итераций
Помогите пожалуйста составит программу для нахождения решений к СЛАУ методом простых итераций, а то.
Найти корни уравнения методом простых итераций
Доброго времени суток, столкнулся с проблемой, уравнение имеет два корня, положительный и.
Метод итераций
Помогите пожалуйста , файл прикрепил . Надо на языке python
Метод Дихотомии, проблема запуска с количеством итераций
Проблема запуска с количеством итерации.Снизу картинка с предупреждениями, которые мешают запустить.
Посчитать количество проведенных итераций (метод простых итераций, Pascal -> C++)
перевести из паскаля в С++ program method_of_simple_iteration; uses crt; var a:array of real;.
Метод простых итераций для решения
Желательно также вставить счётчик в цикл, чтобы считалось количество итераций. Значения в MathCad получились следующие — [0, -0, 1].
Очень прошу помощи, заранее благодарен.
Метод простых итераций
Метод простых итерация,дана функция найти икс,в чём ошибка и почему всего лишь одна итерация.
Метод простых итераций
У меня делает одну итерацию, что делать? import math def fun(x): return.
Метод простых итераций для уравнения Кеплера
Здравствуйте! Может ли кто-нибудь написать функцию которая решает уравнение Кеплера M = E -.
Сообщение было отмечено Tvoroj как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
A = [ [4,-1,2], [1,-5,3], [2,-6,-8]] B = [2, 3, -8] # точность итераций c = 12 eps = 1/10**c x = [] n = len(A) for j in range(n): k = A[j][j] for i in range(n): A[j][i] /= -k A[j][j] = 0 B[j] /= k # r - счетчик итераций r = 0 x = B.copy() tmp = sum(x) + 2*eps while abs(sum(x)-tmp) > eps: tmp = sum(x) t = [0]*n for i in range(n): t[i] = sum(x[j]*A[i][j] for j in range(n)) + B[i] r += 1 x = t.copy() print(*(round(elem) for elem in x)) print(r)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
import numpy as np A = [ [4,-1,2], [1,-5,3], [2,-6,-8]] B = [2, 3, -8] # точность итераций eps = 1e-4 a = np.array(A) diag = (1/np.diag(a)).reshape(-1,1) a[np.diag_indices_from(a)] = 0. a = np.hstack((-a, np.array(B).reshape(-1, 1))) * diag x = a[:,-1].ravel() x = np.append(x, 1) tmp = x.copy() + eps cnt = 0 while abs(x-tmp).sum() > eps: tmp = x.copy() x = a.dot(x) x = np.append(x, 1) cnt += 1 print(x[:-1].round(), cnt)
Метод простых итераций
Помогите пожалуйста написать программу для начинающего на python. Необходимо написать программу.
Метод простых итераций и Метод Зейделя для решения СЛАУ — C++
Доброго времени суток. Не могу понять, в чем косяк моей проги при компиляции выдает неведомо что( .
Метод простых итераций и метод Зейделя для решения СЛАУ
1. Методом простых итераций и методом Зейделя решить СЛАУ вида Bx=с B=\begin21 & 3 & 1.
Метод простых итераций для решения СЛАУ
Здравствуйте. Есть функция, реализующая метод простых итераций: void ProstIterMetode()
Метод простых итераций для решения СЛАУ
Доброго времени суток. Если у кого нибудь есть готовые программы для данного метода, скиньте.
Метод простых итераций для решения СЛАУ
Всем добрый вечер! Столкнулся с заданием на тему решения СЛАУ методом простых итераций и Зейделя. .
Метод простых итераций для решения СЛАУ
Написала вот такую программу. И тут такое выходит: корни считает верно, а вот колическтво итераций.
Метод простой итерации для решения систем линейных уравнений
Решение систем линейных уравнений приближёнными методами. Метод итераций
Добрый день всем, произошла проблема в решении данной задачи, не понимаю как это сделать, помогите.
Нужно написать программу для решения систем 4-х линейных алгебраических уравнений с 4-мя неизвестными
Нужно написать программу для решения систем 4-х линейных алгебраических уравнений с 4-мя.
Метод простой итерации для решения системы линейных уравнений
Здравствуйте. Помогите пожалуйста разобраться в методе простых итераций решения системы нелинейных.
Метод итерации решения систем линейных уравнений с использованием прикладного пакета MathCad
Добрый день, друзья. Подскажите или помогите с решением примеров по этой теме. Курсовую пишу, а с.
Метод простых итерации для систем не линейных уравнений
Пишу программу вот ее код disp(‘Метод простых итерации для ‘) x(1)=1; y(1)=1; for i=1:100 .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import numpy as np def sort_diag_arr(a) : n = len(a) a = np.array(a) for i in range(n): ind = np.abs(a[i:, i:n]).argmax() row = ind // (n - i) + i col = ind % (n - i) + i a[:,[i, col]] = a[:,[col, i]] a[[i, row], :] = a[[row, i], :] return a A = [ [1.7,2.8,1.9], [2.1,3.4,1.8], [4.2,-1.7,1.3]] B = [0.7,1.1,2.8] eps = 1e-3 a = np.array(A) a = sort_diag_arr(a) print(a) diag = (1/np.diag(a)).reshape(-1,1) a[np.diag_indices_from(a)] = 0. a = np.hstack((-a, np.array(B).reshape(-1, 1))) * diag x = a[:,-1].ravel() x = np.append(x, 1) tmp = x.copy() + eps cnt = 0 while abs(x-tmp).sum() > eps: tmp = x.copy() x = a.dot(x) x = np.append(x, 1) cnt += 1 print(x[:-1].round(), cnt)
Сообщение было отмечено Shket как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import numpy as np def sort_diag_arr(a,b) : n = len(a) a = np.array(a) b = np.array(b) for i in range(n): ind = np.abs(a[i:, i:n]).argmax() row = ind // (n - i) + i col = ind % (n - i) + i a[:,[i, col]] = a[:,[col, i]] a[[i, row], :] = a[[row, i], :] b[i], b[row] = b[row], b[i] return a, b A = [ [1.7,2.8,1.9], [2.1,3.4,1.8], [4.2,-1.7,1.3]] B = [0.7,1.1,2.8] eps = 1e-3 a, b = sort_diag_arr(A,B) diag = (1/np.diag(a)).reshape(-1,1) a[np.diag_indices_from(a)] = 0. a = np.hstack((-a, b.reshape(-1, 1))) * diag x = a[:,-1].ravel() x = np.append(x, 1) tmp = x.copy() + eps cnt = 0 while abs(x-tmp).sum() > eps: tmp = x.copy() x = a.dot(x) x = np.append(x, 1) cnt += 1 print(x[:-1].round(3), cnt)
Добавлено через 1 минуту
Shket, Вот без numpy. Но и без сортировки по убыванию по диагонали:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
A = [[4.2, -1.7, 1.3], [ 2.1, 3.4, 1.8], [ 1.7, 2.8, 1.9]] B = [2.8,1.1,0.7] # точность итераций eps = .001 x = [] n = len(A) for j in range(n): k = A[j][j] for i in range(n): A[j][i] /= -k A[j][j] = 0 B[j] /= k # r - счетчик итераций r = 0 x = B.copy() tmp = sum(x) + 2*eps while abs(sum(x)-tmp) > eps: tmp = sum(x) t = [0]*n for i in range(n): t[i] = sum(x[j]*A[i][j] for j in range(n)) + B[i] r += 1 x = t.copy() print(x) print(*(round(elem,3) for elem in x)) print(r)