MATLAB 二分法最简单代码
时间: 2024-09-27 20:07:39 浏览: 31
Matlab模数转换器二分法代码
MATLAB是一种强大的数值计算软件,其中二分法(也叫折半查找)是一种用于在一维已排序数组中搜索特定元素的算法。以下是使用MATLAB实现二分法搜索的一个简单示例:
```matlab
% 定义二分查找函数
binarySearch = @(array, target) ...
binarySearchHelper(array, 1, length(array), target);
% 辅助函数,实现递归的二分查找
function index = binarySearchHelper(array, low, high, target)
if low > high
% 如果目标不在数组范围内,返回-1表示未找到
index = -1;
else
mid = floor((low + high) / 2); % 计算中间索引
if array(mid) == target
% 找到了目标,返回中间索引
index = mid;
elseif array(mid) < target
% 目标在中间值右侧,缩小范围到右半部分
index = binarySearchHelper(array, mid + 1, high, target);
else
% 目标在中间值左侧,缩小范围到左半部分
index = binarySearchHelper(array, low, mid - 1, target);
end
end
end
% 示例数组和目标值
sortedArray = [1, 3, 5, 7, 9];
target = 5;
% 调用函数进行查找
resultIndex = binarySearch(sortedArray, target);
if resultIndex >= 0
fprintf('找到了,目标值位于索引 %d\n', resultIndex);
else
fprintf('没找到目标值\n');
end
```
阅读全文