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:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Icecap skrev:Som jag fattar det ger dessa matrix-beräkningar en bild av systemets reaktion på input vilket då blir en typ matematisk beskrivning av regleringen.

Alltså inget mashine-learning eller liknande, bara gammal hederlig matematik - som förvisso kan vara mycket effektiv.

Jag antar att man kan ha "kvar" en matrix som summerar under tiden och som är "bilden" av systemet, att dynamisk bild som anpassas eftersom.

Men det är bara vilda gissningar.
Finns inget häftigt med machine learning. Det är bara automatiserad statistik och regression. Jag håller på med ämnet systemidentifiering, vilket ger samma resultat som machine learning.
Rick81 skrev:Gissar att du får sämre noggrannhet i beräkningen, kanske det du ser när du jämför.

Jag är fortfarande nyfiken på hur du tar fram systemets ekvation. Du skrev nåt om machine learning, kan du förklara hur denna process går till?
Jag kommer lägga upp min kod här lite senare. Då kan ni få se på hur jag har tänkt det som.
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 »

Någon som känner sig manad med att hjälpa mig att hitta buggar efter jag har släppt lös denna C-kod? Ni måste ha GNU Octave installerat. Det kommer mest bara vara grundläggande matrisalgebra som ska testas.
Desto fler vi är, desto lättare kan vi hitta buggar.
Användarvisningsbild
AndLi
Inlägg: 18095
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av AndLi »

Varför lägger du inte bara ut det på lämplig git sida så kan ju alla som får en stund över provköra och komma med förbättring förslag på ett hanterbart sätt?
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 ändå ingen som bryr sig.
Användarvisningsbild
AndLi
Inlägg: 18095
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av AndLi »

För att det är alldeles för mycket jobb att meka runt med zip:ar
Och lösa filer..
Shimonu
Inlägg: 311
Blev medlem: 21 oktober 2015, 22:44:33

Re: Matrisberäkningar med för STM32?

Inlägg av Shimonu »

Al_Bundy skrev:Det är ändå ingen som bryr sig.
Det är en tråd på 38 sidor men ingen bryr sig..
hawkan
Inlägg: 3339
Blev medlem: 14 augusti 2011, 10:27:40

Re: Matrisberäkningar med för STM32?

Inlägg av hawkan »

Vi är väl några stycken som skulle kunna testa tänker jag.
Lägga det på github hade varit toppen, men har man aldrig gjort det
så är det en hel del att ta in.
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 ska ta mig en funderare på detta :)
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 »

Vad tror ni om arrayer som är deklarerade med n*m men n och m varierar? Jag syftar inte på malloc nu.
Mr Andersson
Inlägg: 1407
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Matrisberäkningar med för STM32?

Inlägg av Mr Andersson »

Varför inte bara använda C99 VLAs? Se bara till att ha rimliga övre gränser för att inte äta upp hela stacken.
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 »

Dem kommer inte äta upp något. Jag har koll på dimensionerna. Det jag menar är om jag t.ex "misshandlar" minnet om jag använder olika dimensioner på vanliga arrayer?
Användarvisningsbild
Icecap
Inlägg: 26610
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Matrisberäkningar med för STM32?

Inlägg av Icecap »

Om en array är deklarerat som t.ex. 100x100 float kommer den att uppta 10000 float-platser i minnet. Hur du sedan adresserar den har inte med saken att göra, minnet finns där ändå.

Du kan komma åt det minne vid att deklarera antingen en 'union' eller ett antal typedef's som sedan pekas på samma minne.

Men om du kör med fasta storlekar - men att storleken kan ändras med projektet - är det ju bara att deklarera storleken i en deklaration och sedan låta hela programmet ta del av den deklaration.

Typ:
#define SQUARE_SIZE 36

float My_Array[SQUARE_SIZE][SQUARE_SIZE];

Alla for() använder sedan SQUARE_SIZE som basvärde osv. Lite mer jobb att skriva in men sedan brukar det vara skottsäkert.
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 kör med olika storlekar, beroende på vilken matris jag stoppar in i funktionen.
Matriser som är allokerade återanvänds.
Mr Andersson
Inlägg: 1407
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Matrisberäkningar med för STM32?

Inlägg av Mr Andersson »

Icecap skrev:Men om du kör med fasta storlekar - men att storleken kan ändras med projektet - är det ju bara att deklarera storleken i en deklaration och sedan låta hela programmet ta del av den deklaration.
Jo det här är ju det smidigaste och stabilaste. Men jag får intrycket att han vill ha ett generiskt bibliotek där storleken anges vid körning. (Med reservation för att jag kan ha misstolkat syftet) :)
Användarvisningsbild
Icecap
Inlägg: 26610
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Matrisberäkningar med för STM32?

Inlägg av Icecap »

I mina projekt som använder samma kretskort har jag i varenda projekt en fil: Project_Settings.h

Där skriver jag in alla dessa saker som har med projektet att göra och alla funktions-filer refererar till den fil.
Den kan innehålla t.ex.:
#define USE_HOCO50MHZ // Ställer intern oscillator till 50MHz i HARDWARE_100.h
#define USE_RS232_A // Aktiverar Ser1 i Standard_RS232_A_100.h samt enabler de interrupts som behövs

osv osv.

På det vis har jag "standard" filer som slår på kommunikation med RTC, EEPROM, 1-Wire®, RS232 A & B, RS485, korthållsradio, WLAN, LAN, PWM för displayintensitet och vad jag annars kan behöva.

Ett projekt kan för mig innehålla kanske 7-8 filer i själva källfilsbiblioteket och resten (20 st?) ligger i mitt arbetsbibliotek\Functions.
På det vis har jag välfungerande debuggade funktioner som kan ganska mycket och har vissa inställningar som kan ändras via data i Project_Settings.h.

Och Project_Settings.h är unik för varje projekt.

Jag påstår inte att detta är den bästa metod - men den är sjukt smidig, jag startar ett projekt på 3 minuter, då är stommen uppe att köra, alla portar ställd rätt, alla interfaces och interrupt i rätt läge och jag kan börja med "det riktiga program" direkt.

Ska Al skapa en stomme för sitt program anser jag att det borde vara den rätta vägen att gå: en "universell" fil(-set) som kan återanvändas, är testat och välfungerande. Då släpper man uppfinna hjulet gång efter gång.
Skriv svar