Բովանդակություն:

Գիտե՞ք ESP32 ADC ճշգրտման մասին: 29 քայլ
Գիտե՞ք ESP32 ADC ճշգրտման մասին: 29 քայլ

Video: Գիտե՞ք ESP32 ADC ճշգրտման մասին: 29 քայլ

Video: Գիտե՞ք ESP32 ADC ճշգրտման մասին: 29 քայլ
Video: LDmicro 12: Arduino Boards without IDE (Microcontroller PLC Ladder Programming with LDmicro) 2024, Նոյեմբեր
Anonim
Image
Image
Օգտագործված ռեսուրսներ
Օգտագործված ռեսուրսներ

Այսօր ես կխոսեմ ավելի տեխնիկական հարցի մասին, բայց ես կարծում եմ, որ բոլորը, ովքեր աշխատում են ESP32- ով, պետք է իմանան. ADC- ի (անալոգային-թվային փոխարկիչ) ընթերցման ճշգրտման հարցը: Ես գտնում եմ, որ սա կարևոր է, քանի որ «չափում» կատարելիս, հատկապես անալոգային ելք ունեցող գործիքի հետ, պետք է բացարձակապես վստահ լինել, որ ընթերցումը ճիշտ է կատարվում:

Այսօր տեսանյութում, հետևաբար, մենք կիրականացնենք չափումներ ESP32- ի «անալոգային-թվային փոխարկիչի» միջոցով, կդիտարկենք փոխակերպման անհամապատասխանությունները և կկիրառենք ADC ճշգրտման / չափագրման մեթոդ:

Քայլ 1. Ի՞նչ է AD փոխարկիչը:

AD փոխարկիչը միացում է, որն ունակ է անալոգային (շարունակական) քանակը թարգմանել թվային (դիսկրետ) արժեքների: Ինչ է դա նշանակում? Դա նշանակում է, որ մինչդեռ թվային արժեքները կարող են ենթադրել միայն զրոների և միավորների համադրությամբ ձևավորված դիսկրետ արժեքներ, անալոգային մեծությունը կարող է ենթադրել ցանկացած արժեք միջակայքում: Օրինակ, եթե մենք չափեինք իդեալական AA բջիջի լարումը, մենք կարող էինք գտնել ցանկացած արժեք 0V- ից մինչև 1.5V, քանի որ սա անալոգային մեծություն է: Իդեալական լամպի ելքային վիճակը պետք է ընդունի միայն երկու վիճակ (անջատված կամ միացված), ինչը դիսկրետ մեծություն է: Քանի որ միկրոկառավարիչները աշխատում են այս դիսկրետ տրամաբանության հիման վրա, մեզ անհրաժեշտ է մի միացում, որը կարող է անալոգային քանակությունը թվային (կամ դիսկրետ) թարգմանել:

Քայլ 2: Օգտագործված ռեսուրսներ

• Մեկ Lolin32 Lite քարտ v1.0.0

• Tektronix TDS1001C օսլիլոսկոպ ՝ գրավման համար

• Մեկ USB մալուխ ESP32- ի համար

• Hantek DSO4102C տատանում ՝ որպես ազդանշանի գեներատոր

Քայլ 3: ESP32 ADC

ESP32 ADC
ESP32 ADC

Ըստ Espressif- ի տվյալների, ESP32 չիպերը չափված արդյունքներում կարող են ներկայացնել +/- 6% տարբերություն մեկ չիպից մյուսը:

Բացի այդ, փոխարկումը ՉԻ ունենա գծային պատասխան ընթերցման յուրաքանչյուր մատչելի տիրույթի համար: Espressif- ը տրամադրում է ստուգաչափման մեթոդ և առաջարկում է օգտվողներին կիրառել այլ մեթոդներ, եթե դրանք անհրաժեշտ են համարում ցանկալի ճշգրտության հասնելու համար:

Մենք կկատարենք տվյալների ձեռքբերում, և դրանից մենք ցույց կտանք ADC- ի պատասխանները և ճշգրտումը կարդալու համար մաթեմատիկական գործընթացի կիրառման օրինակ:

Այս ուղղումներն իրականացնելու մի քանի (ավելի պարզ կամ ավելի բարդ) եղանակներ կան: Քեզանից է կախված գնահատել ամենահարմարը քո նախագծի համար:

