Kitengo 10 / 11

Uhandisi wa Kuhesabu Uendeshaji na Python

Faida:

  • Uwezo wa kuhesabu uhandisi otomatiki, usimamizi wa kitengo na usindikaji wa data na nambari ya Python inayoendeshwa na AI
  • Uwezo wa kuhalalisha nambari ya AI na ukaguzi wa kitengo, upimaji wa matokeo unaojulikana, na kesi za makali
  • Uwezo wa kupata mazoea ya kutengeneza hati za akaunti zinazoweza kurudiwa, zinazoweza kufuatiliwa na zinazodhibitiwa na toleo

Katika uhandisi wa mitambo, hesabu sawa hufanyika mara kwa mara: matatizo ya familia ya sehemu, nguvu za pampu kwa pointi mbalimbali za uendeshaji, meza za mali kwa joto tofauti. Kufanya haya kwa mikono ni polepole na kukabiliwa na makosa. Python (lugha ya upangaji iliyo rahisi kujifunza yenye maktaba tajiri za uhandisi) hubadilisha marudio haya kiotomatiki; Inafanya akaunti iweze kurudiwa, kufuatiliwa na toleo kudhibitiwa. Akili Bandia (AI) Chatu ni haraka sana katika kuzalisha msimbo: kubadilisha fomula kuwa chaguo za kukokotoa, kuongeza usimamizi wa kitengo, kusoma data, kupanga grafu. Lakini kuna maoni potofu ya hatari hapa: kwa sababu tu nambari inafanya kazi bila makosa haimaanishi kuwa inahesabu kwa usahihi. Nambari ya AI inaweza kurudisha kimya matokeo yasiyo sahihi kwa sababu ya ubadilishaji usio sahihi wa kitengo, fomula isiyo sahihi, au katika hali ngumu, na programu itaendelea kufanya kazi bila makosa yoyote. Ndiyo maana kila msimbo wa uhandisi unaozalishwa na AI; Ingizo za majaribio zenye matokeo yanayojulikana hazitegemewi bila uthibitishaji wa ukaguzi wa kitengo (ukubwa) na majaribio ya kesi makali. Katika kitengo hiki, utajifunza jinsi ya kusanidi otomatiki ya akaunti ya Python kwa usalama na AI.

Kwa nini Akaunti ya Msimbo? Ufuatiliaji na Uzalishaji

Hesabu ya mwongozo ni ya moja-off; Wakati pembejeo inabadilika, inafanywa kutoka mwanzo na hatua za kati zinapotea. Hesabu inayofanywa kwa msimbo ni kama hati: pembejeo, fomula na matokeo yameandikwa kwa uwazi; unabadilisha pembejeo na kupata matokeo mapya ndani ya sekunde; Na udhibiti wa toleo (kama git), "kile nilichohesabu na thamani gani tarehe" kinaweza kufuatiliwa. Hii ni muhimu sana katika suala la udhibiti na uwajibikaji. Lakini nguvu hii inategemea usahihi wa kanuni; Nambari isiyo sahihi hutoa matokeo mabaya, pia kwa kuzaliana na kwa haraka.

Kidokezo: Andika jaribio kwa kila kitendakazi cha kukokotoa na matokeo ya kweli yanayojulikana karibu nayo (dai katika Python). Kwa mfano, utendaji wako wa mkazo unapaswa kutoa MPa 28.1 katika sampuli inayojulikana. Jaribio hili hukuonya mara moja ukivunja kitu unapobadilisha msimbo katika siku zijazo. Nambari ya uhandisi ambayo haijajaribiwa ni akaunti ambayo haijathibitishwa.

Usimamizi wa Kiasi: Chanzo cha Kawaida cha Hitilafu

Katika kanuni ya uhandisi, makosa mengi yanatoka kwa vitengo: N na kN, m na mm, Pa na MPa, ambayo inaweza kuchanganyikiwa na sababu ya 1000 au 1,000,000. Kuna ulinzi mbili. Ya kwanza ni nidhamu: kuchagua mfumo wa kitengo kimoja tangu mwanzo (k.m. N, mm, MPa) na kubadilisha pembejeo zote kwake na kuongeza vitengo kwa majina tofauti (length_mm, force_N). Ya pili ni zana: maktaba kama pint hubeba vitengo ndani ya msimbo na hupata operesheni isiyoendana kama kosa.

Mbinu

Jinsi gani kazi

Faida

Nidhamu ya kutaja

kama vile force_N, urefu_mm

Rahisi, hakuna utegemezi

mfumo wa kitengo kimoja

Zote zimegeuzwa kuwa N-mm-MPa

Urahisi, kasi

maktaba ya pint

Husogeza kitengo kwa kutofautisha

Inashika utofauti kiotomatiki

Mtihani wa matokeo unaojulikana

rejeleo kwa kusisitiza

Inapata hitilafu ya fomula/kitengo

