You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Python中定义并绘制指定函数(含定义域)的技术实现请求

修正代码实现指定函数绘制

初始代码存在以下关键问题:

  • 函数定义缺少返回值,且未覆盖要求的三个目标函数
  • 生成的x范围不符合x∈(-4,2)的定义域要求
  • 调用了未定义的myfunc函数
  • 仅绘制了单个函数,未完成三个函数的绘制
  • 平方根函数x^(1/2)仅在x≥0时有实数解,未处理该定义域限制

以下是修正后的完整代码:

import numpy as np
import matplotlib.pyplot as plt

# 定义三个指定函数
def f1(x):
    return x ** 2

def f2(x):
    return x - 2

def f3(x):
    return np.sqrt(x)  # 等价于x^(1/2),仅处理x≥0的实数情况

# 生成指定定义域的x值
x_full = np.linspace(-4, 2, 200)
# 为平方根函数筛选有效x范围(非负数)
x_non_neg = x_full[x_full >= 0]

# 创建绘图对象
fig, ax = plt.subplots(figsize=(8, 6))

# 绘制三个函数,用不同颜色区分
ax.plot(x_full, f1(x_full), label='$f(x)=x^2$', color='#1f77b4', linewidth=2)
ax.plot(x_full, f2(x_full), label='$f(x)=x-2$', color='#2ca02c', linewidth=2)
ax.plot(x_non_neg, f3(x_non_neg), label='$f(x)=x^{1/2}$', color='#ff7f0e', linewidth=2)

# 添加坐标轴参考虚线
ax.axhline(y=0, ls='--', c='k', alpha=0.7)
ax.axvline(x=0, ls='--', c='k', alpha=0.7)

# 设置图表标签与图例
ax.set_xlabel('$x$', fontsize=12)
ax.set_ylabel('$f(x)$', fontsize=12)
ax.legend(fontsize=12)
ax.set_title('Plot of Specified Functions', fontsize=14)

# 锁定x轴范围为要求的(-4,2)
ax.set_xlim(-4, 2)

plt.show()

代码说明:

  • 为每个目标函数单独定义并添加返回值,确保计算结果可被调用
  • 用np.linspace(-4, 2, 200)生成符合要求的定义域x值,200个采样点保证曲线平滑
  • 针对平方根函数筛选x≥0的部分,避免出现无效的复数运算警告
  • 为每个函数设置独特颜色和LaTeX格式的标签,提升图表可读性
  • 添加坐标轴参考虚线,方便观察函数与坐标轴的交点

内容的提问来源于stack exchange,提问作者Tsion Tewodros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:20:39