Այստեղ ցուցադրվածը կունենա պատկերազարդ նպատակ և կփորձի անդրադառնալ հետաքրքիր կետերին, որոնք կարող են նկատվել ճշգրտումների ժամանակ:

Քայլ 4: Օգտագործված միացում

Շղթա Օգտագործված
Շղթա Օգտագործված

Ես օգտագործել եմ օսլիլոսկոպ ՝ ազդանշանի գեներատորով, որն անցնում է մինչև 25 ՄՀց ՝ Hantek DSO4102C: Մենք ստեղծեցինք ալիք, որը կարդացվում էր ESP A / D- ով և տատանումներով: Հավաքված տվյալները գրանցվել են csv- ում և աղյուսակում, որը ներբեռնման համար կթողնեմ հոդվածի վերջում:

Քայլ 5: Օգտագործված նշան

Նշան Օգտագործված է
Նշան Օգտագործված է

Մենք ընտրեցինք ցածր հաճախականությամբ տրապիզոիդ ազդանշան, որը թույլ է տալիս մուտք գործել դեպի թեքահարթակներ, որոնք անցնում են փոխակերպման ամբողջ տիրույթով: Սա թույլ է տալիս մեծ թվով նմուշներ ձեռք բերել այս թեքահարթակների վրա:

Քայլ 6. Տվյալները, որոնք ձեռք են բերվում օսլիլոսկոպով

Տվյալները, որոնք ձեռք են բերվել օսլիլոսկոպով
Տվյալները, որոնք ձեռք են բերվել օսլիլոսկոպով

Բռնման պատկերը կատարվել է տատանումների միջոցով: Տվյալները պահվում էին csv ֆայլում: Ուշադրություն դարձրեք ազդանշանի բարձրացող և ընկնող թեքահարթակների փոքր թեքությանը:

Քայլ 7. Օսլիլոսկոպով ստացված տվյալները (csv ֆայլ Excel- ում)

Տվյալները, որոնք ձեռք են բերվել օսլիլոսկոպով (csv ֆայլ Excel- ում)
Տվյալները, որոնք ձեռք են բերվել օսլիլոսկոպով (csv ֆայլ Excel- ում)

Մենք այստեղ ունենք նմուշառումներ:

Քայլ 8. ADC- ի կողմից ձեռք բերված տվյալները

Տվյալները ձեռք են բերվել ADC- ի կողմից
Տվյալները ձեռք են բերվել ADC- ի կողմից

Սերիայի փոխանցման արագությունը փոխելով ՝ մենք կարող ենք դիտել ADC- ի կողմից գրավված տվյալները: Դիտեք trapezoidal ազդանշանի դեֆորմացիան:

Տվյալները դիտարկվում են Arduino IDE սերիական գծագրիչի վրա

Քայլ 9. ADC - Excel- ով ձեռք բերված տվյալները

ADC - Excel- ի կողմից ձեռք բերված տվյալները
ADC - Excel- ի կողմից ձեռք բերված տվյալները

