假设当x>=0时y = x,而当x<0时y=sin(x),在-5<=x<=5区间内求y值,试写出程序并画出图形。
时间: 2024-10-22 11:29:42 浏览: 8
绘制曲线y=Sin(x)
在Python中,我们可以使用numpy库来进行数值计算,并使用matplotlib库来绘制图像。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义函数y
def function_y(x):
if x >= 0:
return x
else:
return np.sin(x)
# 创建x值的范围
x_values = np.linspace(-5, 5, 400) # 400个等差点,从-5到5
# 计算对应的y值
y_values = [function_y(val) for val in x_values]
# 绘制函数图像
plt.figure(figsize=(8, 6)) # 设置图像大小
plt.plot(x_values, y_values, label='y = x for x >= 0, y = sin(x) for x < 0')
plt.fill_between(x_values, 0, where=x_values >= 0, facecolor='green', alpha=0.3) # 绿色区域表示x >= 0的部分
plt.fill_between(x_values, -1, where=x_values < 0, facecolor='red', alpha=0.3) # 红色区域表示x < 0的部分
plt.axhline(0, color='black', linestyle='--') # 插入垂直线
plt.xlabel('x')
plt.ylabel('y')
plt.title('Function y(x) with conditions x >= 0 and x < 0')
plt.legend()
plt.grid(True)
plt.show()
```
这个程序首先定义了函数`function_y`,然后根据给定的x值范围创建了一系列的x值,并通过列表推导式计算对应的y值。接着使用`fill_between`函数分别填充x>=0和x<0部分的图形,并添加了网格线和图例。
阅读全文