Tahadhari: Ubadilishaji wa kitengo unaweza kukosa au si sahihi katika msimbo unaozalishwa na AI na msimbo bado "utafanya kazi". Kwa mfano, ikiwa kipenyo ni mm na eneo linatarajiwa kuwa m², matokeo yatakengeuka kwa mara 1,000,000, lakini mpango hautatoa hitilafu. Kabla ya kuendesha msimbo, toa maoni juu ya vitengo vya pembejeo na matokeo; kisha toa matokeo na mfano unaojulikana.

Hatua kwa Hatua: Nambari ya Akaunti Inayoweza Kuthibitishwa ya AI

  1. Fafanua shida na mfumo wa kitengo. Pembejeo, matokeo, vitengo.
  2. Tengeneza kitendakazi. Single kuwajibika, kutafsiri, umoja.
  3. Ongeza mtihani wa matokeo unaojulikana. Thibitisha kwa mfano wa kumbukumbu.
  4. Jaribu kesi za makali. Ingizo sifuri, hasi, kubwa sana/ndogo.
  5. Fanya ukaguzi wa kitengo. Je, kitengo cha pato kinalingana na kile kinachotarajiwa?
  6. Hati na toleo. Mawazo, chanzo, tarehe; ufuatiliaji na git.

Kidokezo kinachozalisha vipengele na majaribio

Jukumu: Msanidi programu wa Python mwenye uzoefu wa kuandika hesabu za uhandisi. Jukumu: Andika chaguo za kukokotoa zinazokokotoa kiwango cha juu cha mkazo wa kupinda katika sehemu ya mstatili ya boriti ya cantilever. Ingizo: F (N), L (mm), b (mm), h (mm). Pato: sigma (MPa).Mkataba: Mfumo wa kitengo N-mm-MPa; toa maoni kwa kitengo cha kila ingizo.Kanuni: tumia I = b*h^3/12 na sigma = M*c/I; toa maoni kwa hatua.Kanuni: Ongeza jaribio lenye MATOKEO YANAYOJULIKANA: sigma ~28.1 MPa kwa F=500,L=300,b=20,h=40; Angalia na madai (uvumilivu mdogo).

Kidokezo cha hali ya ukingo

Ongeza ukaguzi wa herufi kwenye kitendakazi kilicho hapo juu:- Ikiwa b, h au L ni sifuri au hasi, toa hitilafu kubwa (raise ValueError).- Toa maoni ikiwa kuna tatizo la kufurika/usahihi na ingizo kubwa/ndogo. Pia ongeza pembejeo 3 tofauti za mtihani na uandike matokeo yanayotarajiwa; eleza matokeo kwa njia ambayo ninaweza kuyathibitisha kwa mikono.

Agizo la usalama wa kitengo (pint).

Salama kwa kitengo cha akaunti sawa na maktaba ya 'pint'. Ruhusu ingizo lifafanuliwe katika vitengo (k.m. 500 * ureg.newton). Badilisha pato kuwa MPa na uchapishe. Ongeza mfano mdogo unaoonyesha jinsi pint inavyoshindwa unapopewa ingizo na kitengo kisicho sahihi.

Kidokezo cha kuangalia msimbo

Kagua msimbo wangu wa hesabu wa uhandisi hapa chini kutoka kwa mtazamo wa ukaguzi wa nambari, usikubaliani nami. Hasa: je, ubadilishaji wa kitengo ni sahihi, fomula ni sahihi, je, kesi za makali (sifuri, hasi) zimezingatiwa, je majaribio ni ya uthibitisho kweli? Kwa kila utafutaji, andika jinsi ya kurekebisha.[code]

Uhamasishaji dhaifu / Uhamasishaji Wenye Nguvu

Agizo dhaifu:

Andika msimbo wa Python kwa hesabu ya mafadhaiko.

Hakuna chaguo la vitengo, fomula, ufafanuzi wa pembejeo na vipimo; AI hutengeneza msimbo unaofanya kazi lakini haujathibitishwa na ambao kitengo chake hakijulikani.

Agizo lenye nguvu:

Andika kazi ya dhiki ya kupiga kwenye boriti ya cantilever. Ingizo F(N), L(mm), b(mm),h(mm); pato sigma (MPa). Mfumo wa N-mm-MPa, taja kila kitengo kwenye maoni. Ongeza jaribio lenye matokeo yanayojulikana (F=500, L=300, b=20, h=40 → ~28.1 MPa, dai). Toa hitilafu kwenye ingizo sifuri/hasi. Tafsiri kesi za makali.

Kidokezo cha pili kinahitaji mfumo wa kitengo, fomula, pembejeo, jaribio na kesi za makali; Inafanya msimbo kuthibitishwa.

Kesi Tatu Ndogo (Kwa Nambari)

