Article View: pl.comp.lang.python
Article #27546Re: Interpolacja Liniowa
From: Bart Ogryczak
Date: Tue, 29 Jun 2010 09:39
Date: Tue, 29 Jun 2010 09:39
43 lines
2856 bytes
2856 bytes
On Jun 29, 11:08 am, rav <rafalgulin...@gmail.com> wrote: > On 28 Cze, 18:49, Bart Ogryczak <b.ogryc...@gmail.com> wrote: > > > > > > > On Jun 26, 8:41 pm, rav <rafalgulin...@gmail.com> wrote: > > > > Nie dziala kiedy x2-x1 == 0 (div by zero) > > > dlatego dodalbym sprawdzenie roznicy tych wartosci do funkcji > > > > def getInterpolated(x0,y0, x1, y1): > > > if x1 - x0 == 0: > > > print 'x1 i x0 can\'t be equal' > > > return None > > > a = (y1 - y0) / (x1 - x0) > > > b = y0 - a * x0 > > > def interpolate(x): > > > return a * x + b > > > return None > > > Pythonistycznie, to raczej będzie tak: > > > try: > > a = (y2 - y1) / (x2 - x1) > > b = ((-x1) * (y2 - y1) - (x2 - x1) * (-y1)) / (x2 - x1) > > def interpolate(x): > > return a * x + b > > return interpolate > > except ZeroDivisionError: > > print 'x1 i x0 can\'t be equal' > > return None > > Przy czestym x2-x1 == 0 "if" bedzie mniej kosztowny ale jezeli ten > warunek bedzie rzadko spelniony to faktycznie wyjatek jest lepszym > rozwiazaniem. > > zrodelko:http://stackoverflow.com/questions/2522005/cost-of-exception-handlers... No, jeśli chodzi o wydajność, to się zgadza. Natomiast jeśli chodzi o styl to http://stackoverflow.com/questions/1835756/
Technical Details
Message-ID:
<6631c75e-51c4-4f47-8ae8-246874cc351d@c10g2000yqi.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!c10g2000yqi.googlegroups.com!not-for-mailReferences:
<76da39d8-1875-4b7e-b66b-a1ef32499279@u26g2000yqu.googlegroups.com> <i035le$ioj$1@news.onet.pl> <b189acfc-d1de-4cb3-8831-4e11e3d87054@d8g2000yqf.googlegroups.com> <031bca8d-171b-4d28-beb8-f64b45568212@r27g2000yqb.googlegroups.com> <b523c0af-9d35-4585-b3cb-ddc4f33e7f71@t10g2000yqg.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!c10g2000yqi.googlegroups.com!not-for-mail From: Bart Ogryczak <b.ogryczak@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: Interpolacja Liniowa Date: Tue, 29 Jun 2010 02:39:50 -0700 (PDT) Organization: http://groups.google.com Lines: 45 Message-ID: <6631c75e-51c4-4f47-8ae8-246874cc351d@c10g2000yqi.googlegroups.com> References: <76da39d8-1875-4b7e-b66b-a1ef32499279@u26g2000yqu.googlegroups.com> <i035le$ioj$1@news.onet.pl> <b189acfc-d1de-4cb3-8831-4e11e3d87054@d8g2000yqf.googlegroups.com> <031bca8d-171b-4d28-beb8-f64b45568212@r27g2000yqb.googlegroups.com> <b523c0af-9d35-4585-b3cb-ddc4f33e7f71@t10g2000yqg.googlegroups.com> NNTP-Posting-Host: 94.100.112.225 Mime-Version: 1.0 X-Trace: posting.google.com 1277804392 6591 127.0.0.1 (29 Jun 2010 09:39:52 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 29 Jun 2010 09:39:52 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: c10g2000yqi.googlegroups.com; posting-host=94.100.112.225; posting-account=1kG_1AoAAADLEA3eucGvO2J-Uo4aPCW_ User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit