Sono un povero matematico - metodi numerici ( Computer Science 412 ) è stata una lezione che ho preso più volte, e per favore non chiedermi di fare un problema di calcolo integrale. Quando ho finito, pensavo che non avrei mai più toccato un problema di matematica.
Alcuni anni dopo, ho voluto creare un'immagine di una treccia animata in RGB come avatar.
L'hofatto.Mentrelamatematicaperottenereletreondesinusoidalierasemplice(matematicadiscuolasuperiore),ladomandasuquandounosisovrapponeaunaltrohapresounpo'dipensieroesièrivelatonecessariounpiccolonumerodimetodinumerici(quellaclasseCS412chehopreso-laderivatadiunafunzione,abbastanzafacile...madovevoancorariconoscerloerisolverlo)
Èunesempiobanale,machepotrestiincontrare.Noneralamatematicalapartedifficile,erailriconoscimentodellaclassedelproblema.
UnesempiorecentediProgrammers.SE: Quale classe di problemi è questa e quale matematica devo sapere per risolverlo?
How does one calculate this? It reminds me of solving matrices in high school. Is this something that can be done with matrices? What is this problem called? What do I need to know to solve it?
Questo come sottolineato nella risposta è la programmazione lineare. Di nuovo, non si tratta di risolvere il problema, si tratta di riconoscere la classe del problema ed essere in grado di scoprire come per risolvere il problema.
Nella mia precedente sede di lavoro, c'era una persona che lavorava su un programma per computer per tagliare in modo ottimale i tappeti. Taglio ottimale del tappeto mostra come ciò può essere fatto. Implica un po 'di matematica (francamente è un po' al di sopra di quello che posso capire con un'occhiata). E sì, questo è stato fatto per una webapp (c'è ancora più divertimento in quello di cercare di capire come mandarlo dal back-end al client - lo si fa e lo si rinnega? Come lo memorizzerai? O forse solo generare un'immagine sul back-end?).
.
Stavolavorandosuunsistemadipuntivenditaelavoravoperottenereiformatinumericicorrettiinuncertonumerodipostierintracciareipennymancantiinricevutecheeranomigliaiadidollari(couponepromozioniepacchettiohmio!).Ilmonitoraggiodiquestocodicerichiedevaun'algebraavanzataeilriconoscimentodelleimplicazionidieseguiredeterminateoperazioniinordinidiversi.IdentificareesemplificarecosecomeMath.pow(10,foo)/Math.pow(10,bar)
inMath.pow(10,(foo-bar))
haresoilcodiceunpo'piùpulito.
Unaltroproblemachevenivaaffrontatoeralariduzionedellacomplessitàdellasplinedellafirmadiunapersonasenzacambiarelaforma.(L'immagineseguentenonèquellasucuistavolavorando,maserveperillustrareilproblema)
Quali di questi punti sono quelli meno significativi che possono essere rimossi (per adattarsi ad altri sistemi antiquati che hanno un limite al numero di punti in una firma)?
Continuando su questo, e specialmente applicabile ad una persona del web front-end, potresti spesso trovarti a lavorare con le spline nelle animazioni web. Guarda w3 su animazioni SVG e inkscape wiki . Potresti trovarti a voler fare un diagramma degli accordi (un'occhiata a circos per alcune visualizzazioni 'wow' di questa natura)
E un ultimo bit, essendo una persona di strumenti di back-end, mi sono trovato spesso a fare segnalazioni contro i miei strumenti. Questo spesso ha toccato statistiche (deviazioni standard, media, mediana, modalità, outliner, significato statistico, linee di miglior adattamento, identificazione del grafico corretto per presentare i dati, ecc.)
Il punto che sto cercando di fare è che ci sono molti posti - sia sul front end che sul back-end - che fanno uso di una matematica più alta. Potresti trovarti in una carriera che non ne fa uso. È abbastanza possibile Tuttavia, molto probabilmente ti troverai a dover ricorrere a qualche matematica avanzata in un dato momento.
In qualità di programmatore, qualsiasi matematica su cui puoi mettere le mani e andare in giro sarà probabilmente utile in futuro . Non posso dire se troverai semplici metodi numerici il limite di dove ti porterà la tua carriera, o se ti troverai a cercare di determinare il taglio ottimale del tappeto, o se cerchi di spiegare a un cliente perché non è un buon idea di rappresentare tutti i possibili modi per organizzare 7 elementi su una singola pagina web.