Kesi ya 1 - Hitilafu ya sauti ya kimya. Hesabu ya eneo inayozalishwa na AI huchukua kipenyo katika mm na kutoa mm² na pi*d**2/4, lakini mstari unaofuata unaiweka katika fomula inayotarajia m²; Nambari hiyo inafanya kazi bila makosa na inatoa mkazo mara 1,000,000 chini. Wakati mhandisi anaendesha jaribio na matokeo yanayojulikana (assert abs(sigma-28.1)<0.5), jaribio hulipuka na kosa linakamatwa. Ikiwa hakukuwa na jaribio, matokeo mabaya yangeingia kwenye ripoti bila kutambuliwa. Somo: msimbo wa kufanya kazi ≠ msimbo sahihi.

Kesi ya 2 - hali ya ajali ya Edge. Katika msimbo unaozunguka kwa familia ya sehemu, unene h = 0 umeingia kwenye mstari mmoja; Wakati mimi = b*h**3/12 = 0, sigma = M*c/I inatoa mgawanyiko kwa kosa la sifuri. Shukrani kwa if h<=0: kuongeza udhibiti wa ValueError ulioongezwa na AI, msimbo huacha na ujumbe wa maana na hautoi inf kimyakimya. Somo: kushughulikia kesi za makali kabla.

Kesi ya 3 - Faida ya kurudia. Ilichukua mhandisi nusu siku kuhesabu mwenyewe nguvu ya pampu kwa pointi 40 tofauti za uendeshaji. Imeandikwa katika AI, hati inasoma CSV, kukokotoa nguvu kwa kila mstari, na kuthibitisha hoja inayojulikana kwa kudai, kupunguza kazi hadi ~ dakika 2 na kuandika matokeo kwenye faili inayoweza kufuatiliwa. Wakati kiingilio kinabadilika, jedwali lote linasasishwa kila sekunde. Somo: otomatiki iliyothibitishwa ni ya haraka na ya kutegemewa.

Makosa ya kawaida

  • "Ilifanya kazi = sawa" uwongo: Kufikiria kwamba nambari inayofanya kazi bila makosa ni sahihi.
  • Kutoandika majaribio: Kutegemea msimbo bila jaribio la marejeleo na matokeo yanayojulikana.
  • Utata wa kitengo: Kuacha vitengo vya ingizo/towe bila kufasiriwa, kuruka ubadilishaji.
  • Kupuuza matukio makali: Hitilafu ya kimya au ajali kwenye ingizo sifuri/hasi.
  • Kutoandika chanzo/dhana: Kutoandika chanzo na dhana ya fomula iliyotumika.
  • Sio toleo: Kuacha akaunti kama faili ya wakati mmoja bila kuifanya iweze kufuatiliwa (git).

Kwa muhtasari

  • Python hufanya hesabu ya uhandisi iweze kurudiwa, kufuatiliwa, na toleo kudhibitiwa.
  • AI ni haraka sana katika kutoa msimbo; Lakini ukweli kwamba kanuni hufanya kazi bila makosa haimaanishi kuwa inahesabu kwa usahihi.
  • Kila msimbo unapaswa kuthibitishwa kupitia majaribio ya matokeo yanayojulikana, ukaguzi wa kitengo na kesi za makali.
  • Makosa ya kitengo ndio chanzo cha makosa ya mara kwa mara na cha siri zaidi; Tetea kwa mfumo wa kitengo kimoja, nomenclature au pinti.
  • Otomatiki iliyoidhinishwa huokoa wakati na inatoa ujasiri; Msimbo ambao haujathibitishwa ni hatari.

Jukumu la maombi

Chagua hesabu ya uhandisi inayojirudia (kama vile mkazo, nguvu ya pampu, mzigo wa joto). Andika kazi ya Python kwa AI ambayo hufanya hesabu hii; Toa maoni kuhusu kitengo cha kila ingizo na pato na uongeze jaribio la kudai na matokeo yanayojulikana. Endesha jaribio na uone ikiwa inapita. Kisha fanya uthibitishaji mbili zaidi: jaribu kipochi cha makali (ingizo sifuri au hasi) ili kuangalia kuwa msimbo unarudisha hitilafu kubwa, na upe kipengee cha pato kwa mfano. Ikiwezekana, pia uwe na toleo la kitengo-salama linalozalishwa kwa pinti. Hatimaye, ongeza mawazo ya hesabu, chanzo cha fomula, na tarehe kwenye msimbo kama kichwa kifupi na uandike kwa nini msimbo huu bado unahitaji idhini ya mhandisi.

orodha ya ukaguzi

  • [ ] Vitengo vya kuingiza na kutoa vimeandikwa kwa uwazi katika msimbo; mfumo wa kitengo kimoja ulichaguliwa.
  • [ ] Jaribio (madai) lenye matokeo yanayojulikana liliongezwa na kufaulu.
  • [ ] Angalau kipochi kimoja (sifuri/hasi) kilijaribiwa; Msimbo ulitoa hitilafu kubwa.
  • [ ] Kitengo cha matokeo kilitolewa na mfano wa mwongozo (bila kudhani "kazi = sahihi").
  • [ ] Chanzo cha fomula, mawazo na tarehe iliyobainishwa katika msimbo.
  • [ ] Akaunti ilifuatiliwa/kufuatiliwa; idhini ya mwisho iliachiwa mhandisi.