VLOOK UP Function for MatLab - Closest Match
7 次查看(过去 30 天)
显示 更早的评论
Hello, I found the following answer by Jim Riggs which nearly solves a problem I've been having i MatLab. Essentially I need a function which performs this same task, but rather than finding data from col1 which is equal to val1, I need it to find the closest number in col1 to val 1 then return the value from col2.
Any recommendations are helpful!
"
You can make this into a function similar to Vlookup in Excel. For example:
Vlookup = @(data,col1,val1,col2) data((data(:,col1)==val1),col2);
The function Vlookup takes 4 arguments;
- data is the table of data
- col1 is the column you want to use to perform the lokup
- val1 is the value you want to look up (from col1).
- col2 is the column that you want to retrieve.
So, in my previous example, this would be
area = Vlookup(data, 1, 12, 2);
Look up from the "data" table, where column 1 has a value of 12, and return the value from column 2.
"
0 个评论
采纳的回答
Voss
2023-10-16
col1 = 1;
val1 = 12;
col2 = 2;
[~,idx] = min(abs(data{:,col1}-val1));
result = data{idx,col2};
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!