"Alternativa" Matematiska Notationer

Moderator: Moderatorgruppen

Användarvisningsbild
nytt namn
Inlägg: 782
Blev medlem: 23 okt 2009 06:42

"Alternativa" Matematiska Notationer

Inläggav nytt namn » 07 mar 2011 19:30

Ett polynom uttrycks oftast såhär:
y = f(x) = 4x^2 + 3x + 2

Jag håller på att exprimentera lite med notationer, och här är min kedja:
y=4x^2+3x+2
y=4x2+3x+2
y=4x2|3x|2

Vi kan även "vända" på "y=4x2|3x|2" och få "y=2x4|x3|2", vilket tydligare återspeglar "i vilken ordning som operatorerna räknar". Här är två andra varianter på "y=2x4|x3|2":
y=2*4|*3|2
y={2}4|3|'2'

...

Här är en summering, vilken notation tycker ni är tydligast, och varför? (Och svar att den "konventionella notationen är bäst utan vidare argumentation för varför utöver att den är konvention" undanbedes):
y=4x^2+3x+2
y=4x2+3x+2
y=4x2|3x|2
y=2x4|x3|2
y=2*4|*3|2
y={2}4|3|'2'

...
p.s. syftet är språkimplementering

Användarvisningsbild
nytt namn
Inlägg: 782
Blev medlem: 23 okt 2009 06:42

Inläggav nytt namn » 07 mar 2011 19:42

En notis angående sista notationen: y={2}4|3|'2'

Jag funderade på att ha notationen enligt följande:
1 = "1"
log n = "<n>"
n = "n" / "[n]" ("n" eller "[n]")
n log n = "n<n>" / "[n]<n>" ("n<n>" eller "[n]<n>")
n^2 = "{2}"
n^m = "{m}"

...

Ett exempel:
y = f(x,n) = 5x^n + 3x log n - 3
y=5x^n+3x log n-3
y=x{n}[5]+x[3]<n>-3
y=x{n}[5]|x[3]<n>|'-3'
y={n}[5]|[3]<n>|'-3'
y={n}5|3<n>|'-3'

som ni ser så är x implicit i de 2 sista notationerna. I vanliga matteuttryck så är gånger ("*") implicit när man skriver 3x (det betyder 3*x), men enligt min notation, så är som sagt även "x" implicit, vilket gör notationen "ännu mer kompakt".

...

En annan fundering jag hade, var att ha en tydligare uppdelning mellan + och -, dvs jag har ett "additionsled" och ett subtraktionsled". Har vi t.ex:
y=3x^4-4x^3-2x^2+7x-4

skulle vi kunna kasta om detta till följande (då har vi även "eliminerat bort" onödiga - tecken):
y={4}3|7-{3}4|{2}2|'4'

kanske är det tydligare om man byter ut "|" mot ","
y={4}3,7-{3}4,{2}2,'4'

...

Så vad är lättast att läsa av dessa två?:
y=3x^4-4x^3-2x^2+7x-4
y={4}3,7-{3}4,{2}2,'4'

...

Och vidare, byt ut "-" mot "|"... nu betyder alltså..... comma=plus , streck=minus.

y=3x^4-4x^3-2x^2+7x-4
vs
y={4}3,7|{3}4,{2}2,'4'
eller
y=4*3,7|3*4,2*2,'4'

Marko
Avstängd
Inlägg: 5407
Blev medlem: 13 jan 2011 01:47

Inläggav Marko » 08 mar 2011 04:35

En fundering,
Java är ett ganska bökigt språk som är svår överskådlig.
Python är väldigt överskådlig och lättprogrammerat (minst sagt behagligt)

Det jag läst är att Java tar längre tid att programmera, men tiden för avlusning är kort.
Python är snabbprogrammerat men svår att avlusa, totala arbetstiden är nästan densamma för programutvecklarna om man räknar in avlusningen.


ser du några nackdelar med en förenklad hantering av det formella språket ?

Dura M
Inlägg: 438
Blev medlem: 06 mar 2008 11:17

Re: "Alternativa" Matematiska Notationer

Inläggav Dura M » 08 mar 2011 11:55

nytt namn skrev:Här är en summering, vilken notation tycker ni är tydligast, och varför? (Och svar att den "konventionella notationen är bäst utan vidare argumentation för varför utöver att den är konvention" undanbedes):
y=4x^2+3x+2
y=4x2+3x+2
y=4x2|3x|2
y=2x4|x3|2
y=2*4|*3|2
y={2}4|3|'2'

Skulle föredra y = p(2,3,4), där alltså koefficienterna skrivs i omvänd ordning och där potensen bestäms av koefficientens position i listan. Om det nu är polynom (i en variabel) du vill skriva alltså. Det är lite oklart vad du skall ha din notation till.

Användarvisningsbild
nytt namn
Inlägg: 782
Blev medlem: 23 okt 2009 06:42

Re: "Alternativa" Matematiska Notationer

Inläggav nytt namn » 08 mar 2011 23:21

Dura M skrev:
nytt namn skrev:Här är en summering, vilken notation tycker ni är tydligast, och varför? (Och svar att den "konventionella notationen är bäst utan vidare argumentation för varför utöver att den är konvention" undanbedes):
y=4x^2+3x+2
y=4x2+3x+2
y=4x2|3x|2
y=2x4|x3|2
y=2*4|*3|2
y={2}4|3|'2'

Skulle föredra y = p(2,3,4), där alltså koefficienterna skrivs i omvänd ordning och där potensen bestäms av koefficientens position i listan. Om det nu är polynom (i en variabel) du vill skriva alltså. Det är lite oklart vad du skall ha din notation till.
y = p(2,3,4) är ett bra förslag, dvs. att använda ordningen. Borde varit uppenbart för mig på en gång.

Alltså, syftet med notationen, är att jag vill skapa ett språk, där jag undviker att definiera "onödiga" operatorer.

Användarvisningsbild
nytt namn
Inlägg: 782
Blev medlem: 23 okt 2009 06:42

Inläggav nytt namn » 08 mar 2011 23:22

Marko skrev:En fundering,
Java är ett ganska bökigt språk som är svår överskådlig.
Python är väldigt överskådlig och lättprogrammerat (minst sagt behagligt)

Det jag läst är att Java tar längre tid att programmera, men tiden för avlusning är kort.
Python är snabbprogrammerat men svår att avlusa, totala arbetstiden är nästan densamma för programutvecklarna om man räknar in avlusningen.


ser du några nackdelar med en förenklad hantering av det formella språket ?
Har du provat Jython?
Bild
:P

Marko
Avstängd
Inlägg: 5407
Blev medlem: 13 jan 2011 01:47

Inläggav Marko » 09 mar 2011 06:11

nytt namn skrev:
Marko skrev:En fundering,
Java är ett ganska bökigt språk som är svår överskådlig.
Python är väldigt överskådlig och lättprogrammerat (minst sagt behagligt)

Det jag läst är att Java tar längre tid att programmera, men tiden för avlusning är kort.
Python är snabbprogrammerat men svår att avlusa, totala arbetstiden är nästan densamma för programutvecklarna om man räknar in avlusningen.


ser du några nackdelar med en förenklad hantering av det formella språket ?
Har du provat Jython?
Bild
:P


Nope, jag ogillar java, gillar inte C eller c++ php mm, tråkiga och fula språk,
de jag gillat har varit Basic i olika format, Fortran och nu python,  trevlig nog att jag fortsatte att lära vidare. (inte ofta det händer).. och så bash scripting förstsås, som är bökigt men användbart vid system hantering.

Dura M
Inlägg: 438
Blev medlem: 06 mar 2008 11:17

Re: "Alternativa" Matematiska Notationer

Inläggav Dura M » 09 mar 2011 12:19

nytt namn skrev:Alltså, syftet med notationen, är att jag vill skapa ett språk, där jag undviker att definiera "onödiga" operatorer.

Okej, du kan ju undvika traditionella operatorer helt och hållet genom att implementera allt som funktioner istället, t.ex. "a + b" blir "add(a,b)". Då slipper du hantera operatorprioritet och kan implementera allt genom en och samma mekanism. Vill du ytterliga förenkla kan du använda omvänd polsk notation, så att "add(a,b)" blir "a b add" eller "a b +". Godtyckligt uttryck kan skrivas på detta sätt, t.ex. "(2 + 3) ^ (4 * log(5))" blir "2 3 + 4 5 log * ^". Även prefixnotation likt den som används i Lisp kan vara ett alternativ.

dykkedelver
Inlägg: 3
Blev medlem: 27 apr 2011 20:30
Ort: France

Inläggav dykkedelver » 28 apr 2011 00:06

Jag tycker om notation är tydligast är : y={2}4|3|'2'


Jag läste de andra svaren senare, men i denna formel, är bara föremål av aritmetiska representerade. Men förstå resonemanget med siffror och kan fungera mycket bra med okända. Här är siffrorna hänvisar till sin blotta enhet som är lättare för driften av förståelse.


Återgå till "Filosofi"

Vilka är online

Användare som besöker denna kategori: 42 och 0 gäster