Jak obliczyć logarytm log(100/X) w Bascomie-8051 dla zmiennej X?

Logarytm w Bascomie





Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <kubaldWYTNIJTO_at_nospam_buziaczek.pl>
Subject: Logarytm w Bascomie
Date: 14 Aug 2004 15:12:34 +0200


Witam,

Czy ktoś z Grupowiczów mógłby mnie oświecić? ;)
Czy w Bascomie-8051 jest możliwość wykonywania logarytmów?
Chodzi mi o logarytm log(100/X); gdzie X to zmienna o wartościach od 1 do 100.
jeśli tak, proszę o przykładową instrukcję.

Pozdrawiam i dziękuję,

Kuba

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

========
Newsgroups: pl.misc.elektronika
Date: Sat, 14 Aug 2004 15:26:44 +020

Poprzedni Następny
Wiadomość
Spis treści
From: RoMan Mandziejewicz <roman_at_nospam_pik-net.pl>
Subject: Re: Logarytm w Bascomie


Hello Kuba,

Saturday, August 14, 2004, 3:12:34 PM, you wrote:

Czy ktoś z Grupowiczów mógłby mnie oświecić? ;)
Czy w Bascomie-8051 jest możliwość wykonywania logarytmów?
Chodzi mi o logarytm log(100/X); gdzie X to zmienna o wartościach od 1 do 100.
jeśli tak, proszę o przykładową instrukcję.

Nie prościej stablicować?

--
Best regards,
RoMan mailto:roman_at_nospam_pik-net.pl


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.p

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <kubaldWYTNIJTO_at_nospam_buziaczek.pl>
Subject: Re: Logarytm w Bascomie
Date: 15 Aug 2004 10:30:35 +0200


Hello Kuba,

Saturday, August 14, 2004, 3:12:34 PM, you wrote:

Czy ktoś z Grupowiczów mógłby mnie oświecić? ;)
Czy w Bascomie-8051 jest możliwość wykonywania logarytmów?
Chodzi mi o logarytm log(100/X); gdzie X to zmienna o wartościach od 1 do 100.
jeśli tak, proszę o przykładową instrukcję.

Nie prościej stablicować?


Heh :)
Próbuję zrobić urządzenie do obsługi Spekola (spektrofotometr) i muszę
przekształcać %pochłaniania na absorbancję. Więc takblica musiałby zawierać
liczby co 0,1 w zakresie od 0,1 do 100 :) A procek wysiada przy takiej tablicy :)

Ale zrobiłem w excelu wykres takiej zależności i przekształciłem tak, żeby użyć
funkcji -0,4343*Log(X)+2
I tutaj mam pytanie - czy do funkcji Const można podstawiać zmienne? Chodzi mi o
to, żeby w nawiasie od funkcji Log() można było użyć zmiennej a nie jednej,
stałej liczby. (Const Z = -0,4343 * Log(X) + 2)

Pzdr, Kuba

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!news.aster.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pawel \"O'Pajak\"" <pavel.malpa.to-nie._at_nospam_klub.chip.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 11:02:38 +0200


Powitanko,
Próbuję zrobić urządzenie do obsługi Spekola (spektrofotometr)

Czy moze produkcji NRD?;-) Ah, lza sie w oku kreci;-)
Co to za Spekol? AFAIR jakies mialy wyjscie cyfrowe w formacie BCD...

liczby co 0,1 w zakresie od 0,1 do 100 :) A procek wysiada przy takiej tablicy :)

A kto Ci kaze uzywac tylko pamieci procka i zapisywac to w Dim. Przeca
mozesz dac E2ROMa, albo nawet kilka, wpisac co trzeba do kazdej komorki
i jush.
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
Przy odpowiadaniu na priv zastanow sie nad moim adresem;-)

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 11:14:26 +0200



Użytkownik "Pawel "O'Pajak"" <pavel.malpa.to-nie._at_nospam_klub.chip.pl> napisał w
wiadomości news:cfn8kq$2580$1_at_nospam_mamut1.aster.pl...
Powitanko,
Próbuję zrobić urządzenie do obsługi Spekola (spektrofotometr)

Czy moze produkcji NRD?;-) Ah, lza sie w oku kreci;-)
Co to za Spekol? AFAIR jakies mialy wyjscie cyfrowe w formacie BCD...

liczby co 0,1 w zakresie od 0,1 do 100 :) A procek wysiada przy takiej
tablicy :)

A kto Ci kaze uzywac tylko pamieci procka i zapisywac to w Dim. Przeca
mozesz dac E2ROMa, albo nawet kilka, wpisac co trzeba do kazdej komorki
i jush.

Spekol 10 :P Z 1976 r. Ale elektronikę ma wymienioną a przystawka EK 1
nieużywana była ;P
A tablicę robić ? Hmm to by było tylko 1000 komórek do zapełnienia ;) A jak
bym chciał dokładniej %pochłaniania? Np do 2 miejsc po przecinku ? To już by
było duuuuużo więcej więc jednak zostaję przy tym logarytmie - najprostsze
rozwiązanie bo i mało programu zajmuje i tablic nie trzeba :) A tak apropos
masz może spekola 11 ? Bo poszukuję ;)

Kuba



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?=22Przemcio=AF=2E=22?= <przemcio_at_nospam_WYTNIJTOonet.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 11:34:15 +0200


Kuba napisał(a):


Spekol 10 :P Z 1976 r. Ale elektronikę ma wymienioną a przystawka EK 1
nieużywana była ;P
A tablicę robić ? Hmm to by było tylko 1000 komórek do zapełnienia ;) A jak
bym chciał dokładniej %pochłaniania? Np do 2 miejsc po przecinku ? To już by
było duuuuużo więcej więc jednak zostaję przy tym logarytmie - najprostsze
rozwiązanie bo i mało programu zajmuje i tablic nie trzeba :) A tak apropos
masz może spekola 11 ? Bo poszukuję ;)

Kuba


a na jakim procku to robisz?
moze ci zabraknac pamieci RAM:) w uC...
ja tez bylbym za EEPROM jakims szerwgowym...

--
Pozdrawiam - Przemcio Ż.
http://www.gsm.behende.pl = LOGO - DZWONKI!!!
http://www.nasza.resnet.pl - strona Nasza:)))
- MY - FORUM - GALERIA - TY -
gg: 1156769, tlen: belmotybe

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:02:14 +0200



Użytkownik "PrzemcioŻ." <przemcio_at_nospam_WYTNIJTOonet.pl> napisał w wiadomości
news:cfnani$35k$3_at_nospam_atlantis.news.tpi.pl...
Kuba napisał(a):


Spekol 10 :P Z 1976 r. Ale elektronikę ma wymienioną a przystawka EK 1
nieużywana była ;P
A tablicę robić ? Hmm to by było tylko 1000 komórek do zapełnienia ;) A
jak
bym chciał dokładniej %pochłaniania? Np do 2 miejsc po przecinku ? To
już by
było duuuuużo więcej więc jednak zostaję przy tym logarytmie -
najprostsze
rozwiązanie bo i mało programu zajmuje i tablic nie trzeba :) A tak
apropos
masz może spekola 11 ? Bo poszukuję ;)

Kuba


a na jakim procku to robisz?
moze ci zabraknac pamieci RAM:) w uC...
ja tez bylbym za EEPROM jakims szerwgowym...


