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
"Alternativa" Matematiska Notationer
Moderator: Moderatorgruppen
"Alternativa" Matematiska Notationer
Wilbers Integral Meta-Theory:
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
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'
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'
Wilbers Integral Meta-Theory:
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
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 ?
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 ?
Re: "Alternativa" Matematiska Notationer
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.
Re: "Alternativa" Matematiska Notationer
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.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.
Alltså, syftet med notationen, är att jag vill skapa ett språk, där jag undviker att definiera "onödiga" operatorer.
Wilbers Integral Meta-Theory:
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
Har du provat Jython?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 ?
Wilbers Integral Meta-Theory:
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
http://www.integralworld.net/helfrich.html#ABS
http://integrallife.com/node/37539/
nytt namn skrev:Har du provat Jython?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 ?
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.
Re: "Alternativa" Matematiska Notationer
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
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.
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.
Vilka är online
Användare som besöker denna kategori: 11 och 0 gäster