Извиняюсь заранее, чтобы те, кто должен прочитать мою бедную умение кодированиямне нужна помощь в настройке матрицы для решения с помощью метода исключения Гаусса в Python
Цель этого кодирования заключается в первую разработать матрицу 17х17 и решить для 17 неизвестных, используя методы, представленные в линейной алгебре.
Части я имею наибольшую трудность представляет:
реализация 2 счетчика I и J, где значение умножит когда значение J достигает свой предел и возвращается к 0 снова.
И наконец, возможность вставлять новые значения в один массив для последующей обработки. Я пробовал использовать np.insert, np.hstack, np.vstack, np.append и т. Д., Не смог его обработать.
Таким образом, я могу генерировать матрицу, которая выглядит как
x11 x12 x13....x1j
x21 .......... x2j
xi1............xij
вот некоторая попытка
import numpy as np
import math as mt
r=[2,2.8,3.2,3.5,3.7,3.8,3.8,3.8,3.8,3.8,3.8,3.8,3.7,3.5,3.2,2.8,2]
n=np.linspace(1,17,17)
m=np.linspace(1,17,17)
i=0
k=np.array([])
l=1
k2=[]
while i <=18:
for j in range(17):
h1=mt.sqrt(r[i]**2+(l*(n[i]-m[j])+l/2)**2)
h2=mt.sqrt(r[i]**2+(l*(n[i]-m[j])-l/2)**2)
h=h1-h2
k2.append(h)
i=i+1
Я пытаюсь получить функцию потока Стокс в осесимметричной потоке для тех, кто заинтересованный,
Буду признателен за любые отзывы, пожалуйста, направьте меня в правильном порядке rection
Спасибо кадмию. Я ценю вашу помощь, я думаю, что я могу пойти отсюда –
@NamKang: использование магических констант, таких как '17', считается ** плохой практикой программирования **.Если вы измените размер 'r', добавив или удалив некоторые элементы, приведенный выше код не будет работать должным образом, если вы не вручную замените значение' 17' на новый размер 'r' (то же самое относится к значению' 16 'который появляется в циклах while). Вот почему я ввел переменную 'R' в мое решение. – Tonechas
Если я уже знаю, что некоторые из этих значений будут равны нулю, будет ли способ избежать этих вычислений? –