Na 89C4051 - ale z tym eepromem to bym musiał zapisać 1000 komórek pamięci
jeśli dokładność miałaby być do 2ch miejsc po przecinku. A robiąc krzywe ja
muszę mieć 3 lub 4 miejsca po przecinku co daje 100000 i 100000 komórek
pamięci. Już sobie poradziłem z tym wzorkiem na logarytm (Const A = -0.4343
X. I czy da się jakoś zadeklarować żeby Const X równy był zmienniej single?
Chodzi mi o coś typu :

Dim W As Single
W = <obliczona przez inny fragment programu wartość %pochłaniania>
Const X = W
Const A = -0.4343 * Log(x) + 2

W taki sposób się niestety nie da :( Może jakiś inny pomysł? A z eepromem
mówię z góry - odpada po pierwsze ze względu na ilość komórek po drugie
czasochłonność przygotowania tablicy i zapisania.

Kuba



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.e-wro.pl!news.pop.e-wro.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Tomasz Piasecki <mtbrider_at_nospam_poczta.onet.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:13:43 +0200


Kuba wrote:

W taki sposób się niestety nie da :( Może jakiś inny pomysł?
A po ludzku, czyli szereg Taylora dla ln(1+x), to się nie da?

Skoro potrzebujesz tylko 2 miejsc po przecinku dokładności, to pewnie
coś koło 5 pierwszych wyrazów wystarczy.

TP.

--
| _ _ _ |
| _____ _| |_| | __ (o) | | __ __ _at_nospam_poczta.onet.pl |
| | \ | | |o \| \| |/o |/ _\| \ |
| |_|_|_| \_| |__/|_| |_|\__|\__||_| Tomasz Piasecki |

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:23:52 +0200



Użytkownik "Tomasz Piasecki" <mtbrider_at_nospam_poczta.onet.pl> napisał w wiadomości
news:cfncsi$fgp$1_at_nospam_sol.pop.e-wro.pl...
Kuba wrote:

W taki sposób się niestety nie da :( Może jakiś inny pomysł?
A po ludzku, czyli szereg Taylora dla ln(1+x), to się nie da?

Skoro potrzebujesz tylko 2 miejsc po przecinku dokładności, to pewnie
coś koło 5 pierwszych wyrazów wystarczy.

TP.
Się nie da bo Ln trzeba zadeklarować jako Const X = Ln(1+x)
A x tez trzeba jako const a nie wiem jak zrobić żeby Const X przyjmował
wartość innej zmiennej <nie Const>

Kuba



=======

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:33:28 +0200


Użytkownik "Kuba" <koscielniak_at_nospam_hot.pl> napisał w wiadomości
news:cfndjs$a4h$1_at_nospam_news.onet.pl

Się nie da bo Ln trzeba zadeklarować jako Const X = Ln(1+x)
A x tez trzeba jako const a nie wiem jak zrobić żeby Const X
przyjmował wartość innej zmiennej <nie Const>

Stała X uzależniona od zmiennej x ??
Czy ja źle rozumuję, czy to jakieś Bascomowe kuriozum?


--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:46:04 +0200



Użytkownik "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl> napisał w
wiadomości news:411f3bf8$1_at_nospam_news.home.net.pl...
Użytkownik "Kuba" <koscielniak_at_nospam_hot.pl> napisał w wiadomości
news:cfndjs$a4h$1_at_nospam_news.onet.pl

Się nie da bo Ln trzeba zadeklarować jako Const X = Ln(1+x)
A x tez trzeba jako const a nie wiem jak zrobić żeby Const X
przyjmował wartość innej zmiennej <nie Const>

Stała X uzależniona od zmiennej x ??
Czy ja źle rozumuję, czy to jakieś Bascomowe kuriozum?

A bo pewnie pokręciłem wszystko :P
W Spekolu zależność %pochłaniania od ekstyncji jest taka :
ekstyncja = -0,4343*log(%pochłaniania)-2
I teraz ja mierzę <załózmy> napięcie poleceniem
A = getad2051()
Przekształcam A tablicą na napięcie
A następnie przy pomocy wzoru na zależność napięcia od %pochłaniania
przekształcam zmieżone napięcie na %pochłaniania.
I teraz obliczam logarytm:
Const Ekstyncja = -0,4343*log(%pochłaniania)-2
Tylko do deklaracji Const za %pochłaniania nie mogę "włożyć" normalnej
zmiennej (np. Dim %pochłaniania as Single), ale inną "Const"
I chodzi mi o to jak zrobić, żeby :
Zadeklarować Const X , która jest równa zmiennej %pochłaniania
I jak już będę miał tą Const X, która będzie równa %pochłaniania, to
podstawię do:
Const Ekstyncja = -0,4343*log(X)-2

Może teraz będzie to bardziej zrozumiałe ;)

Kuba



=======

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 13:34:00 +0200


Użytkownik "Kuba" <koscielniak_at_nospam_hot.pl> napisał w wiadomości
news:cfnet7$c4h$1_at_nospam_news.onet.pl

Const Ekstyncja = -0,4343*log(%pochłaniania)-2
Tylko do deklaracji Const za %pochłaniania nie mogę "włożyć" normalnej
zmiennej (np. Dim %pochłaniania as Single), ale inną "Const"

Nie znam Bascoma, ale jeżeli dobrze rozumiem to zapisu log(x) możesz użyć
jedynie w deklaracjach stałych? Czyli jest to funkcja (preprocesora??),
której _stałą_ wartość wyznacza bascom.exe, na PC-cie(!), podczas
kompilacji. Ale nie możesz jej uzyć na Atmelku w czasie wykonania programu.

W takim razie pozostają Ci jedynie rozwinięcia. W przypadku logarytmów
wyglądają dosyć przyjaźnie, choć trzeba uważać na dopuszczalne zakresy
argumentów i kumulację błędów. Można ją oszacować (jak ktoś potrafi :->)
albo zrobić w Excelu tabelkę porównawczą i zobaczyć czy się za bardzo nie
rozjeżdża.

Np. ln(1+x) dla (x>-1)
w rozwinięciu na ułamek łańcuchowy wygląda tak:
= x/1 + (x/2 + x/3) + (2x/2 + 2x/5) + ... + (nx/2 + nx(2n+1)) + ...
Obliczenia sprowadzają się do dzieleń przez liczby naturalne oraz sumowań.
Jak się przeskaluje, to pewnie wystarczą 32bity stałoprzecinkowe

A np. log(x) w prostej aproksymacji wielomianowej dla
1/sqrt(10 <= x <= sqrt(10) (czyli w zakresie jednej dekady)
oraz przy |eps| <= 6e-4
wygląda tak:
log(x) = t ( a3 + a1*t^2)
gdzie:
t = (x-1)/(x+1)
a1 = 0.36415
a3 = 0.86304

Mam również np. rozwinięcie log(x) z błedem <=1e-7 ale to już będzie
wielomian 9 stopnia.

Jeszcze jedno... jaki Ty tam masz przetwronik A/C? Bo tak mi się wydaje, że
z getad2051 to wyciągniesz 5.. może 6 bitów :-> . Przy 64 niezależnych
stanach wejściowych to zrób tablicę tab[64] i nie zawracaj sobie głowy
liczeniem logarytmów. A Ty tu coś wspominałeś o 2..3..4 cyfrach po
przecinku. ;-)
Jeżeli tak to po pierwsze zacznij od przetwornika o odpowiedniej
rozdzielczości i dynamice.


--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej Kmicic" <delphiwsWYTNIJTO_at_nospam_poczta.onet.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 14:13:05 +0200


Jeszcze jedno... jaki Ty tam masz przetwronik A/C? Bo tak mi się wydaje, że
z getad2051 to wyciągniesz 5.. może 6 bitów :-> . Przy 64 niezależnych
stanach wejściowych to zrób tablicę tab[64] i nie zawracaj sobie głowy
liczeniem logarytmów. A Ty tu coś wspominałeś o 2..3..4 cyfrach po
przecinku. ;-)
Jeżeli tak to po pierwsze zacznij od przetwornika o odpowiedniej
rozdzielczości i dynamice.


Też to tak odczytałem ale nie śmiałem sie wtrącać :)

AK



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 19:05:46 +0200



Użytkownik "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl> napisał w
wiadomości news:411f4a29_at_nospam_news.home.net.pl...
Użytkownik "Kuba" <koscielniak_at_nospam_hot.pl> napisał w wiadomości
news:cfnet7$c4h$1_at_nospam_news.onet.pl


Jeszcze jedno... jaki Ty tam masz przetwronik A/C? Bo tak mi się wydaje,
że
z getad2051 to wyciągniesz 5.. może 6 bitów :-> . Przy 64 niezależnych
stanach wejściowych to zrób tablicę tab[64] i nie zawracaj sobie głowy
liczeniem logarytmów. A Ty tu coś wspominałeś o 2..3..4 cyfrach po
przecinku. ;-)
Jeżeli tak to po pierwsze zacznij od przetwornika o odpowiedniej
rozdzielczości i dynamice.

Na razie chcę sie pobawić i po prostu sprawdzić czy takie coś wypali.
A później będziemy myśleć o przetworniku A/C, podłączeniu kompa, klawiatury
drukarki itp (ach te dalekosięzne plany :P)
A mogę prosić o ten wzór na logarytm z wielomianem 9 stopnia ?

Kuba



========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Janusz U." <nopsoft_at_nospam_NOSPAM.poczta.onet.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 22 Aug 2004 16:11:18 +0200


A mogę prosić o ten wzór na logarytm z wielomianem 9 stopnia ?

wystarczy zajrzec do jakiej kolwiek lektury z rozwinieciem w szereg Taylora,
a dokladniej Mc Laurina np. funkcji, jak napisal Marek, ln(1+x). Mozna tez
tak rozwijac dowolna, inna funkcje - wlasnie m.in. na tym opieraja sie
kalkulatory naukowe itp. (sinus i cos tez ida sie rozwnac jak funkcja e^x).
np. http://wiem.onet.pl/wiem/000d8f.html (nie matematyki, ale jakze
praktycznej:)
to odradzam:
http://www.epsilon.kim.pl/Analiza/20/wyklad20.html, hehe
ln(1+x):
http://www.mail-archive.com/poland-l_at_nospam_listserv.acsu.buffalo.edu/msg09849.html
log,a (b) = log,c (b) / log,c (a)
tu dokladnie log10(b) = ln(b+1-1) / ln(10)

Nie nalezy zapominac, ze ktos kiedys to wymyslil, a bascom czy FPU nie
bierze tego z powietrza:)

pzdr.
Janusz



========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate.onet.pl!newsgate.p

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_poczta.onet.pl (ziel)
Subject: RE: Logarytm w Bascomie
Date: 15 Aug 2004 19:17:28 +0200


On Behalf Of Marek Dzwonnik
Stała X uzależniona od zmiennej x ??
Czy ja źle rozumuję, czy to jakieś Bascomowe kuriozum?

Bardzo dobrze rozumujesz. :-D
Stała, to stała - nie zmienia swej wartości nawet w Bascom. :-D

pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate.onet.pl!newsgate.p

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_poczta.onet.pl (ziel)
Subject: RE: Logarytm w Bascomie
Date: 15 Aug 2004 19:17:30 +0200


On Behalf Of Kuba
Się nie da bo Ln trzeba zadeklarować jako Const X = Ln(1+x)
A x tez trzeba jako const a nie wiem jak zrobić żeby Const X przyjmował
wartość innej zmiennej <nie Const>

Stała, to stała. Koniec. Kropka.
Zmienna nie musi zmieniać swej wartości w trakcie działania programu.
Kropka.
Przed użyciem zmiennej(jako stałej) zawsze można uprzednio zadeklarować jej
wartość w oparciu o jakąś stałą. Kropka.

Wygląda na to, że masz BASCOM zainstalowany w kompie. Co za problem,
prześledzić na symulatorze jaki otrzyma się wynik?
W ostateczności zawsze można się zwrócić bezpośrednio do Mark'a,
lub na ogólno dostępne forum baskom'a.
A dlaczego nie pasują Ci zaimplementowane funkcja:
Action
Returns the natural logarithm of a single variable.
Syntax
Target = Log(source)
Remarks
Target The single that is assigned with the LOG() of single target.
Source The source single to get the LOG of.
?

pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 19:28:45 +0200



Użytkownik "ziel" <zielpro_at_nospam_poczta.onet.pl> napisał w wiadomości
news:GCEELCNNHEGDKMODCEPBIECNHMAA.zielpro_at_nospam_poczta.onet.pl...
On Behalf Of Kuba
A dlaczego nie pasują Ci zaimplementowane funkcja:
Action
Returns the natural logarithm of a single variable.
Syntax
Target = Log(source)
Remarks
Target The single that is assigned with the LOG() of single target.
Source The source single to get the LOG of.
?

Nie działa to ... już próbowałem

K.



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!newsgate.p

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_poczta.onet.pl (ziel)
Subject: RE: Logarytm w Bascomie
Date: 15 Aug 2004 21:21:18 +0200


On Behalf Of Kuba
Target The single that is assigned with the LOG() of single target.
Source The source single to get the LOG of.
?

Nie działa to ... już próbowałem

A tak dokładniej to co nie działa?
Bo mnie _mniej_więcej pokrywa się z Excelem.

pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 22:21:42 +0200



Użytkownik "ziel" <zielpro_at_nospam_poczta.onet.pl> napisał w wiadomości
news:GCEELCNNHEGDKMODCEPBIEDDHMAA.zielpro_at_nospam_poczta.onet.pl...
On Behalf Of Kuba
Target The single that is assigned with the LOG() of single target.
Source The source single to get the LOG of.
?

Nie działa to ... już próbowałem

A tak dokładniej to co nie działa?
Bo mnie _mniej_więcej pokrywa się z Excelem.

Wpisuję sobie programik:

Dim X As Single
Dim Y As Single
X = 50
Y = Log(X)
Print Y

I Bascom zwraca błąd:
Error 10: Wrong type (BIT,BYTE,INTEGER,WORD, or STRING) expected in file
"..."
dla linijki
Y = Log(X )<

