由于输入已经排序,自定义二进制搜索应该有效(您可能需要对边缘情况进行一些更新,即请求的值小于数组的所有元素):

function [result, res2] = binarySearchExample(val)

%// Generate example data and sort it

N = 100000000;

a = rand(N, 1);

a = sort(a);

%// Run the algorithm

tic % start timing of the binary search algorithm

div = 1;

idx = floor(N/div);

while(1)

div = div * 2;

%// Check if less than val check if the next is greater

if a(idx) <= val,

if a(idx + 1) > val,

result = a(idx + 1);

break

else %// Get bigger

idx = idx + max([floor(N / div), 1]);

end

end

if a(idx) > val, % get smaller

idx = idx - floor(N / div);

end

end % end the while loop

toc % end timing of the binary search algorithm

%% ------------------------

%% compare to MATLAB find

tic % start timing of a matlab find

j = find(a > val, 1);

res2 = a(j);

toc % end timing of a matlab find

%// Benchmark

>> [res1, res2] = binarySearchExample(0.556)

Elapsed time is 0.000093 seconds.

Elapsed time is 0.327183 seconds.

res1 =

0.5560

res2 =

0.5560

matlab寻找向量最小值,matlab – 在排序向量中快速搜索大于x的最小值相关推荐

  1. matlab寻找频谱峰值,matlab – 从数据中获取FFT峰值

    如果你无法访问findpeaks,它的工作原理背后的基本前提是,对于信号中的每个点,它会搜索以此为中心的三元素窗口并检查该窗口的中心是否更大比这个窗口的左右元素.您希望能够找到正峰值和负峰值,因此您需 ...

  2. 剑指Offer53-Ⅰ—在排序数组中查找数字

    剑指Offer53-Ⅰ 题意 统计一个数字在排序数组中出现的次数. 解法1-暴力循环 class Solution { public:int search(vector<int>& ...

  3. matlab求和与求积,matlab两个向量求和

    MATLAB提供的roots函数用于求多项式 的全部根,其调用格式为: x=roots(P) 其中P为多项式的系数向量,求得的根赋给 向量x,即x(1),x(2),-,x(n)分别代表...... ( ...

  4. python二郎成长笔记(三)(matlab标定工具箱详解,旋转矩阵旋转向量,matlab标定数据传入opencv)

    这一章由来:二郎之前研究matlab的双目立体视觉,已经得到了需要的信息,可是,二郎想要对代码进行修改使其更适宜自己的应用目的. 修改:标定不用修改--matlab内置的已经很强大了,而且没有必要用p ...

  5. matlab两向量相乘,matlab如何使得两个向量对应项相乘

    matlab 一元二次方程求解得到两个根,但是如何如何对这两个根进行处理? x=solve('x^2+3*x-5=0','x');>>x1=x(1),x2=x(2) matlab如何实现行 ...

  6. MATLAB的size()函数的返回值是一个1*2的向量哦,即使参数是向量也是1*2的向量哦!

    MATLAB的size()函数的返回值是一个1*2的向量哦,即使参数是向量也是1*2的向量哦! 返回的向量第一个元素表示有多少行,第二个元素表示有多少列,如果size()的输入参数是一个向量,那么返回 ...

  7. matlab创建数组对象,MATLAB一维数组(向量)的定义

    在 MATLAB 中,向量和矩阵主要是由数组表示的. 数组运算始终是 MATLAB 的核心内容,并且 MATLAB 区别于其他编程语言最大的优势就是数组计算.这种编程的优势使得计算程序简单.易读,程序 ...

  8. matlab矩阵最大无关组,MATLAB 第十二章 矩阵的秩与向量组的最大无关组.ppt

    MATLAB 第十二章 矩阵的秩与向量组的最大无关组 MATLAB 高等数学实验 实验十二矩阵的秩与向量组的最大无关组 实验目的 学习利用MATLAB命令求矩阵的秩, 对矩阵进行初等行变换, 求向量组 ...

  9. matlab 向量_MatLab简易教程 #4.向量、矩阵操作命令

    本节源代码:https://github.com/Terrylearning/Matlab_study/blob/master/command.m 这一节,常用矩阵及向量操作命令将被介绍,更多高级命令 ...

最新文章

  1. 代码需要不断进化和改变
  2. IBM服务器显示系统恢复,苏州数据恢复_IBM X3850服务器数据恢复中处理SAS硬盘故障的恢复案例...
  3. 圣诞素材ae模板-圣诞节日聚会派对视频素材ae模板
  4. C++函数分文件编写
  5. 【面试】iOS 开发面试题(二)
  6. 高精度大数c++类模板 很好用
  7. [转]综述论文翻译:A Review on Deep Learning Techniques Applied to Semantic Segmentation
  8. 关于推荐系统中的特征工程
  9. win系统CH341驱动安装方法
  10. 电动汽车电池换电站选址与定容(Matlab代码实现)
  11. android srgb模式,一加3固件官方更新:加入屏幕边缘防误触和sRGB显示模式功能
  12. 服务器sas硬盘转sata硬盘6,SAS接口(sas硬盘改sata家用)
  13. 发力“智能马桶”的小米们,选对了目标群体吗?
  14. 李宏毅老师机器学习第二部分:回归问题
  15. [RK3288][Android6.0] RK3288和RK3288-W版本说明
  16. 模拟IC设计——反相器
  17. OpenCV学习笔记-傅里叶变换
  18. 经济法基础(2020年)——第三章 支付结算法律制度
  19. 等待事件 latch:cache buffers chains
  20. AC695x学习笔记(3):按键

热门文章

  1. ADO.NET 事务控制
  2. python—内置函数-字符串,eval,isinstance
  3. 【Codeforces Round #424 (Div. 2) C】Jury Marks
  4. 如何判断微信内置浏览器(JS PHP)
  5. Web工程师必备的43款可视化工具
  6. edger多组差异性分析_简单使用DESeq2/EdgeR做差异分析
  7. php发邮箱验证码找回密码,织梦dede会员通过邮箱找回密码方法
  8. python polar函数_Python可视化很简单,可是你会吗?python绘制饼图、极线图和气泡图,让我来教教你吧,一文教会!!!...
  9. 拼多多分享好友砍价Java实现_拼多多砍价怎么分享到朋友圈 砍价发到微信朋友圈方法...
  10. 计算机应用 winxp,2017年职称计算机考试模块WindowsXP试题