Օգտագործելով ավելի բարձր դրույքաչափ և սերիական տերմինալ, մենք կարող ենք գրավել արժեքները և դրանք կիրառել Excel- ում `մեր համեմատությունների համար:

Քայլ 10. Բարձրանալու թեքահարթակների համեմատություն

Բարձրանալու թեքահարթակների համեմատություն
Բարձրանալու թեքահարթակների համեմատություն

Մենք համեմատում ենք երկու որսորդության երկու բարձրանում թեքահարթակները:

Ուշադրություն դարձրեք այն կորությանը, որը տեղի է ունենում երկու թեքահարթակների վրա:

Նկատի ունեցեք նաև, որ նույն թեքահարթակի համար մենք ունենք ESP32- ի շատ ավելի նմուշներ, քան տատանումների միջոցով:

Քայլ 11. Նմուշների քանակի հավասարեցում

Նմուշների քանակի հավասարեցում
Նմուշների քանակի հավասարեցում
Նմուշների քանակի հավասարեցում
Նմուշների քանակի հավասարեցում

Քանի որ ESP32- ն ավելի մեծ թվով նմուշներ է տվել, քան օսլիլոսկոպը, մենք պետք է հավասարենք այս արժեքներին, քանի որ դրանք երկու կորերը համեմատելու ինդեքս են ծառայելու:

Դրա համար մենք ուղղակի համեմատություն կանենք:

Մենք ունենք 305 նմուշ ՝ oscilloscope թեքահարթակի և 2365 նմուշ ADC թեքահարթակի համար:

Քանի որ թեքահարթակները նույն տիրույթում են, կարող ենք ասել, որ յուրաքանչյուր օսլիլոսկոպի համար մենք ունենք ADC- ի մոտավորապես 7.75 նմուշ:

Տատանումների յուրաքանչյուր նմուշի ինդեքսի բազմապատկումը ունի նույն կորը, բայց ADC- ին համարժեք ինդեքսներով և վերաբաշխված տվյալներով:

Նոր պաշտոնների համար բացակայող տվյալները լրացնելու համար մենք կկիրառենք հայտնի տվյալներին վիճակագրորեն համապատասխանող կոր:

Քայլ 12: Բացերի լրացում - միտումների գիծ

Լրացնելով բացերը - միտումների գիծ
Լրացնելով բացերը - միտումների գիծ
Լրացնելով բացերը - միտումների գիծ
Լրացնելով բացերը - միտումների գիծ

Ընտրելով հայտնի տվյալները (կապույտ կետեր), սեղմելով և այնուհետև սեղմելով աջ կոճակով ՝ մենք ընտրում ենք ՝ «Ավելացնել միտումների տող…»

Պատուհանում, որը հայտնվում է, մենք ընտրում ենք Polynomial տեսակը (2 -րդ կարգը բավարար կլինի):

Մենք նաև ստուգեցինք «Դիտել հավասարումը գծապատկերում» և «Rուցադրել R- քառակուսի արժեքը գծապատկերում» ընտրանքները:

Մենք կտտացնում ենք «Փակել»:

Քայլ 13. Բացերի լրացում - 2 -րդ դասարանի բազմանդամի կոր

Լրացնելով բացերը - 2 -րդ դասարանի բազմանդամի կորը
Լրացնելով բացերը - 2 -րդ դասարանի բազմանդամի կորը

Excel- ը մեզ տալիս է երկու նոր տեղեկություն. երկրորդ կարգի հավասարումը, որը լավագույնս համապատասխանում է տվյալներին և R- քառակուսի հավասարումը, որը քանակականացնում է այս համարժեքությունը:

Պարզապես հիշեք, որ որքան մոտ է 1 -ին, այնքան ավելի տեղին է հավասարումը:

Եկեք չխորանանք ներգրավված մաթեմատիկայի մեջ, պարզապես օգտագործենք այն որպես գործիք:

Քայլ 14. Լրացնել բացերը. Գնահատել գործառույթը

Եկեք ընտրանքի բացերը լրացնենք հավասարման արդյունքում առաջացած տվյալներով: Եվ հետո, համեմատեք դրանք կետ առ կետ:

y = -9E -08x2 + 0, 0014x + 0, 1505

R² = 0, 9999

Օսլիլոսկոպի լարումը = -9E -08 * ինդեքս 2 + 0, 0014 * ինդեքս + 0, 1505

Քայլ 15. Օսլիոսկոպի լարման փոխարկումը համարժեք արժեքի ՝ ADC- ի հետ համեմատելու համար

Օսքիլոսկոպի լարման փոխարկումը համարժեք արժեքի ՝ ADC- ի հետ համեմատելու համար
Օսքիլոսկոպի լարման փոխարկումը համարժեք արժեքի ՝ ADC- ի հետ համեմատելու համար

Եկեք օգտվենք դրանից ՝ նաև տատանման լարման արժեքը փոխակերպելու համարժեք ADC արժեքի:

Քանի որ ESP32- ի ADP- ում ձեռք բերված ամենաբարձր արժեքը 4095 էր, որը համարժեք է նույն ցուցանիշի 2.958V- ի ընթերցմանը, կարող ենք ասել, որ.

Տատանման չափումներում յուրաքանչյուր վոլտ հավասար է մ.թ. մոտ 1384,4 միավորի: Հետևաբար, մենք կարող ենք բազմապատկել տատանումների բոլոր չափումները այս արժեքով:

Քայլ 16. Ստացված երկու թեքահարթակների համեմատություն

Ստացված երկու թեքահարթակների համեմատությունը
Ստացված երկու թեքահարթակների համեմատությունը

Երկու ընթերցման արդյունքում ձեռք բերված տարբերությունների պատկերացում:

Քայլ 17: ADC ընթերցման տարբերության վարքագիծը (ՍԽԱԼ)

ADC ընթերցման տարբերության վարքագիծը (ՍԽԱԼ)
ADC ընթերցման տարբերության վարքագիծը (ՍԽԱԼ)

Ստորև բերված կորը ցույց է տալիս, թե ինչպես է ADC ընթերցման տարբերությունը իրեն պահում որպես չափման գործառույթ: Տվյալների հավաքածուն թույլ կտա գտնել ուղղիչ գործառույթ:

Այս կորը գտնելու համար մենք պարզապես գծում ենք յուրաքանչյուր չափման մեջ հայտնաբերված տարբերությունը ՝ իբրև մ.թ. յուրաքանչյուր հնարավոր դիրքի ֆունկցիա (0 -ից 4095):

Քայլ 18: ADC Ընթերցանության տարբերությունների վարքագիծ - Ուղղիչ գործառույթ գտնելը

ADC Ընթերցանության տարբերությունների վարքագիծ - Ուղղիչ գործառույթ գտնելը
ADC Ընթերցանության տարբերությունների վարքագիծ - Ուղղիչ գործառույթ գտնելը

Մենք կարող ենք Excel- ում ուղղիչ գործառույթ որոշել `ավելացնելով Trend Line- ը, որն այժմ ավելի բարձր է, մինչև այն բավարար չափով տեղավորվի մեր տվյալների հետ:

Քայլ 19: Այլ ծրագրակազմի օգտագործում

Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր
Օգտագործելով այլ ծրագրեր

Կորերի որոշման այլ հետաքրքիր ծրագրակազմ է PolySolve- ը, որը կարող է օգտագործվել ուղղակիորեն հղումով ՝ https://arachnoid.com/polysolve/ կամ ներբեռնել որպես Java ծրագիր:

Այն թույլ է տալիս կիրառել ավելի բարձր աստիճանի բազմանդամ հետընթացներ և ձևափոխված գործառույթի մատուցում, ինչպես նաև այլ ֆունկցիոնալ հնարավորություններ:

Այն օգտագործելու համար պարզապես մուտքագրեք տվյալները առաջին տեքստային դաշտում: Տվյալները պետք է հետևեն X, Y կարգին ՝ բաժանված ստորակետով կամ ներդիրով: Utionգուշացեք կետը ճիշտ օգտագործել որպես տասնորդական կետ:

Հաջորդ դաշտում աղյուսակը կհայտնվի, եթե մուտքագրված տվյալները ճիշտ ձևաչափվեն:

Ահա թե ինչպես է ընթացել մեր ADC սխալի կորը:

Այս պատուհանը կներկայացնի հետընթացի արդյունքը, ներառյալ գործառույթի համարժեքության տվյալները, որոնք իրենց հերթին կարող են ձևակերպել ելքը մի քանի եղանակով ՝ որպես C / C ++ գործառույթ, գործակիցների ցուցակ, Java- ով գրված գործառույթ և այլն:

Նշում. Ուշադրություն դարձրեք տասնորդական բաժանարարներին

Քայլ 20: Հաստատություններ և կարգավորում ()

Ես այստեղ նշում եմ GPIO- ն, որն օգտագործվում էր անալոգային գրավման համար: Ես նախաստորագրում եմ սերիական նավահանգիստը, ինչպես նաև անալոգային գրավման համար որոշված քորոցը:

const int pin_leitura = 36; // GPIO usado para captura analógica void setup () {Serial.begin (1000000); // Տեղադրեք հաջորդական հաջորդականությունը pinMode կարգաբերման համար (pin_leitura, INPUT); // Pino utilizado para captura analógica}

Քայլ 21. Loop () և ուղղման գործառույթ

Մենք կատարում ենք ճշգրտված լարման գրավումը և արժեքները տպում ենք ճիշտ ուղղումներով կամ առանց դրանց:

