torch 生成两条类似正弦曲线的散点图,幅值和频率接近,假设每个数据点有两个特征)
时间: 2023-12-20 18:03:59 浏览: 56
可以使用以下代码生成两条类似正弦曲线的散点图:
```python
import torch
import matplotlib.pyplot as plt
# 生成数据
x1 = torch.linspace(0, 2 * 3.14, 100)
y1 = torch.sin(x1) + torch.randn(100) * 0.1
x2 = torch.linspace(0, 2 * 3.14, 100)
y2 = torch.sin(x2 + 0.5) + torch.randn(100) * 0.1
# 绘制散点图
plt.scatter(x1.numpy(), y1.numpy(), c='r')
plt.scatter(x2.numpy(), y2.numpy(), c='b')
plt.show()
```
其中,`x1` 和 `x2` 是两条曲线在 x 轴上的取值范围,`y1` 和 `y2` 是两条曲线在 y 轴上的取值,加上一些噪声使得数据更真实。利用 matplotlib 库绘制散点图即可。
相关问题
torch 生成两条类似正弦曲线的散点图,幅值和频率接近,
下面是使用PyTorch生成两条类似正弦曲线的散点图的示例代码:
```python
import torch
import matplotlib.pyplot as plt
# 生成正弦曲线
x = torch.linspace(0, 2 * torch.tensor(3.1415926), 1000)
y1 = torch.sin(x)
y2 = torch.sin(x + 0.2)
# 添加随机噪声
noise1 = torch.randn_like(y1) * 0.1
noise2 = torch.randn_like(y2) * 0.1
y1 += noise1
y2 += noise2
# 绘制散点图
fig, ax = plt.subplots()
ax.scatter(x, y1, label='sin(x)', s=10)
ax.scatter(x, y2, label='sin(x+0.2)', s=10)
plt.legend()
plt.show()
```
这段代码首先使用torch.linspace()函数生成了0到2π之间1000个等间距的数据点,然后使用torch.sin()函数计算出对应的正弦值。接着,添加了一些随机噪声以使得两条曲线看起来更加相似,最后使用matplotlib中的scatter()函数绘制出散点图。
阅读全文