C # Moving Genomsnitt Kö


Om prestanda av den här koden är kritisk, kan det vara meningsfullt att undvika heaptilldelningar för ljus s. Jag tror att det mest rimliga sättet att göra det skulle vara att göra ljus till en struktur. Även om mutable värde typer är onda. Så jag skulle också refactor Candle vara oföränderlig. Detta innebär också att implementeringen av newestCandle skulle behöva bytas, förmodligen till ett par dubbla fält (eller alternativt en separat variabel och återställbar klass). Jag ser ingen annan potentiell prestationsproblem i din kod. Men när det gäller prestanda, bör du alltid lita på profilering, inte din (eller någons) intuition. Jag gillar inte några namn på dina metoder. Specifikt: ValueUpdated. Metodnamn ska vanligtvis vara i formen göra något, inte något hände. Så jag tror att ett bättre namn skulle vara UpdateValue. Lägg till. Ändra. Det här är de två grundläggande operationerna i din MovingAverage och jag tror att de namnen inte uttrycker meningen väl. Jag skulle kalla dem något som MoveAndSetCurrent och SetCurrent. respektive. Även om en sådan namngivning indikerar att de grundläggande operationerna snarare skulle vara Flytta och SetCurrent. Jag har ett vetenskapligt datalogprogram som jag har utvecklat i ett antal år nu. Vi behöver nu lägga till lite funktionalitet så att det ger ett glidande medelvärde av de data som samlas in. Jag kan skapa en kö i myDataClass för att göra femo bufferten, men jag undrade vad det bästa sättet att göra medelvärdet kan vara. Som du kan se från kodexemplet nedan innehåller myDataClass olika datastrukturer, varav några kan vara medelvärda och vissa som inte kan (t ex strängen). Huvudfrågan är om det finns ett enkelt sätt att uppnå detta eller behöver jag skriva kod för att genomsnittliga varje objekt i myDataClass eller ska jag redesigna myDataClass Tack. Tisdag 12 juli 2011 09:14 Personligt, jag skulle skapa en Class quotDataQueue (av MyDataClass) som avkänner sig om räkningen i kön passerar 10 saker. På det här sättet kommer du aldrig att ta hand om antalet objekt i kön från din kod. Detta kommer att ta hand om från inuti könsklassen Markerad som svar från Mike Feng Moderator Onsdagen den 20 juli 2011 13:56 Tisdag 12 juli 2011 09:40 Efter lite mer utredning, antar jag att jag hittade lösningen för dig. Du kan använda CopyTo-metoden för att kopiera de vänstra objekten i kön till en matris. Var medveten om att jag inte beräknat genomsnittet, jag visade bara hur du kan basera dina beräkningar, men det är bara att lägga till egna beräkningar baserade på din affärsregel för det. Markerad som svar av Mike Feng Moderator Onsdag 20 juli, 2011 1:56 PM Fredag ​​den 15 juli 2011 5:16 AM Baserat på min förståelse är ditt krav något sådant: Detta är data i kön: myDataClass1. Datadbl 2.1 datastr quotsomeString1quot dataarraydbl en dubbel array myDataClass2. Datadbl 3.5 datastr quotsomeString2quot dataarraydbl en dubbel array myDataClass10. datadbl 9.1 datastr quotsomeString10quot dataarraydbl en dubbel array Nu vill du beräkna det genomsnittliga antalet datadbl feild i varje myDataClass-objekt och få det genomsnittliga antalet dataarraydbl feild. Om så är fallet kommer jag att föreslå att du gör samma sak som Crazypenie föreslog: bygg en ny klass med namnet DataQueue: Jag hoppas att det här kommer att vara till hjälp, om jag har missförstått något, var snäll och låt mig veta. Mike Feng MSFT MSDN Community Support Feedback till oss Få eller begär kod Prov från Microsoft Var god och kom ihåg att markera svaren som svar om de hjälper och avmarkerar dem om de inte ger hjälp. Markerat som svar av Mike Feng Moderator Onsdag 20 juli, 2011 1:55 PM Fredag ​​den 15 juli 2011 3:33 Tack Cor, jag kunde göra det så, men myDataClass är faktiskt ganska stor och loggningssystemet kan springa för Länge så det är mer effektivt för mig att skräpa kopior av klassen jag faktiskt inte behöver för att beräkna genomsnittet. Que var det enklaste sättet att uppnå detta. Min huvudfråga är dock hur genomsnittlig en sådan klass får jag en känsla av att jag måste skriva kod som gör det specifikt för varje datatyp i myDataClass. Public Class myDataClass Tisdag 12 juli, 2011 10:40 AM Baserat på min förståelse är ditt krav något sådant: Detta är data i kön: myDataClass1. Datadbl 2.1 datastr quotsomeString1quot dataarraydbl en dubbel array myDataClass2. Datadbl 3.5 datastr quotsomeString2quot dataarraydbl en dubbel array myDataClass10. datadbl 9.1 datastr quotsomeString10quot dataarraydbl en dubbel array Nu vill du beräkna det genomsnittliga antalet datadbl feild i varje myDataClass-objekt och få det genomsnittliga antalet dataarraydbl feild. Om så är fallet kommer jag att föreslå att du gör samma sak som Crazypenie föreslog: bygg en ny klass med namnet DataQueue: Jag hoppas att det här kommer att vara till hjälp, om jag har missförstått något, var snäll och låt mig veta. Mike Feng MSFT MSDN Community Support Feedback till oss Få eller begär kod Prov från Microsoft Var god och kom ihåg att markera svaren som svar om de hjälper och avmarkerar dem om de inte ger hjälp. Markerad som svar av Mike Feng Moderator onsdag 20 juli 2011 1:55 PM fredag ​​15 juli 2011 3:33 AMAveragesSimple moving average AveragesSimple moving average Du uppmanas att lösa denna uppgift enligt uppgiftsbeskrivningen, med vilket språk som helst känna till. Beräknar det enkla glidande medlet av en serie siffror. Skapa en stateful funktionsklassinstans som tar en period och returnerar en rutin som tar ett tal som argument och ger ett enkelt glidande medelvärde av dess argument hittills. Ett enkelt glidande medelvärde är en metod för att beräkna ett medelvärde av en ström av siffror genom att endast beräkna de senaste 160 P 160-talen från strömmen, 160 var 160 P 160 är känd som perioden. Det kan genomföras genom att anropa en initialiseringsrutin med 160 P 160 som sitt argument 160 I (P), 160, som sedan ska returnera en rutin som, när den kallas med enskilda successiva medlemmar i en ström av tal, beräknar medelvärdet av (upp Till), de senaste 160 P 160 av dem, kan ringa denna 160 SMA (). Ordet 160 stateful 160 i uppgiftsbeskrivningen hänvisar till behovet av 160 SMA () 160 för att komma ihåg viss information mellan samtal till den: 160 Perioden, 160 P 160 En beställd behållare med minst de senaste 160 P 160 numren från var och en av Dess enskilda samtal. Stateful 160 betyder också att successiva samtal till 160 I (), 160 initialiseraren, 160 ska returnera separata rutiner som gör 160 inte 160 delade sparade tillstånd så att de kunde användas på två oberoende dataströmmar. Pseudokod för implementering av 160 SMA 160 är: Denna version använder en bestående kö för att hålla de senaste p-värdena. Varje funktion som returneras från init-moving-genomsnittet har sitt tillstånd i en atom som håller ett kövärde. Denna implementering använder en cirkulär lista för att lagra siffrorna i fönstret i början av varje iterationspekare hänvisar till listcellen som håller värdet bara förflyttning ur fönstret och ersätts med det tillförda värdet. Använda en avslutningsredigering För närvarande kan denna sma vara nogc eftersom den allokerar en stängning på högen. Några flyktanalyser kunde ta bort heapfördelningen. Använda en strukturredigering Den här versionen undviker hällanslutningen av stängningen och håller data i stapelramen för huvudfunktionen. Samma utmatning: För att undvika att de flytande punkts approximationerna fortsätter att växa upp och växer, kan koden utföra en periodisk summa på hela cirkulärkön. Denna implementering producerar två (funktion) objekt delningstillstånd. Det är idiomatiskt i E att separera inmatning från utgång (läs från skriv) istället för att kombinera dem i ett objekt. Strukturen är densamma som implementeringen av Standard DeviationE. Elixirprogrammet nedan genererar en anonym funktion med en inbäddad period p, som används som perioden för det enkla glidande medlet. Körningsfunktionen läser numerisk ingång och skickar den till den nyupprettade anonyma funktionen och inspekterar sedan resultatet till STDOUT. Utgången visas nedan, med medelvärdet, följt av den grupperade ingången, som utgör grunden för varje glidande medelvärde. Erlang har stängningar, men oföränderliga variabler. En lösning är då att använda processer och ett enkelt meddelande som passerar baserat API. Matrisspråken har rutiner för att beräkna glidningsavvikelserna för en given sekvens av objekt. Det är mindre effektivt att slinga som i följande kommandon. Ständigt uppmanar till en ingång I. Som läggs till i slutet av en lista L1. L1 kan hittas genom att trycka på 2ND1, och medel kan hittas i ListOPS Tryck på ON för att avsluta programmet. Funktion som returnerar en lista som innehåller den genomsnittliga data för det medföljande argumentet Program som returnerar ett enkelt värde vid varje tillkännagivande: Listan är listan som medelvärde: p är perioden: 5 returnerar den genomsnittliga listan: Exempel 2: Använda programmet movinav2 , 5) - Initialisering av glidande medelberäkning, och definiera en period på 5 movinav2 (3, x): x - nya data i listan (värde 3) och resultatet lagras på variabel x och visas movinav2 (4, x) : x - ny data (värde 4), och det nya resultatet lagras på variabel x och visas (43) 2. Beskrivning av funktionen movinavg: variabel r - är resultatet (den genomsnittliga listan) som kommer att returneras variabel i - är indexvariabeln, och den pekar på slutet av dellistan som listan är medeltal. variabel z - en hjälparvariabel Funktionen använder variabel i för att bestämma vilka värden av listan som ska beaktas i nästa genomsnittliga beräkning. Vid varje iteration pekar variabel I till det sista värdet i listan som kommer att användas i medelberäkningen. Så vi behöver bara ta reda på vilka som kommer att vara det första värdet i listan. Vanligtvis måste man överväga p-element, så det första elementet kommer att vara det som indexeras av (i-p1). Men vid de första iterationerna kommer denna beräkning normalt att vara negativ, så kommer följande ekvation att undvika negativa index: max (i-p1,1) eller, ordna ekvationen, max (i-p, 0) 1. Men antalet element på de första iterationerna kommer också att vara mindre, det korrekta värdet kommer att vara (slutindex - startindex 1) eller, ordna ekvationen, (i - (max (ip, 0) 1) 1) och sedan , (I-max (ip, 0)). Variabel z har det gemensamma värdet (max (ip), 0) så startindex kommer att vara (z1) och nummervärdena blir (iz) mitt (lista, z1, iz) kommer att returnera listan över värde som kommer att vara medelvärde ( .) summerar dem summa (.) (iz) ri kommer att genomsöka dem och lagra resultatet på lämpligt ställe i resultatlistan fp1 skapar en partiell applikation som fastställer (i detta fall) den andra och tredje parameternA Simple Moving Average Algorithm I Jag letar efter ett sätt att hitta det glidande genomsnittet för kunder över en 30-dagarsperiod. Men jag kunde inte hitta någon VB-kod för att få mig igång. Jag hittade detta C-prov på Code Project men mina försök till omvandling har inte varit framgångsrika. Har någon en befintlig VB-klass som de skulle vilja dela med eller känner till ett urval som jag kunde använda för att bygga min egen I039m som arbetar med en funktion för att returnera ett exponentiellt medelvärde och det finns många exempel på exponentiella glidande medelvärden men de Alla börjar med ett glidande medelvärde som bara är medelvärdet som ett led i att beräkna det fortsatta glidande medlet. Jag behövde bara ett exponentiellt medelvärde av ett värde. Efter Googling min Bing har jag fortfarande inte sett någonting så här är mitt försök till ett grundläggande exponentiellt medelvärde. Är detta korrekt Finns det några fel jag har sett lite text om att lägga till ett utjämningsvärde för att ändra kurvan för exponentiell genomsnitt, men inte hur det skulle implementeras. I039ve har nyligen börjat använda VB 2010 Express-upplagan och Windows 7 Home Premium x64 och I039m försöker skriva en enkel multimediaspelare. Min algoritm är: Enkel allimitm algoritm för allimitm: 1. Skapa en form med tre listrutor (en för tillgängliga kataloger, en för tillgängliga filer, en för INAKCESSIBLE kataloger och filer), en drivkombobox (för en lista över enheter). En textruta för att hålla filtillägget. En start-sökningsknapp för att initiera en sökning efter filerna. 2. Formbelastning fyller comboBox med en lista över alla logiska enheter som är av typen fast och är redo. 3. Användaren väljer en enhet för sökning med hjälp av comboxBox. 4. Användaren går in i en filtillägg i en textruta. 5. Användaren trycker på sökknappen. 6. Datorn söker alla kataloger som börjar vid root för alla filer som matchar filtillägget. De tillåtna läsåtkomstkatalogerna läggs till i en listruta med kataloger. De tillåtna läsåtkomstfilerna (dvs hela sökvägen för varje enskild fil) läggs till i en listruta med filnamn. 7. När listfältet är befolket klickar du på en fil i listrutan hela sökvägen för den valda filen till en annan form som öppnas och visar ID3 v1-taggarna i filen i textrutor och även obligatorisk öppen, uppspelning, paus , Stoppa och stäng knappar. Plus en Edit Ok-knapp som aktiveras om användaren ändrar ID3 v1-taggarna. 8. Sekvensen för att spela upp filen är: öppna, spela (sedan pausa, spela, stoppa), stänga-notera att stängningen stannar filen först om den spelas och stänger den. 9. Användaren stänger spelningsformen och går tillbaka till första blanketten (dvs sökformuläret). 10. Avsluta sökformuläret avslutas ansökan. Ok jag kan fylla i diskoboxen utan problem. Jag kan få en lista över kataloger okej jag kan (och tro mig. Jag har försökt tusenvis av sätt) verkar få en filförteckning över alla filer i alla kataloger som börjar vid root som matchar kriterierna - det är jag som håller fast vid . Jag får fortfarande ett otillåtet undantag för åtkomst. Att fånga det undantaget verkar inte göra någonting användbart eftersom jag kan fortsätta sökslingan (ELLER få filnamnet som orsakar undantaget och lägg till det i listboksfilerna) - och så kan man inte få några filnamn. BTW Jag kan öppna, spela, pausa, stoppa och stänga en viss mp3-fil (med rätt väg) inga problem med Win32 API. Jag vet att jag är ett par filister men de är väldigt komplicerade för vad som borde vara en mycket enkel uppgift. I bra gamla DOS skulle det ta en rad eller två att använda DIR eller Tree-kommandon för att hitta filerna så jag kan inte tro att det är så svårt att göra i VB Det verkar som om Directory. GetFiles (searchpattern, startdirectory, option SearchFolderDepth) fungerar inte korrekt på grund av det undantag som uppstår från det oanmälda undantagshändelsen (och som det då verkar vara omöjligt att få filepathen och sedan fortsätta slingan med enkel undantagshanterarkod). Jag har ett vetenskapligt dataloggprogram som jag har utvecklat i ett antal år nu. Vi behöver nu lägga till lite funktionalitet så att det ger ett glidande medelvärde av de data som samlas in. Jag kan skapa en kö i myDataClass för att göra femo bufferten, men jag undrade vad det bästa sättet att göra medelvärdet kan vara. Som du kan se från kodexemplet nedan innehåller myDataClass olika datastrukturer, varav några kan vara medelvärda och vissa som inte kan (t ex strängen). Har någon en enkel kod för att flytta och byta namn på en bildfil här är ett exempel på exakt vad jag behöver göra. Ok, let039s antar att slutanvändaren redigerar en post som heter Mick039s Milktart. DataBase-tabellfältet heter ID (Primary Key) har ett värde på 237. Användaren klickar på en knapp för att lägga till en bild i den inspelningen. En OpenFileDialog öppnas och en bildfil med namnet quotNewImage. pngquot väljs av användaren från quotMyPicturesquot. code. Jag vill inkludera ett medelvärde i en kolumn där gennemsnittet ignorerar nollvärden i en rapportcell där kolumnen kan ha jag vill ha 16, inte 11 så (17 19 12 13 19) 5 inte (17 19 0 0 12 13 19) 7 Något som detta om det skulle fungera. SUM (Fieldsfieldname. Value) Count (iif (Fieldscountcycleperhour. Value gt 0, Fieldsfieldname. Value, 0)) I grunden bara genomsnittet allt i kolumnen INTE en noll lägger jag kommentarer till den genomsnittliga produktionen eftersom jag höll på att få felmeddelanden om det. Min uthållighet säger: Maxvärde: 33 Minsta värde: 33 Vad gör jag fel Alternativ Explicit On Option Strängt på I039m i en datavetenskapsklass och vi skriver enkla program med Visual Basic 2008. Jag är verkligen otrevlig när det gäller att Detta, som jag aldrig gjort det förut. Jag måste skriva ett program som: kvoterar användaren för 5 nummer och beräknar medelvärdet. Det visar sedan genomsnittet med ett lämpligt meddelande före genomsnittet. Jag har varit väldigt nära med det här, men jag kan få numren att lägga till, dela sedan med 5 och visa ett popup-meddelande. Jag försöker att implementera en algoritm som heter quotDiamond-Square Algorithmquot Jag har problem att avsluta den så att den återvinner det önskade resultatet. Hittills har jag folloiwng. Privat mPerformanceCounter som nytt system. Diagnostics. PerformanceCounter (quotProcessorquot, quot Processor Timequot, quotTotalquot) Finns det någon som kan skriva en enkel kod med vb, som börjar bygga ett enkelt spel Försöker göra en enkel webbläsare med några enkla addon039s. Vad jag har gjort är att konfigurera en meny (forum) för användaren att ange deras webbadressleverantörs webbadress och det kommer att spara det i en xml-fil. När de klickar på länken e-post, bör den ladda e-post xml iformation och placera den informationen i tbhtml. text och navigera. Jag fortsätter att få ett null undantag och jag är inte säker på vad som händer här. Här är koden: Browsers: Private Sub btnEmailClick (ByVal-avsändare som System. Object, ByVal e As System. EventArgs) hanterar btnEmail. Click 039Load Action Dim SavedEmailObj Som lagring I039ll gör mitt bästa för att förklara vad algoritmen ska göra: There039s En klass 039Recipe039.ach Recept kan innehålla andra recept men kan inte inkludera sig själv eller något annat recept som innehåller det. Så, ett enkelt exempel är att vi bara har två Recept A ampere B. A, B, C (1) Recept C lägger till B (2) Recept B lägger till A (3) Recept försöker lägga till C, men can039t på grund av förhållandet. C-B - A. I039m Micah. ElectricalElectronic engineering 500 nivå student. I039m arbetar på mitt sista årsprojekt. Snälla jag behöver en kod för implementering av RSA-algoritmen i VB. Din hjälp kommer att uppskattas. Är algoritmen för VB-redigeraren släppt någonstans eftersom jag039m försöker skapa en egen redaktör som ger olika alternativ som Linking och självdefinierade arrayfunktioner (se nedan) så att en redigering kan uppdatera flera andra på olika ställen, men jag vill fortfarande ha den automatiska formateringen av VB-redaktören ger oss ett exempel på en självdefinierad array-funktion (räkning): vi kan omvandla det här: Public Class-testet Private Shared numberofmethods som heltal 2 Offentlig funktion getnumberofmethodsjuzanexample () Som heltal Returnerar naturligtvis metoderna självklart i stället för kodar det skulle bara klicka och välj (jag skrev ut koden i ltgt bara för att visa vad som händer) Jag behöver lite handledning för att implementera BLS (Boneh Lynn-Shacham) signaturalgoritmen för att skapa privat nyckel och allmän nyckel för att kryptera ett meddelande. Jag behöver handledning för att genomföra detta i VB. Jag hittade en algoritm i C som jag behöver konvertera till C. Problemet är att jag aldrig har använt C så syntaxen är verkligen konstig för mig. Implementering av Berlekamp-Massey-algoritmen för beräkning av linjär komplexitet av binär sekvens s byte array med binär sekvens retur Längd av LFSR med minsta längd som genererar s Jag vill skapa min egen algoritm Hur skulle jag kunna använda min egen Krypteringsalgoritm i mitt program så Som krypterande text. Jag har inte kunnat räkna ut det här. Kan du skriva en algoritm som kan beräkna 500 factorial. scientific symbol (mode) är obehörig. Answer should be in String mode. Jag använder VB och jag försöker komma med någon algoritm eller någon pseudokod eller någon VB-kod som gör att jag kan göra följande (förhoppningsvis kan jag förklara det här bra): Jag har 2 samlingsobjekt, Cob1 och Cob2. Dessa samlingsobjekt lagrar objekt som implementerar ett gränssnitt som heter ICob. ICob har 3 egenskaper. En boolesisk IsSelected egenskap, en egenskap som heter Length, som returnerar en TimeSpan och en Rating egenskap, som är ett kort heltal. OK, nu har Cob1 cirka 100 objekt lagrade i samlingen och Cob2 är en tom samling. Vad jag vill göra är att välja objekt från Cob1 och kopiera dem till Cob2. Jag vill att följande regler följs när du väljer objekten: Hittills har min vän det här, och vi försöker ta reda på hur du får koden för att berätta konvertera F till C och tillbaka. Allt vi kan använda för inmatning är (exempel :) 10, f och det kommer att ändra det till 40, C. Förlåt mig om det här är en dum fråga. men jag tänker tillbaka till min komp. Sci. Klasser och jag minns tydligt learningbeing frågade på flera sorteringsalgoritmer och motsvarande 039Big O039 notation. Utanför klassrummet har jag aldrig skrivit kod för att sortera. När jag får resultat från en databas använder jag 039Order By039. Annars använder jag en samlingsklass som implementerar en sort. Jag har implementerat IComparable för att möjliggöra sortering men jag har aldrig gått bortom det. Vi sorterar alltid bara en akademisk strävan efter oss som inte implementerar språkramar. Eller är det bara att moderna språk som körs på modern hårdvara gör det till en trivial detalj att oroa sig för. Slutligen, när jag kallar. Sortera på en lista (av sträng), till exempel vilken sortalgoritm som används under huven I039m försöker konvertera följande algoritm från C till VB och VB jag har, producerar inte samma resultat som min C Algoritm, kan någon berätta för mig var jag har gått fel i min konvertering offentliga statiska IEnumerableltTgt CombinationsltTgt (detta IEnumerableltTgt-element, int k) ListltTgt resultat nytt ListltTgt () Jag behöver kryptera vbs-fil med en kryptografisk algoritm. Jag läser om att konvertera den till vbe-fil, men finns det något annat sätt att göra det jag har visuell studio 2008 och vi har fått specifika uppgifter att bära för vår kurs, vi har blivit ombedda att implementera euclid039s algoritm genom att använda ett tag Loop, gör det utan den visuella delen av visuell grundläggande vad det än betyder ett exempel på en fråga som de gav var 1) HCF (88,26) 2 hur jag skulle gå på att göra detta, eftersom jag är grundligt förvirrad och deadlines snabbare närmar sig . Jag har några textfiler som innehåller ltimg widthquot100quot eller ltimg widthquot1400quot eller. Hur kan jag ersätta alla ovan med följande, eftersom bildbredden inte är statisk jobbar jag på ett projekt med användning av antarkolonoptimering och espcially på antennalgoritmen men jag har många problem med programmeringen av denna algoritm, och eftersom jag inte använder simulering i det syftet. Jag vill implementera bankers algoritm i vb hur kan jag implementera det jag kämpar för att skriva en sorteringsalgoritm som kan sortera tecken i ett ord lexikografiskt (alfabetiskt) enligt följande lexikografiska ordstycket: - Kontaminering lexikografiskt Sorterat text Index skriv en pseudokod eller en implementering i C eller VB om hur jag kan göra en lexikonografisk typ av ordet ovan

Comments

Popular Posts