Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 2. 5. 2017 14:11:24

Trambus
Člen
Registrace: 20. 2. 2013
Příspěvků: 17

Lineární interlpolace

Dobrý den,

prosím o radu. Mám tabulku se základníma hodnotama kde lze mezilehlé hodnoty lineárne interpolovat.

Potřebuju v závislosti na prvním sloupci dohledat dvě hodnoty ze sloupce druhého a třetího. A to včetně hodnot, které nejsou v prvním sloupci konkrétně vypsány,ale lze je použít (lineárně interpolovat).

Přikládám odkaz na soubor: https://ulozto.cz/!ximo8aXRUDs1/linearn … polace-ods

Snad je to pochopitelné.

Děkuji!

Offline

#2 2. 5. 2017 14:48:10

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,132

Re: Lineární interlpolace

K tomuto slouží funkce LINEST. V podstatě si ale musíte rozmyslet co potřebujete. Lineární regrese je test na směrnici přímky která se v podstatě dá definovat jako absolutní, nebo posunutá podle osy Y do středu souřadného kříže (přímka prochází bodem 0,0). Vše je docela dobře popsáno v nápovědě LO.
     Linest patří z nějakého důvodu mezi maticové funkce a není uvedena mezi statistickými. Takže ji hledejte mezi MATICEMI.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 2. 5. 2017 16:04:08

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 57

Re: Lineární interlpolace

Linest patří do maticových funkcí protože se počítá maticově pomocí pseudoinverze:

Z = invert(transpose(X).X).transpose(X).Y

přičemž X je matice vstupních hodnot a Y je matice výsledných hodnot. Vyjde matice hledaných koeficientů (Z).

Offline

#4 2. 5. 2017 16:11:06

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 464

Re: Lineární interlpolace

já to dělávám pomocnou tabulkou, asi to lze nějakou funkcí ale nikdy jsem nepřišel jak na to

https://drive.google.com/file/d/0B3b5jU … sp=sharing


Ono také většinou v těchto úlohách jde o interpolaci mezilehlých hodnot nikoli hledání regresní přímky.

Editoval ludviktrnka (2. 5. 2017 16:13:14)


LibreOffice 5.2.2.2

Offline

#5 2. 5. 2017 16:40:05

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 57

Offline

#6 2. 5. 2017 16:57:13

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,132

Re: Lineární interlpolace

Pro Lader :
Například většina funkcí se dá spustit jako matice, ale i z Linest vytvoříte pomocí nul "matici" 1x2, což je velice podobné s FORECAST - ta hledá určitý bod na regresní přímce. Je to v souvislosti s LINEST.
     Jenomže ten zmatek má jinou logiku. Už se to tady probíralo. Existuje celkem 11 položek v nápovědě které se týkají statistiky. mezi nimi jsou i matice. Nikde jinde se ale nedá dovodit z popisu relaci ke statistice. Existovaly typické příklady jakou COUNTIF, SUMIF ap které nebyly původně vůbec mezi statistickými funkcemi Chyba překladu. To se od té doby dost změnilo ale nepřehlednost je to stále. Už proto že se zřejmě prolíná překlad starších verzí s novými.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#7 2. 5. 2017 17:22:01

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 57

Re: Lineární interlpolace

Tomu rozumím, uživatele vůbec nezajímá jakým způsobem se funkce počítá, ale kam patří. Zajímalo by mě jak je to řešeno třeba v Excelu, jestli tam není podobný problém.

Offline

#8 2. 5. 2017 17:32:31

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,132

Re: Lineární interlpolace

Navíc když se zabývám k čemu je to potřeba (Snad je to pochopitelné.) tak mne napadá, že to nemusí být správná definice problému. Může jít o několik různých i když "podobných" problémů.


     Zatímco lineární interpolace se zabývá v podstatě směrnicí spočtenou z nějakých odchylek od osy Y tak aby byla vystižena optimální hodnota přímky která mezi nimi probíhá, jde zřejmě o podstatu v prostřihu, nebo třeba v objemu (nepřímo váha).
     Ten "součinitel by mohla být klidně tloušťka materiálu a zbytek je jasný. Může jít například o váhu materiálu - souvislost s cenou, nebo přípravou výroby, ale nejspíš by šlo o podobnost rozměrů AxB - tedy lépe A:B - a nejspíš následně o ztráty z prostřihu.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#9 2. 5. 2017 19:20:43

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 464

Re: Lineární interlpolace

Ono tedy jak odhalil Leader - zadání je v podstatě nesmyslné - jakékoli číslo z tabulky lze vypočítat pomocí jedné podmíněné lineární funkce a jedné obyčejné lineární funkce, takže interpolace v této tabulce je holý nesmysl. Hezky je to vidět když si danou tabulku vyjádříte grafem. Interpolace se používá u tabulkových vyjádření složitých nelineárních funkcí.


LibreOffice 5.2.2.2

Offline

#10 2. 5. 2017 20:07:08

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,132

Re: Lineární interlpolace

Je to jenom jednoduchý případ. Proložení směrnicí je častější u více položek - pro 10 bodů a podobně. Když jsou body moc rozptýleny hledá se křivka ale podstata je stejná. Určitému průmětu na X odpovídá určitý průmět na Y. Ale jde to i zaměnit. Ono je relativní co je X a Y


     Já si myslím, že jde spíš o něco jiného. Například o celočíselné podíly násobků nějakého rozměru a je jedno zda se vejde "X" do "XX" k krát a "Y" do "YY" n x nebo opačně. Vypadá to jako aktuální zásoby na skladě které je nutné zkombinovat aby se "vyrobil" objednaný počet určitých výrobků. Takže jde například o to aby se využily všechny zásoby se stejnou tloušťkou, nebo něco podobného. Tohle ale není ta správná cesta.


     Měly by se hledat nejmenší společné násobky šířky a délky. I když můžeme předpokládat, že směrnice ukáže na přeponu která by měla mít vlastnost "správných" celočíselných poměrů (ale jen celočíselné násobky shodné pro obě osy).
     Potom by ale směrnice měla být zadávána úhlem a skutečnou délkou jednotkové přepony (pokud jde skutečně o pravidelné obdélníky). V takovém případě by na prvním místě byl jednotkový rozměr finálního výrobku, což samozřejmě nevíme - vzor nebude asi v relaci se skutečností.
     Ale tento postup neodhalí celočíselné poměry "X" krát "Y+1 (nebo více či méně ap.). Tohle vede na kvadratické rovnice a spíš by to chtělo porovnávat obsahy "XX" krát "YY" a dělit jak "X" tak "Y" což jsou 4 výsledky "XX/X", "XX/Y", "YY" / X" a "YY / Y". Ovšem co autor opravdu potřebuje netuším.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#11 2. 5. 2017 20:41:32

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 464

Re: Lineární interlpolace

funkce na stahování dat z interpolu :-)

Function Interpol (Vstup as Variant, oX() as Variant, oY() as Variant)
'vstup je číslo z osy X pro nějž chceme získat interpolovanou hodnotu Y
'oX je oblast hodnot z osy X - musí být seřazeny od nejmenší po největší
'oY je oblast hodnot z osy Y
'oY musí být stejně veliká oblast nebo větší jak oX
'příklad zadání: INTERPOL(0,721;A2:A10;B2:B10)
  dim i as integer
  dim Y as double

  if Vstup < oX(1,1) then
     Interpol = 0
     exit function
  end if	
  
  Y = 0 

  for i = 1 to ubound(oX,1) - 1
     if Vstup >= oX(i,1) AND Vstup < oX(i+1,1) then
        Xh = oX(i,1)
        Xd = oX(i+1,1)
        Yh = oY(i,1)
        Yd = oY(i+1,1)
        Y = (Yh - Yd) * (Xd - Vstup) / (Xd - Xh) + Yd
     end if
  next i

Interpol = Y

End Function

https://drive.google.com/file/d/0B3b5jU … sp=sharing

Editoval ludviktrnka (3. 5. 2017 10:19:01)


LibreOffice 5.2.2.2

Offline

#12 2. 5. 2017 22:34:13

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 749

Re: Lineární interlpolace

K lin. interpolaci existuje funkce FORECAST, případně FORECAST.LINEAR (je stejná jako FORECAST, jen explicitně odlisšuje od FORECAST.ETS)

V buňce E4 je zadané a:

Délka: =FORECAST(E4;OFFSET($A$4;MATCH(E4;$A$4:$A$14)-1;1;2;1);OFFSET($A$4;MATCH(E4;$A$4:$A$14)-1;0;2;1))

Šířka: =FORECAST(E4;OFFSET($A$4;MATCH(E4;$A$4:$A$14)-1;2;2;1);OFFSET($A$4;MATCH(E4;$A$4:$A$14)-1;0;2;1))

(Není to jediný způsob.)

Offline

#13 3. 5. 2017 17:38:58

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 57

Re: Lineární interlpolace

Makro od ludviktrnka se mi líbí. Trochu jsem jej upravil, aby nezobrazovalo chyby, když bude mimo rozsah a aby počítalo i s poslední uvedenou hodnotou.
Ještě jsem tam přidal makro interpol2, které počítá kubickou interpolaci, takže místo propojení bodů rovnými čarami (lomená čára), vytvoří průběh hezky zaoblený. Stejně jako v předchozí funkci, data musí být seřazená. Na krajích pro zjednodušení počítá lineárně (v případě zájmu můžu funkci upravit ...).

Ke stažení Zde



Funkci jsem upravil, teď počítá i na krajích zaobleně.

Ke stažení Nová verze

Editoval LADER (3. 5. 2017 18:25:55)

Offline

#14 3. 5. 2017 19:28:12

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,132

Re: Lineární interlpolace

Já si nemyslím že by autor měl na mysli zrovna kvadratickou interpolaci. Ono těch "interpolací" je více druhů a typické statistické interpolaci se říká jinak - jsou to testy na odchylky od průměru. Běžně se užívají dva druhy. Je to jednak průměrná odchylka z absolutních odchylek od aritmetického průměru (lineární jednorozměrné řešení) a potom směrodatná odchylka (kvadratické řešení). Vše také souvisí s metodou nejmenších čtverců. Mimo toho se testují také kubická řešení - výstupem jsou například meteorologické modely okluzních front, nebo GIS aplikace. Zjednodušeně lze říct, že to souvisí se vzájemnou závislostí/nezávislostí X;Y;Z.


     Osobně si myslím, že by to chtělo extrapolaci, nebo aproximaci rozměrů vzhledem k nějakým základním rozměrům. Myslím si, že je potřeba nikoliv doplňovat uzlové body (neexistující rozměr v prvním sloupci) ale testovat jen reálně exitující rozměry skladových položek. Nejspíš půjde o test na stejnou tloušťku ze které se dají dělat stejné výrobky.
     Jako obecný problém se jedná nejspíš o nalezení nejefektivnější skladby tak aby byl co nejmenší prostřih (vyloučení ano/ne takových případů kdy nelze prostříhnout padacími nůžkami - střih je nutný přímkou naráz jinak by to musel dělat nějaký automat - laser, voda ap.) eliminoval ztráty respektive dokoupení potřebného materiálu.


     Samozřejmě interpolací se dotaneme k síti z nejmenších čtverců x^2(cm, mm) která by měla pokrýt každou položku celočíselně. Problém spočívá spíš v tom jak na různé plochy uspořádat určitý základní rozměr. Výchozím měřítkem je obsah X*Y/x^2 materiálu skladové položky. Z toho lze dovodit kolik základních rozměrů by se mělo do rozměrů skladové položky vejít (v nejlepším případě beze ztráty).
     Na to existují programy v CAD aplikacích, ale musí se vědět jaké. Myslím že to umí aplikace pro klempíře, ale podobný problém řeší kartonážky, šicí dílny a mnoho jiných oborů. Vím že se dají najít nejoptimálnější prostřihy i pro nepravidelné plochy.


     Vzhledem k nejasnému účelu není ani možné dovodit jakou interpolaci má autor na mysli. Je to zaklínadlo s mnoha variantami řešení. Dokonce nemám ani představu jak si s výstupy interpolací autor poradí a co z ních vyčte. Ačkoliv když je vloží do správného grafu může dostat nějakou miniaturu části tvaru který bude reprezentován vyhlazenými křivkami, nebo obdélník který se hodí pro manuální naplánování prostřihu a podobně.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#15 4. 5. 2017 13:37:26

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 464

Re: Lineární interlpolace

To LADER - pěkný, to bych nezvlád, měl bych si tu matematiku trochu oprášit. Třeba to bude brát dcerka ve škole, tak pak se to zas doučím :-) Ale my stavaři si s lineární interpolací bohatě vystačíme :-)


LibreOffice 5.2.2.2

Offline

Zápatí