<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://the07k.wiki/index.php?action=history&amp;feed=atom&amp;title=Interpolation%2C_extrapolation</id>
	<title>Interpolation, extrapolation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://the07k.wiki/index.php?action=history&amp;feed=atom&amp;title=Interpolation%2C_extrapolation"/>
	<link rel="alternate" type="text/html" href="https://the07k.wiki/index.php?title=Interpolation,_extrapolation&amp;action=history"/>
	<updated>2026-05-12T21:35:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://the07k.wiki/index.php?title=Interpolation,_extrapolation&amp;diff=2864&amp;oldid=prev</id>
		<title>Arte: Initial page</title>
		<link rel="alternate" type="text/html" href="https://the07k.wiki/index.php?title=Interpolation,_extrapolation&amp;diff=2864&amp;oldid=prev"/>
		<updated>2023-01-19T23:03:54Z</updated>

		<summary type="html">&lt;p&gt;Initial page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Interpolation==&lt;br /&gt;
Interpolation is a type of estimation, a function that allow to estimate the value (x, y) between two known data points (x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, y&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; ; x&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, y&amp;lt;sub&amp;gt;2).&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common interpolation method used on ECU is the linear interpolation. The interpolation is more precise on high resolutions maps (multiples points)&lt;br /&gt;
===Linear interpolation===&lt;br /&gt;
[[File:Linear-inter.png|218x218px]]&lt;br /&gt;
&lt;br /&gt;
The formula :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; y = y_1 + \left( x-x_1 \right) \frac{y_2-y_1}{x_2-x_1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where:&lt;br /&gt;
*x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, y&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; are the first known coordinates&lt;br /&gt;
*x&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, y&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; are the second known coordinates&lt;br /&gt;
*x is the point with want at which we do the interpolation&lt;br /&gt;
*y is the interpolated value&lt;br /&gt;
====Using linear interpolation on 3D maps:====&lt;br /&gt;
#Interpolate the row above and below&lt;br /&gt;
#Interpolate the two interpolated values together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a example, consider the following map:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Example map (load, engine speed)&lt;br /&gt;
|-&lt;br /&gt;
|'''Load /RPM'''&lt;br /&gt;
|'''100'''&lt;br /&gt;
|'''150'''&lt;br /&gt;
|-&lt;br /&gt;
|'''1000'''&lt;br /&gt;
|10&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|'''2000'''&lt;br /&gt;
|20&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
To get the value at load : '''125''' and engine speed : '''1500''', we will need to do a linear interpolation since it is not in the map.&lt;br /&gt;
&lt;br /&gt;
The table would look like this after step 1:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Example map (load, engine speed)&lt;br /&gt;
|-&lt;br /&gt;
|'''Load /RPM'''&lt;br /&gt;
|'''100'''&lt;br /&gt;
|&amp;lt;u&amp;gt;'''125'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|'''150'''&lt;br /&gt;
|-&lt;br /&gt;
|'''1000'''&lt;br /&gt;
|10&lt;br /&gt;
|&amp;lt;u&amp;gt;15&amp;lt;/u&amp;gt;&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|'''2000'''&lt;br /&gt;
|20&lt;br /&gt;
|&amp;lt;u&amp;gt;30&amp;lt;/u&amp;gt;&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
Now we interpolate 15 and 30 together to get the value at 1500 rpm (step 2):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Example map (load, engine speed)&lt;br /&gt;
|-&lt;br /&gt;
|'''Load /RPM'''&lt;br /&gt;
|'''100'''&lt;br /&gt;
|&amp;lt;u&amp;gt;'''125'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|'''150'''&lt;br /&gt;
|-&lt;br /&gt;
|'''1000'''&lt;br /&gt;
|10&lt;br /&gt;
|&amp;lt;u&amp;gt;15&amp;lt;/u&amp;gt;&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;u&amp;gt;'''1500'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;u&amp;gt;22.5&amp;lt;/u&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''2000'''&lt;br /&gt;
|20&lt;br /&gt;
|&amp;lt;u&amp;gt;30&amp;lt;/u&amp;gt;&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
At load : '''125''' and engine speed at '''1500''', we get the value '''22.5''' with linear interpolation&lt;br /&gt;
&lt;br /&gt;
== Extrapolation ==&lt;br /&gt;
ECU does not work with extrapolation. Extrapolation is a an estimation of values that are outside the scope of a map data. There are multiple proposed methods for extrapolation : linear, polynomial, conic, etc. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Extrapolation is not reliable and need to be used with care (if used).&amp;lt;/u&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arte</name></author>
	</entry>
</feed>