void loop () {int valor_analogico = analogRead (pin_leitura); // realiza a captura da tensão ajustada //Serial.print(valor_analogico + f (valor_analogico)); // imprime os valores para debug (COM CORREÇÃO) Serial.print (valor_analogico); // imprimime os valores para debug (SEM CORREÇÃO) Serial.print (","); Serial.print (4095); // cria uma linha para marcar o valor máximo de 4095 Serial.print (","); Serial.println (0); // cria uma linha para marcar o valor mínimo de 0}

Նկատի ունեցեք 12 -րդ տողում, որ մենք ունենք տվյալների տպման տարբերակ `f տարբերության ֆունկցիայի հավելումով (analog_value):

Քայլ 22. Օգտագործելով PolySolve ուղղման գործառույթը

Այստեղ մենք օգտագործում ենք PolySolve գործառույթը Arduino IDE- ի ներսում:

/* Ռեժիմ. Նորմալ բազմանդամային աստիճան 6, 2365 x, y տվյալների զույգ Հարաբերակցության գործակից (r^2) = 9, 907187626418e-01 Ստանդարտ սխալ = 1, 353761109831e+01 Ելքի ձև ՝ C/C ++ գործառույթ ՝ Հեղինակային իրավունք © 2012, Պ. Լուտուս - https://www.arachnoid.com: Բոլոր իրավունքները պաշտպանված են. */ կրկնակի f (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x + 1.276218788985e-04 * pow (x, 2) + -3.470360275448e-07 * pow (x, 3) + 2.082790802069e- 10 * հզորություն (x, 4) + -5.306931174991e-14 * հզորություն (x, 5) + 4.787659214703e-18 * հզորություն (x, 6); }

Նշեք ստորակետով կետի փոփոխությունը որպես տասնորդական բաժանարար:

Քայլ 23. Սևեռում ուղղագրությամբ

Capture With Correct - Plotter Serial
Capture With Correct - Plotter Serial

Քայլ 24. Հաշվարկային ծախսեր

Հաշվարկային ծախսեր
Հաշվարկային ծախսեր
Հաշվարկային ծախսեր
Հաշվարկային ծախսեր

Բազմանդամային հաշվարկներ կատարելու համար անհրաժեշտ է, որ պրոցեսորը զբաղվի այս առաջադրանքով: Դա կարող է հանգեցնել կատարման ուշացումների ՝ կախված աղբյուրի կոդից և առկա հաշվիչ հզորությունից:

Այստեղ մենք տեսնում ենք թեստի արդյունքների աղյուսակ `օգտագործելով բազմաստիճան բազմանդամներ: Ուշադրություն դարձրեք pow () գործառույթի օգտագործման և այն ժամանակների միջև եղած տարբերությանը:

Քայլ 25. Թեստի կոդ - Կարգավորում () և Loop Start ()

Այստեղ մենք ունենք մեր թեստում օգտագործված կոդը:

void setup () {Serial.begin (1000000); // Iniciando a porta serial somente para debug} void loop () {float valor_analogico = 500.0; // um valor arbtrario float quantidade = 10000.0; // quantidade de chamadas float contador = 0.0; // contador de chamadas

Քայլ 26. Փորձարկման կոդ - հանգույց () և մշակում

Ես օգտագործել եմ micros () ֆունկցիան ՝ միկրովայրկյանների արժեքը ստանալու համար:

// ============= inicia o processo float agora = micros (); // marca o instante inicial while (contador <quantidade) {// v (valor_analogico); // função vazia // r (valor_analogico); // função com retorno // f0 (valor_analogico); // grau 0 // f1 (valor_analogico); // grau 1 // f2 (valor_analogico); // grau 2 // f3 (valor_analogico); // grau 3 // f4 (valor_analogico); // grau 4 // f5 (valor_analogico); // grau 5 // f6 (valor_analogico); // grau 6 // f13_semPow (valor_analogico); // grau 13º SEM a função POW // f13_comPow (valor_analogico); // grau 13º COM a função POW contador ++; } ագորա = (միկրոս () - ագորա) / քվանտադադ; // որոշման ընդմիջում, որը կարող է անցնել // ============== վերջնական գործընթաց

Քայլ 27. Փորձարկման կոդ - հանգույց () - արդյունքներ

Մենք տպագրում ենք 13 -րդ դասարանի գործառույթից վերադարձված արժեքը `ռազմավարությամբ և առանց համեմատության, ինչպես նաև մշակման միջակայքը:

// imprime o valor retornado da função de grau 13 com e sem POW para comparação Serial.print (f13_semPow (valor_analogico)); // grau 13º SEM a função POW Serial.print (" -"); Serial.print (f13_comPow (valor_analogico)); // grau 13º COM a função POW Serial.print (" -"); // imprime o intervalo do processamento Serial.println (ագորա, 6); }

Քայլ 28. Փորձարկման կոդ. Օգտագործված գործառույթներ

0 և 1 աստիճանի դատարկ գործառույթներ (միայն վերադարձով):

// FUNÇÃO VAZIA կրկնակի v (կրկնակի x) {} // FUNÇÃO SOMENTE COM RETORNO կրկնակի r (կրկնակի x) {վերադարձը x; } // FUNÇÃO DE GRAU 0 կրկնակի f0 (կրկնակի x) {վերադարձ 2.202196968876e+02; } // FUNÇÃO DE GRAU 1 կրկնակի f1 (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x; }

2 -րդ, 3 -րդ և 4 -րդ դասարանների գործառույթները:

// FUNÇÃO DE GRAU 2 կրկնակի f2 (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x + 1.276218788985e-04 * pow (x, 2); } // FUNÇÃO DE GRAU 3 կրկնակի f3 (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x + 1.276218788985e-04 * pow (x, 2) + -3.470360275448e-07 * pow (x, 3); } // FUNÇÃO DE GRAU 4 կրկնակի f4 (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x + 1.276218788985e-04 * pow (x, 2) + -3.470360275448e-07 * pow (x, 3) + 2.082790802069e-10 * հզորություն (x, 4); }

5 -րդ և 6 -րդ դասարանների գործառույթները:

// FUNÇÃO DE GRAU 5 կրկնակի f5 (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x + 1.276218788985e-04 * pow (x, 2) + -3.470360275448e-07 * pow (x, 3) + 2.082790802069e-10 * հզորություն (x, 4) + -5.306931174991e-14 * հզորություն (x, 5); } // FUNÇÃO DE GRAU 6 կրկնակի f6 (կրկնակի x) {վերադարձ 2.202196968876e + 02 + 3.561383996027e-01 * x + 1.276218788985e-04 * pow (x, 2) + -3.470360275448e-07 * pow (x, 3) + 2.082790802069e-10 * հզորություն (x, 4) + -5.306931174991e-14 * հզորություն (x, 5) + 4.787659214703e-18 * հզորություն (x, 6); }

13 -րդ դասարանի գործառույթը `օգտագործելով ռազմագերինը:

// FUNÇÃO DE GRAU 13 USANDO O POW կրկնակի f13_comPow (կրկնակի x) {վերադարձ 2, 161282383460e + 02 + 3, 944594843419e-01 * x + 5, 395439724295e-04 * pow (x, 2) + -3, 968558178426e-06 * pow (x, 3) + 1, 047910519933e-08 * pow (x, 4) + -1, 479271312313e-11 * pow (x, 5) + 1, 220894795714e-14 * pow (x, 6) + -6, 136200785076e-18 * pow (x, 7) + 1, 910015248179e-21 * pow (x, 8) + -3, 566607830903e-25 * pow (x, 9) + 5, 000280815521e-30 * pow (x, 10) + 3, 434515045670e-32 * pow (x, 11) + -1, 407635444704e-35 * pow (x, 12) + 9, 871816383223e-40 * pow (x, 13); }

13 -րդ դասարանի գործառույթը ՝ առանց ռազմագերիների օգտագործման:

// FUNÇÃO DE GRAU SEM USAR O POW կրկնակի f13_semPow (կրկնակի x) {վերադարձ 2, 161282383460e + 02 + 3, 944594843419e-01 * x + 5, 395439724295e-04 * x * x + -3, 968558178426e-06 * x * * x + 1, 047910519933e-08 * x * x * x * x + -1, 479271312313e-11 * x * x * x * x * x + 1, 220894795714e-14 * x * x * x * x * x * x * x + -6, 136200785076e-18 * x * x * x * x * x * x * x + 1, 910015248179e-21 * x * x * x * x * x * x * x * x + -3, 566607830903e- 25 * x * x * x * x * x * x * x * x * x + 5, 000280815521e-30 * x * x * x * x * x * x * x * x * x * x + 3, 434515045670e- 32 * x * x * x * x * x * x * x * x * x * x * x + -1, 407635444704e -35 * x * x * x * x * x * x * x * x * x * x * x * x + 9, 871816383223e-40 * x * x * x * x * x * x * x * x * x * x * x * x * x * x; }

Քայլ 29: Ֆայլեր

Ներբեռնեք ֆայլերը.

PDF

ԻՆՈ

Աղյուսակ

Խորհուրդ ենք տալիս: