MATLAB Answers

Interpolation code. How can I deal with a strange problem.

2 views (last 30 days)
GEORGIOS BEKAS
GEORGIOS BEKAS on 14 Jun 2020
Edited: GEORGIOS BEKAS on 14 Jun 2020
Imagine that I want to express in a way that I will describe below, a number that falls into a possible range of values.
E.g. the worse value is 30 and the best is 2.
So 16 would be expressed as: 1*w1 + 0*w2.
And 3 would be expressed as: 1*w1 + 0.93*w2.
What is a general code for this pattern?
Is the following code correct?
function [w1 w2] = intrpolate(worse,best, given)
md = (worse+best)/2
if given >= md
int = (given-md)/(best - md)
w1 = 1
w2 = int
else
int = abs((given-md))/(worse - md)
w1 = int
w2 = 0
end
end

  0 Comments

Sign in to comment.

Answers (1)

Matt J
Matt J on 14 Jun 2020
Edited: Matt J on 14 Jun 2020
Looks like a simple, 2x2 linear equation system to me.
>> w=[1, 0;1,0.93]\[16;3]
w =
16.0000
-13.9785

  2 Comments

Matt J
Matt J on 14 Jun 2020
Your problem description was no more generic... Are you saying the numbers 1, 0.93, 16 etc... could be different in the future? Well, it still seems obvious how you would generalize it, if so.

Sign in to comment.

Products


Release

R2015a

Translated by