Matrisberäkningar med för STM32?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Hej!

Jag undrar om det är någon här som har lyckas med matrisberäkningar för en STM32? Matrisberäkningar används för exempelvis reglerteori eller artificiell intelligens eller allmänna numeriska beräkningar.

Jag läser nu en artikel av Steve Brunton, som jag har kontakt med lite då och då. Han och hans kollegor har utvecklat en ny metod för att estimera olinjära reglersystem med hjälp av grundläggande linjär algebra.
https://epubs.siam.org/doi/pdf/10.1137/15M1013857

Därför tänkte jag fråga er om det finns möjligt att implementera matrisberäkningar för STM32? Självklart vet jag att CPU:n måste stödja flyttal, men sådant gör väll alla CPU:er idag?

Ett välkänt och beprövat bibliotek för allmänna vetenskapliga beräkningar för C är GNU Scientific Library (GSL)
https://www.gnu.org/software/gsl/doc/html/index.html

Jag hittade även ett bibliotek för matrisberäkningar för C hos Keil. Men det verkar vara ett rätt fattigt bibliotek som saknar det mesta för matrisberäkningar. https://www.keil.com/pack/doc/CMSIS/DSP ... atrix.html

Om ni undrar varför SVD kommer in i artikeln så handlar det att man kan lösa minsta kvadratmetoden med SVD för matriser, vilket betyder att man behöver inte kurvanpassa data mot någon funktion, vilket man brukar göra vid minsta kvadratmetoden.
jockwe
Inlägg: 139
Blev medlem: 24 februari 2009, 09:51:18
Ort: Göteborg

Re: Matrisberäkningar med för STM32?

Inlägg av jockwe »

Det finns ju olika varianter av stm32, vissa med och vissa utan flyttalsprocessor. de utan kan fortfarande utföra flyttalsoperationer men rätt mycket långsammare.
Vilken stm32 använder du?
Vad är det specifikt för matrisberäkningar du saknar i keil biblioteket?
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Jag saknar SVD och QR-faktorisering.

Jag kör F401RE.
Sado
Inlägg: 79
Blev medlem: 6 april 2007, 14:39:33
Ort: Svealand

Re: Matrisberäkningar med för STM32?

Inlägg av Sado »

Inte provat själv så här kommer ett höftskott.

Det verkar finnas MicroPython till STM32 och det verkar finnas passande bibliotek för ändamålet (umatrix, ulinalg). Men du kanske inte är intresserad av att köra Python om det ens skulle vara möjligt?
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Jag fick reda på det idag att man kunde köra MicroPython på STM32. Ibland undrar jag varför folk hela tiden kör andra programmeringsspråk när Python verkar vara ett universalspråk som kan göra allt. :humm:

Dom är ganska dyra dessa kort. Kanske därför gamm C finns kvar?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 36435
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av TomasL »

Dom är ganska dyra dessa kort. Kanske därför gamm C finns kvar?
Nej, C finns kvar eftersom det är nödvändigt när man skall göra tids och platsoptimerad kod, dvs kod som är effektiv och gör det man vill.
Sado
Inlägg: 79
Blev medlem: 6 april 2007, 14:39:33
Ort: Svealand

Re: Matrisberäkningar med för STM32?

Inlägg av Sado »

Ja, det går verkligen att göra "allt" i Python även om det inte passar i alla lägen. Det enda jag inte är bekväm med är GUI-design (TkInter osv) och paketering/distribution. Så länge jag sitter och kör själv på kommandorad och i miljön fungerar det utmärkt för mig.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

TomasL skrev:
Dom är ganska dyra dessa kort. Kanske därför gamm C finns kvar?
Nej, C finns kvar eftersom det är nödvändigt när man skall göra tids och platsoptimerad kod, dvs kod som är effektiv och gör det man vill.
>> och gör det man vill
Gäller det inte alla språk?

>> dvs kod som är effektiv
Gäller det inte alla vektoriserade språk? Python är ett vektoriserat språk.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 12132
Blev medlem: 16 april 2006, 17:04:10

Re: Matrisberäkningar med för STM32?

Inlägg av mrfrenzy »

Jag är själv en stor förespråkare för Python men i just detta fall, att göra matematiska beräkningar som ligger på gränsen till vad processorn orkar med skulle jag nog förespråka C. Förmodligen blir det bättre optimerat.

Om inte annat vore det en intressant jämförelse. Börja med att göra den i Python om du kan det, blir det för långsamt så gör om den i C och se ifall det går snabbare.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Jag vill helst göra det i C på en gång. Det är därför jag söker ett C-bibliotek som fungerar för inbyggda system.

Det som är viktigt för mig är:
  • Multiplikation
    Addition
    Division
    Substraktion
    SVD
    QR
Då känner jag att jag klara mig.
Senast redigerad av Al_Bundy 8 januari 2019, 21:24:52, redigerad totalt 1 gång.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 36435
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av TomasL »

Al_Bundy skrev:>> och gör det man vill
Gäll
er det inte alla språk?
[/quote]
Nej, i Pyton exempelvis har du en massa processer du inte kan konmtrollera
Al_Bundy skrev: >> dvs kod som är effektiv
Gäller det inte alla vektoriserade språk? Python är ett vektoriserat språk.
Spelar ingen roll huruvida språket är vektoriserat, eftersom python kräver en RTM, blir det per definition långsammar och mindre kodefektivt än till exempel C.

C kodar direkt tilolo assembler, sedan beror det på violken kompilator du har och hur mycket du betalt, hur effektiv koden skall bli.
I Python och andra interpreterandce språk, blir det rätt mycket annorlunda.

Som svar, vill du ha effektiv och snabb kod, använd C.
Vill du ha Bloatad och innefektiv kod, använd allt annat.

Alla C-bibliotek fungerar på alla system, oavsett om det är en PIC16 eller en i7-X64.

edit:fixat citeringstaggarna
Senast redigerad av TomasL 8 januari 2019, 21:43:56, redigerad totalt 1 gång.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Okej! Tack :) Så jag kan i praktiken bara installera GSL och göra lite matrisberäkningar på min STM32? Självklart ska jag skaffa fetare STM32 där jag kan vara säker på att den hanterar talen rätt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 36435
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av TomasL »

Eftersom jag inte vet vad GSL är, så är det omöjligt att svara på den frågan
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Det är GNU Scientific Library. Ett enormt stort C-bibliotek för numeriska beräkningar.
Användarvisningsbild
säter
Inlägg: 22548
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Matrisberäkningar med för STM32?

Inlägg av säter »

Jag som inte förstår så mycket av det här, vad är det för "bibliotek" ni talar om hela tiden?
Skriv svar