Бірлік 10 / 11

Python көмегімен инженерлік есептеулерді автоматтандыру

Табыстар:

  • AI-мен жұмыс істейтін Python кодымен инженерлік есептеуді, бірліктерді басқаруды және деректерді өңдеуді автоматтандыру мүмкіндігі
  • Бірлікті тексеру, белгілі нәтиже сынағы және шеткі жағдайлар арқылы AI кодын тексеру мүмкіндігі
  • Қайталанатын, қадағаланатын және нұсқамен басқарылатын есеп құжаттарын жасау дағдысын алу мүмкіндігі

Машина жасауда бірдей есептеулер қайта-қайта жасалады: бөлшектер тобының кернеулері, жұмыс нүктелерінің диапазоны үшін сорғы қуаты, әртүрлі температурадағы қасиеттер кестелері. Бұларды қолмен орындау баяу және қателесуге бейім. Python (инжинирингке арналған бай кітапханалары бар үйренуге оңай бағдарламалау тілі) бұл итерацияларды автоматтандырады; Ол есептік жазбаны қайталанатын, қадағаланатын және нұсқаны басқаратын етеді. Жасанды интеллект (AI) Python кодты жасауда керемет жылдам: формуланы функцияға түрлендіру, бірлік басқаруды қосу, деректерді оқу, графиктерді салу. Бірақ бұл жерде қауіпті қате түсінік бар: кодтың қатесіз жұмыс істеуі оның дұрыс есептейтінін білдірмейді. AI коды дұрыс емес бірлікті түрлендіруге, дұрыс емес формулаға немесе шеткі жағдайларда қате нәтижелерді үнсіз қайтаруы мүмкін және бағдарлама қатесіз жұмыс істей береді. Сондықтан AI көмегімен жасалған әрбір инженерлік код; Белгілі нәтижелері бар сынақ кірістері бірлікті (өлшемді) тексеру және шеткі жағдай сынақтары арқылы тексерусіз сенімді емес. Бұл бөлімде сіз AI көмегімен Python тіркелгісін автоматтандыруды қауіпсіз орнатуды үйренесіз.

Неліктен Code Account? Бақылау және қайта шығару

Қолмен есептеу бір реттік болып табылады; Кіріс өзгерген кезде ол нөлден орындалады және аралық қадамдар жоғалады. Кодта жасалған есептеу құжат сияқты: кірістер, формулалар және шығыстар анық жазылған; енгізуді өзгертіп, бірнеше секунд ішінде жаңа нәтиже аласыз; Нұсқаларды басқару арқылы (мысалы, git), «қай күні қандай мәнмен есептегенімді» бақылауға болады. Бұл бақылау мен жауапкершілік тұрғысынан баға жетпес құндылық. Бірақ бұл қуат кодтың дұрыстығына байланысты; Қате код қате нәтиже береді, сонымен қатар қайталанатын және жылдам.

Кеңес: Әрбір есептеу функциясы үшін сынақты оның жанында белгілі ақиқат нәтижесімен жазыңыз (Python-да бекіту). Мысалы, сіздің кернеу функцияңыз белгілі үлгіде 28,1 МПа беруі керек. Бұл сынақ болашақта кодты өзгерткен кезде бірдеңені бұзсаңыз, дереу ескертеді. Тексерілмеген инженерлік код - расталмаған тіркелгі.

Көлемді басқару: қатенің ең көп тараған көзі

Инженерлік кодта қателердің көпшілігі бірліктерден келеді: N кН, m мм, Па МПа, оларды 1000 немесе 1 000 000 коэффициентімен шатастыруға болады. Екі қорғаныс бар. Біріншісі - тәртіп: басынан бір бірлік жүйені таңдау (мысалы, N, мм, МПа) және оған барлық кірістерді түрлендіру және айнымалы атауларға бірліктерді қосу (ұзындық_мм, күш_N). Екіншісі - бұл құрал: пинт сияқты кітапхана код ішіндегі бірліктерді тасымалдайды және сәйкес келмейтін операцияны қате ретінде ұстайды.

Тәсіл

Бұл қалай жұмыс істейді

Артықшылық

Атау пәні

күш_N, ұзындық_мм сияқты

Қарапайым, тәуелділік жоқ

біртұтас жүйе

Барлығы N-мм-МПа түрлендірілді

Қарапайымдылық, жылдамдық

пинт кітапханасы

Бірлікті айнымалы бойынша жылжытады

Сәйкессіздікті автоматты түрде ұстайды

Белгілі нәтиже сынағы

assert арқылы сілтеме

Формула/бірлік қатесін анықтайды

Абайлаңыз: AI жасаған кодта бірлік түрлендіруі жоқ немесе қате болуы мүмкін және код әлі де «жұмыс істейді». Мысалы, диаметрі мм болса және ауданы м² деп күтілсе, нәтиже 1 000 000 есе ауытқиды, бірақ бағдарлама қате бермейді. Кодты іске қоспас бұрын кірістер мен шығыстардың бірліктерін түсіндіріңіз; содан кейін белгілі мысалмен нәтижені беріңіз.

Қадамдық: AI тексерілетін тіркелгі коды

  1. Мәселені және бірлік жүйесін түсіндіріңіз. Кіріс, шығыс, бірлік.
  2. Функцияны құру. Бірыңғай жауапты, түсіндіруші, біріккен.
  3. Белгілі нәтижелер тестін қосыңыз. Анықтамалық мысалмен бекітіңіз.
  4. Edge істерін қолданып көріңіз. Нөл, теріс, өте үлкен/кіші кіріс.
  5. Бірлікті тексеру. Шығарылатын өнім бірлігі күтілгенге сәйкес келе ме?
  6. Құжат және нұсқа. Болжамдар, дерек көзі, күні; git көмегімен бақылау мүмкіндігі.

Функциялар мен сынақтарды жасайтын шақыру

Рөлі: инженерлік есептеулерді жазатын тәжірибелі Python әзірлеушісі. Тапсырма: Тік бұрышты көлденең қима консольдық арқалықтың ең үлкен иілу кернеуін есептейтін функцияны жазыңыз. Енгізу: F (N), L (мм), b (мм), h (мм). Шығару: сигма (МПа).Конвенция: бірлік жүйесі N-мм-МПа; әрбір жазбаның бірлігін түсіндіріңіз. Ереже: I = b*h^3/12 және сигма = M*c/I пайдаланыңыз; Қадамдарға түсініктеме беріңіз.Ереже: НӘТИЖЕ БЕЛГІЛІ сынақты қосыңыз: F=500,L=300,b=20,h=40 үшін сигма ~28,1 МПа; Бекіту арқылы тексеріңіз (шағын төзімділік).

Жиек күйінің сұрауы

Жоғарыдағы функцияға шеткі регистр тексерулерін қосыңыз:- Егер b, h немесе L нөл немесе теріс болса, маңызды қатені беріңіз (ValueError мәнін көтеріңіз).- Өте үлкен/кіші кірістермен толып кету/дәлдік мәселесі болса, түсініктеме беріңіз. Сондай-ақ тағы 3 түрлі сынақ кірісін қосып, күтілетін нәтижені жазыңыз; нәтижелерді қолмен тексере алатындай етіп түсіндіріңіз.

Құрылғы қауіпсіздігі (пинт) сұрауы

«pint» кітапханасымен бірдей тіркелгіні қауіпсіз сақтаңыз. Кірістерді бірліктермен анықтауға рұқсат етіңіз (мысалы, 500 * ureg.newton). Шығуды МПа-ға түрлендіріңіз және оны басып шығарыңыз. Қате бірлікпен кіріс берілгенде пинт сәтсіз болатынын көрсететін шағын мысал қосыңыз.

Кодты тексеруге шақыру

Төмендегі инженерлік есептеу кодын кодты қарап шығу тұрғысынан сынға алыңыз, менімен келіспеңіз. Атап айтқанда: бірлікті түрлендіру дұрыс па, формула дұрыс па, шеткі жағдайлар (нөл, теріс) қарастырылды ма, сынақтар шынымен растайды ма? Әрбір табу үшін оны қалай түзетуге болатынын жазыңыз.[code]

Әлсіз шақыру / Күшті шақыру

Әлсіз шақыру:

Стрессті есептеу үшін Python кодын жазыңыз.

Бірліктерді, формулаларды, енгізу анықтамаларын және сынақтарды таңдау жоқ; AI жұмыс істейтін, бірақ тексерілмеген және бірлігі белгісіз кодты жасайды.

Күшті шақыру:

Консольдық арқалыққа иілу кернеуі функциясын жазыңыз. F(N), L(мм), b(мм), h(мм) енгізу; шығыс сигмасы (МПа). N-mm-MPa жүйесі, түсініктемеде әрбір бірлікті көрсетіңіз. Белгілі нәтижелері бар сынақты қосыңыз (F=500, L=300, b=20, h=40 → ~28,1 МПа, бекіту). Нөл/теріс енгізуде қате беріңіз. Шеттік жағдайларды түсіндіру.

Екінші шақыру бірлік жүйесін, формуланы, кірістерді, сынақты және шеткі жағдайларды талап етеді; Бұл кодты тексеруге мүмкіндік береді.

Үш шағын корпус (сандар бойынша)

1-жағдай - дыбыссыз дыбыс қатесі. AI шығарған аумақты есептеу диаметрді мм қабылдайды және pi*d**2/4 арқылы мм² береді, бірақ келесі жол оны m² күтетін формулаға қояды; Код қатесіз жұмыс істейді және стрессті 1 000 000 есе төмен береді. Инженер сынақты белгілі нәтижемен орындағанда (assert abs(sigma-28.1)<0.5), сынақ жарылып, қате ұсталады. Егер сынақ болмаса, қате нәтиже есепке назарсыз кірер еді. Сабақ: жұмыс коды ≠ дұрыс код.

2-жағдай - Edge күйінің бұзылуы. Бөлшектер тобына арналған ілмекті кодта бір жолға h=0 қалыңдығы енгізіледі; I = b*h**3/12 = 0 болғанда, sigma = M*c/I нөлдік қатеге бөлуді береді. AI қосылған if h<=0: көтеру ValueError басқаруының арқасында код мағыналы хабармен тоқтайды және үнсіз inf шығармайды. Сабақ: шеткі жағдайларды алдын ала өңдеу.

3-жағдай – Қайталану мүмкіндігін арттыру. 40 түрлі жұмыс нүктесі үшін сорғының қуатын қолмен есептеу үшін инженерге жарты күн қажет болды. AI-де жазылған сценарий CSV-ді оқиды, әрбір жолдың қуатын есептейді және белгілі нүктені бекіту арқылы тексереді, жұмысты ~2 минутқа дейін қысқартады және нәтижелерді бақыланатын файлға жазады. Жазба өзгерген кезде бүкіл кесте секунд сайын жаңартылады. Сабақ: тексерілген автоматтандыру жылдам әрі сенімді.

Жалпы қателер

  • «Жұмыс істеді = дұрыс» қатесі: қатесіз жұмыс істейтін код дұрыс деп ойлау.
  • Тесттерді жазбау: белгілі нәтижесі бар анықтамалық сынақсыз кодқа сүйену.
  • Бірліктің анық еместігі: енгізу/шығару бірліктерін түсіндірілмеген қалдыру, түрлендіруді өткізіп жіберу.
  • Шеттік жағдайларды елемеу: үнсіз қате немесе нөл/теріс енгізуде бұзылу.
  • Дереккөзді/болжамды құжаттамау: Пайдаланылған формуланың көзі мен болжамын жазбау.
  • Нұсқа емес: тіркелгіні бақылауға болмай бір реттік файл ретінде қалдыру (git).

Қысқаша айтқанда

  • Python инженерлік есептеулерді қайталанатын, қадағаланатын және нұсқаны басқаратын етеді.
  • AI кодты жасауда өте жылдам; Бірақ кодтың қатесіз жұмыс істеуі оның дұрыс есептелгенін білдірмейді.
  • Әрбір код белгілі нәтиже сынағы, бірлікті тексеру және шеткі жағдайлар арқылы тексерілуі керек.
  • Бірлік қателері қателердің ең жиі және ең жасырын көзі болып табылады; Бір бірлік жүйесі, номенклатура немесе пинт арқылы қорғаңыз.
  • Валидацияланған автоматтандыру уақытты үнемдейді және сенімділік береді; Тексерілмеген код қауіпті.

Қолданбалы тапсырма

Қайталанатын инженерлік есептеуді таңдаңыз (мысалы, кернеу, сорғы қуаты, жылу жүктемесі). Осы есептеуді жасайтын AI-ға Python функциясын жазыңыз; Әрбір кіріс пен шығыстың бірлігін түсіндіріңіз және белгілі нәтижесі бар бекіту сынағы қосыңыз. Сынақты іске қосыңыз және оның өткенін тексеріңіз. Содан кейін тағы екі тексеруді орындаңыз: кодтың маңызды қатені қайтаратынын тексеру үшін шеткі регистрді (нөлдік немесе теріс енгізу) қолданып көріңіз және мысалдағы шығыс бірлігін қолмен беріңіз. Мүмкін болса, пинт түрінде шығарылған құрылғыға қауіпсіз нұсқасы да бар. Соңында, қысқаша тақырып ретінде кодқа есептеу болжамдарын, формула көзін және күнін қосыңыз және бұл код неге әлі де инженердің мақұлдауын қажет ететінін жазыңыз.

бақылау парағы

  • [ ] Кіріс және шығыс бірліктері кодта нақты құжатталған; бір бірлік жүйесі таңдалды.
  • [ ] Нәтижесі белгілі сынақ (бекіту) қосылды және өтті.
  • [ ] Кем дегенде бір жиек регистрі (нөл/теріс) әрекет жасалды; Код айтарлықтай қате жіберді.
  • [ ] Шығару бірлігі қолмен берілген мысалмен берілген («жұмыс істеді = дұрыс» деп есептелмейді).
  • [ ] Формула көзі, болжамдар және кодта белгіленген күн.
  • [ ] Тіркелгі қадағаланатын/қадағаланады; соңғы бекіту инженерге қалдырылды.