习题2.6

news/2024/10/15 19:55:20
import numpy as np  
import matplotlib.pyplot as plt  
from mpl_toolkits.mplot3d import Axes3D  # 模拟高程数据(假设数据已经过某种方式插值或生成)  
# 这里我们创建一个简单的40x50网格,并填充随机高程值  
x = np.linspace(0, 43.65, 40)  
y = np.linspace(0, 58.2, 50)  
X, Y = np.meshgrid(x, y)  
Z = np.sin(np.sqrt(X**2 + Y**2)) * 100  # 使用一个简单的函数来生成高程数据  # 绘制三维表面图  
fig = plt.figure(figsize=(12, 8))  
ax = fig.add_subplot(121, projection='3d')  
ax.plot_surface(X, Y, Z, cmap='viridis', edgecolor='none')  
ax.set_xlabel('X (km)')  
ax.set_ylabel('Y (km)')  
ax.set_zlabel('Elevation (m)')  
ax.set_title('3D Surface Plot of Elevation Data')  # 绘制等高线图  
plt.subplot(122)  
CS = plt.contour(X, Y, Z, colors='k')  
plt.clabel(CS, inline=1, fontsize=10)  # 标注点 A(30,0) 和 B(43,30)  
# 注意:由于X和Y是网格坐标,我们需要找到最接近这些值的索引  
idx_a_x = np.argmin(np.abs(x - 30))  
idx_a_y = np.argmin(np.abs(y - 0))  
idx_b_x = np.argmin(np.abs(x - 43))  
idx_b_y = np.argmin(np.abs(y - 30))  plt.plot(x[idx_a_x], y[idx_a_y], 'ro', markersize=5, label='A(30,0)')  
plt.plot(x[idx_b_x], y[idx_b_y], 'go', markersize=5, label='B(43,30)')  
plt.xlabel('X (km)')  
plt.ylabel('Y (km)')  
plt.title('Contour Plot of Elevation Data with Points A and B')  
plt.legend()  # 计算地表面积的近似值(忽略地形起伏)  
real_area = 43.65 * 58.2  
print(f"Actual Surface Area (ignoring elevation changes): {real_area} km^2")  # 显示图形  
plt.tight_layout()  
plt.show()print("学号:3008")

结果如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71954.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

习题2.7(2)

import numpy as np # 定义系数矩阵A和常数项向量b A = np.array([[2, 3, 1], [1, -2, 4], [3, 8, -2], [4, -1, 9]]) b = np.array([4, -5, 13, -6]) # 使用numpy的lstsq函数求解最小二乘解 # 对于这个特定的问题,由于方程数和未知数数量相同,且没有矛盾,lstsq将…

习题2.4

import numpy as np import matplotlib.pyplot as plt # 定义x的范围 x = np.linspace(-10, 10, 400) # 创建一个2行3列的子图布局 fig, axs = plt.subplots(2, 3, figsize=(12, 8)) # 遍历每个子图 for k, ax in enumerate(axs.flat, start=1): y = k * x**2 + 2*…

习题2.3

import numpy as np import matplotlib.pyplot as plt # 定义x的范围 x = np.linspace(-10, 10, 400) # 创建一个图形和坐标轴 plt.figure(figsize=(10, 6)) ax = plt.gca() # 循环绘制每条曲线 colors = [r, g, b, c, m, y] # 定义颜色列表 for k, color in z…

Redis高级(消息队列)

​消息队列(Message Queue) 1.什么是消息 两台设备(例如服务与服务)之间传递的数据就可以称之为消息 2.什么是消息队列 消息队列是在消息的传输过程中保存消息的容器。 为什么使用消息队列异步例如发送验证码解耦例如服务与服务之间的调用削峰限流一个消息队列的基本组成 生产者…

代码随想录刷题记录 - 字符串

代码随想录刷题记录 - 字符串 1. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII…

WPF中为Popup和ToolTip使用WindowMaterial特效 win10/win11

先看效果图:大致思路是:通过反射获取Popup内部的原生窗口句柄,然后通过前文已经实现的WindowMaterial类来应用窗口特效;对于ToolTip,为了保持其易用性,我使用了附加属性+全局样式的方式来实现,ToolTip也是一个特殊的Popup.前文链接:WPF 模拟UWP原生窗口样式——亚克力|…

数据采集与融合技术第一次作业

作业1 1)用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020 )的数据,屏幕打印爬取的大学排名信息。 import urllib.request from bs4 import BeautifulSoup# 定义 URL url = http://www.shanghairanking.cn/rankings/bcu…

『模拟赛』多校A层冲刺NOIP2024模拟赛07

『模拟赛记录』多校A层冲刺NOIP2024模拟赛07Rank 一般,挂大分场。A. 限速(speed) 签。 直接跑一棵最小生成树出来,然后 dfs 一遍,如果有边权不小于 \(k\) 的就给答案加上绝对值的差,若没有则再遍历一遍所有边找到与 \(k\) 之差绝对值最小的边插进去就行,答案就是这个绝对…