Kuba



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!newsgate.p

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_poczta.onet.pl (ziel)
Subject: RE: Logarytm w Bascomie
Date: 15 Aug 2004 23:13:27 +0200


On Behalf Of Kuba
I Bascom zwraca błąd:
Error 10: Wrong type (BIT,BYTE,INTEGER,WORD, or STRING) expected in file
"..."
dla linijki
Y = Log(X )<

Nie zwraca błędów.
Liczy normalnie.
A jaki procek zadeklarowałeś?

pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


=======

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 23:46:54 +0200


Użytkownik "ziel" <zielpro_at_nospam_poczta.onet.pl> napisał w wiadomości
news:GCEELCNNHEGDKMODCEPBCEDGHMAA.zielpro_at_nospam_poczta.onet.pl

Y = Log(X )<

Nie zwraca błędów.
Liczy normalnie.
A jaki procek zadeklarowałeś?

Atrur - sprawdzałeś na BascomAVR? A tu jest mowa o 2051/4051. Może się
jakoś istotnie różnią?

Wracajac do rozwinięcia wielomianowego logarytmów:

1)
ln(1+x)
dla 0 <=x <=1
|eps| <= 1e-5
= x(a5 +x(a4 + x(a3 + x(a2 + a1*x))))
gdzie:
a1=0.03215845
a2 = -0.13606275
a3 = 0.28947478
a4 = -0.49190896
a5=0.99949556

2) rozwiniecie ln(1+x) w wielomian 8 stopnia (|eps|<=3e-8) pomijam, bo i
tak nie masz wystarczająco dokładnej artytmetyki

3)
log(x)
sqrt(10) <=x <=10
|eps| <= 1e-7
= t(a9 +t^2*(a7 + t^2*(a3 + a1*t^2))))
gdzie t = (x-1)/(x+1)

4)
log(x) rozwinięty w wielomian 3 stopnia dostałeś.

Jeszcze z rozwinięć w szereg:
1)
ln (1+x) dla |x| < 1
SIGMA{k=1|inf} (-1)^(k+1)* x^k / k
czyli:
x(1 - x/2*( 1 - 2x/3*(1 - 3x/4*(1 - 4x/5))))

2)
ln (x) dla x >= 1/2
SIGMA{k=1|inf} ( (1/k)* (x-1)^k / x )
przyjmując y=(x-1)/x
mamy:
y(1 + y/2*( 1 + 2y/3*(1 + 3y/4*(1 + 4y/5))))

3)
ln (x+1)/(x-1) dla |x| >= 1
2*SIGMA{k=1|inf} (1/ ( (2k-1) * x^(2k-1) ) )
czyli:
2/x * (1 + (1/(3x^2))*( 1 + (3/(5x^2))*( 1 + (5/(7x^2))*( 1 +(7/(9x^2)) ))))

Nic tylko liczyc ;-)

--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!newsgate.p

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_poczta.onet.pl (ziel)
Subject: RE: Logarytm w Bascomie
Date: 16 Aug 2004 00:43:33 +0200


On Behalf Of Marek Dzwonnik
Atrur - sprawdzałeś na BascomAVR? A tu jest mowa o 2051/4051. Może się
jakoś istotnie różnią?

Ałał. :-( Faktycznie na '51 nie ma LOG.
Nie pozostaje nic innego, jak na piechotę liczyć,
albo ... AT90S2313? ;-)

pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 22 Aug 2004 17:50:02 +0200


On 16 Aug 2004 00:43:33 +0200, ziel wrote:
Atrur - sprawdzałeś na BascomAVR? A tu jest mowa o 2051/4051. Może się
jakoś istotnie różnią?

Ałał. :-( Faktycznie na '51 nie ma LOG.

Nie pozostaje nic innego, jak na piechotę liczyć,
albo ... AT90S2313? ;-)

A zmiesci sie ?
Bilblioteka metermatyczna chyba troche miejsca zajmuje ..

J.


========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.astercity.net!news.aster.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pawel \"O'Pajak\"" <pavel.malpa.to-nie._at_nospam_klub.chip.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 18:23:59 +0200


Powitanko,
Spekol 10 :P Z 1976 r. Ale elektronikę ma wymienioną a przystawka EK 1
nieużywana była ;P

Ohjojoj:-) Toz to cudo niebywale:-)
W technikum pozwolili mi to rozwalic, mam gdzies nawet siatke
dyfrakcyjna (tak to sie nazywalo?). AFAIR zrodlem swiatka byla tam
zwykla zarowka zasilana przez trafo. Biorac pod uwage wahania napiecia w
sieci -> "wahania" widma samej zarowki daj sobie spokoj z n miejscami po
przecinku, bo wprawne oko ma lepsza dokladnosc niz Spekol 10;-). No
chyba, ze wymieniona elektronika dokonuje pomiaru "slepej proby" i
odpowiednio struje zarowka itd...

A tablicę robić ? Hmm to by było tylko 1000 komórek do zapełnienia ;) A jak
bym chciał dokładniej %pochłaniania? Np do 2 miejsc po przecinku ?

JW, ale co za problem.
1. Tablica bedzie dokladniejsza (w swoim wzorze "dopasowales" sie do
krzywej, tu mozesz te krzywa zapisac)
2. Szybciej bedzie taki Atmelek "liczyl", wynik masz niemal odrazu
3. Latwiej cos poprawic
4. Mniej kombinowania = mniejsze prawdopodobienstwo spieprzenia czegos

A tak apropos
masz może spekola 11 ? Bo poszukuję ;)

Niestety, w czasach gdy konczylem Technikum byla to nowosc. Tam prad
zarowki AFAIR byl juz stabilizowany, no i ten wyswietlacz CYFROWY, eh
ale wtedy przetwornik A/D kosztowal kilkaset dewiz;-)

Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
Przy odpowiadaniu na priv zastanow sie nad moim adresem;-)

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 18:45:05 +0200



Użytkownik "Pawel "O'Pajak"" <pavel.malpa.to-nie._at_nospam_klub.chip.pl> napisał w
wiadomości news:cfo2gd$2nn2$1_at_nospam_mamut1.aster.pl...
Powitanko,
Spekol 10 :P Z 1976 r. Ale elektronikę ma wymienioną a przystawka EK 1
nieużywana była ;P

Ohjojoj:-) Toz to cudo niebywale:-)
W technikum pozwolili mi to rozwalic, mam gdzies nawet siatke
dyfrakcyjna (tak to sie nazywalo?). AFAIR zrodlem swiatka byla tam
zwykla zarowka zasilana przez trafo.

Ja mam spekolka z palnikiem rtęciowym :P
Więc jest całkiem dokładny jak na taki model ;)
A do tej pory wiele laboratoriów używa spekola 10 , bo nowe modele są
niestety bardzo drogie (11 - 13 tys pln)

Kuba



=======

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:30:52 +0200


Użytkownik "Kuba" <kubaldWYTNIJTO_at_nospam_buziaczek.pl> napisał w wiadomości
news:63ff.000006ba.411f1f2b_at_nospam_newsgate.onet.pl

Czy w Bascomie-8051 jest możliwość wykonywania logarytmów?
Chodzi mi o logarytm log(100/X); gdzie X to zmienna o wartościach
od 1 do 100. jeśli tak, proszę o przykładową instrukcję.

Próbuję zrobić urządzenie do obsługi Spekola (spektrofotometr) i muszę
przekształcać %pochłaniania na absorbancję. Więc takblica musiałby
zawierać liczby co 0,1 w zakresie od 0,1 do 100 :) A procek wysiada
przy takiej tablicy :)

Mam przed nosem ksiązkę "Miniklakulatory w obliczeniach naukowych i
technicznych" (M.Kozarski, Z.Szurmak, WNT, 1976). Czyli praktyczny zbiór
przepisów, jak prowadzić obliczenia naukowe posługując się kalkulatorem
czterodziałaniowym. A arytmetyka zmiennoprzecinkowa w Bascomie to mniej
więcej ta sama klasa narzędzi. ;-) Zarówno log10 i ln możesz liczyć do
wyboru: jako sumę szeregu, z aproksymacji wielomianowej albo z rozwinięcia w
ułamki łańcuchowe. Napisz jeszcze raz, jaki masz zakres argumentu log(x) i
jakich dokładności oczekujesz.

--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Kuba" <koscielniak_at_nospam_hot.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 15 Aug 2004 12:48:14 +0200



Użytkownik "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl> napisał w
wiadomości news:411f3b5d_at_nospam_news.home.net.pl...
Użytkownik "Kuba" <kubaldWYTNIJTO_at_nospam_buziaczek.pl> napisał w wiadomości
news:63ff.000006ba.411f1f2b_at_nospam_newsgate.onet.pl

Czy w Bascomie-8051 jest możliwość wykonywania logarytmów?
Chodzi mi o logarytm log(100/X); gdzie X to zmienna o wartościach
od 1 do 100. jeśli tak, proszę o przykładową instrukcję.

Próbuję zrobić urządzenie do obsługi Spekola (spektrofotometr) i muszę
przekształcać %pochłaniania na absorbancję. Więc takblica musiałby
zawierać liczby co 0,1 w zakresie od 0,1 do 100 :) A procek wysiada
przy takiej tablicy :)

Mam przed nosem ksiązkę "Miniklakulatory w obliczeniach naukowych i
technicznych" (M.Kozarski, Z.Szurmak, WNT, 1976). Czyli praktyczny zbiór
przepisów, jak prowadzić obliczenia naukowe posługując się kalkulatorem
czterodziałaniowym. A arytmetyka zmiennoprzecinkowa w Bascomie to mniej
więcej ta sama klasa narzędzi. ;-) Zarówno log10 i ln możesz liczyć do
wyboru: jako sumę szeregu, z aproksymacji wielomianowej albo z rozwinięcia
w
ułamki łańcuchowe. Napisz jeszcze raz, jaki masz zakres argumentu log(x)
i
jakich dokładności oczekujesz.

Zakres log(x) jest od 100% do 1% (przy czym przy 0% log(x) = nieskończoność)
Zależy mi na dokładności do 4 miejsc po przecinku.

Kuba



========
Newsgroups: pl.misc.elektronika
Date: Sun, 15 Aug 2004 13:03:10 +020

Poprzedni Następny
Wiadomość
Spis treści
From: RoMan Mandziejewicz <roman_at_nospam_pik-net.pl>
Subject: Re: Logarytm w Bascomie


Hello Kuba,

Sunday, August 15, 2004, 12:48:14 PM, you wrote:

[...]

Zakres log(x) jest od 100% do 1% (przy czym przy 0% log(x) = nieskończoność)
Zależy mi na dokładności do 4 miejsc po przecinku.

Jasne. Tylko, że dużej dokładności potrzebujesz raczej w okolicach 1%
niż 100%

--
Best regards,
RoMan mailto:roman_at_nospam_pik-net.pl


========
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Logarytm w Bascomie
Date: Mon, 16 Aug 2004 02:15:29 +0200


Kuba wrote:

Czy ktoś z Grupowiczów mógłby mnie oświecić? ;)
Czy w Bascomie-8051 jest możliwość wykonywania logarytmów?
Chodzi mi o logarytm log(100/X); gdzie X to zmienna o wartościach od 1 do
100.
jeśli tak, proszę o przykładową instrukcję.

Nie wiem jak to sie robi w Bascomie, bo nie uzywam, ale
zawsze mozesz sobie to aproksymowac z przyjeta z gory
dokladnoscia. Szczegoly dotyczace doboru odpowiedniej
funkcji i jej wspolczynnikow znajdziesz w podrecznikach
do analizy numerycznej. Z tablicowaniem czegokolwiek daj
sobie spokoj, szkoda zachodu.

Pozdrawiam
Piotr Wyderski


========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: Logarytm w Bascomie
Date: Sun, 22 Aug 2004 17:50:01 +0200


On Mon, 16 Aug 2004 02:15:29 +0200, Piotr Wyderski wrote:
Nie wiem jak to sie robi w Bascomie, bo nie uzywam, ale
zawsze mozesz sobie to aproksymowac z przyjeta z gory
dokladnoscia. Szczegoly dotyczace doboru odpowiedniej
funkcji i jej wspolczynnikow znajdziesz w podrecznikach
do analizy numerycznej. Z tablicowaniem czegokolwiek daj
sobie spokoj, szkoda zachodu.

Akurat logarytm, szczegolnie na tak szerokim zakresie
[0.001-1.000] jest bardzo wredna funkcja do interpolacji
wielomianowej.

Tu moze byc ciekawe stablicowanie wartosci dla poszczegolnych bitow,
albo skorzystanie ze szczegolow implementacji zmiennoprzecinkowej -
cecha jest praktycznie logarytmem, a mantysa liczby jest juz w
zakresie 1..2 [czy 0.5..1.0]

J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai