Article View: pl.comp.lang.python
Article #27545Re: Interpolacja Liniowa
From: rav
Date: Tue, 29 Jun 2010 09:08
Date: Tue, 29 Jun 2010 09:08
34 lines
2608 bytes
2608 bytes
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-in-python
Technical Details
Message-ID:
<b523c0af-9d35-4585-b3cb-ddc4f33e7f71@t10g2000yqg.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!t10g2000yqg.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>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!t10g2000yqg.googlegroups.com!not-for-mail From: rav <rafalgulinski@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: Interpolacja Liniowa Date: Tue, 29 Jun 2010 02:08:58 -0700 (PDT) Organization: http://groups.google.com Lines: 35 Message-ID: <b523c0af-9d35-4585-b3cb-ddc4f33e7f71@t10g2000yqg.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> NNTP-Posting-Host: 217.74.69.70 Mime-Version: 1.0 X-Trace: posting.google.com 1277802538 15950 127.0.0.1 (29 Jun 2010 09:08:58 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 29 Jun 2010 09:08:58 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: t10g2000yqg.googlegroups.com; posting-host=217.74.69.70; posting-account=Ck_xmQoAAAAlIhC9db8Qa96afXcAC5qh User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit