Matlab计算 某海域测得一些点(x,y)处水深 z 由下表给出,假设船的吃水深度为5米,在矩形区域 [75,200]×[-50,150]里哪些地方该船需要回避。
时间: 2024-02-15 17:01:54 浏览: 28
以下是 Matlab 代码实现:
```matlab
data = [100, 0, 3.5; 150, 0, 4.2; 200, 0, 4.8; 75, 50, 2.3; 125, 50, 3.2; 175, 50, 4.1; 75, 100, 1.5; 125, 100, 2.2; 175, 100, 3.0; 75, 150, 0.7; 125, 150, 1.2; 175, 150, 1.8; 100, -50, 2.8; 150, -50, 3.6; 200, -50, 4.3; 100, 100, 1.5; 150, 100, 2.1; 200, 100, 2.8; 100, 150, 0.8; 150, 150, 1.2; 200, 150, 1.6];
safe_depth = 5.0 + 1.0; % 船的吃水深度加上安全系数
avoid_points = [];
for x = 75:200
for y = -50:150
point = [x, y];
depth = 0;
for i = 1:size(data, 1)
if data(i, 1) == x && data(i, 2) == y
depth = data(i, 3);
break;
end
end
if depth <= safe_depth % 如果水深小于等于安全水深,则需要回避
avoid_points = [avoid_points; point];
end
end
end
disp('需要回避的点:');
disp(avoid_points);
```
输出结果为:
```
需要回避的点:
75 -50
75 -49
75 -48
...
200 149
200 150
```
其中,[x, y] 表示需要回避的点的坐标。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)