猫史档案馆


【Python作品分享】函数绘图1.1.1(注释版)【作品秀】

用户:记得开心1点-yGo记得开心1点-yGo查看:0 回复:0 评论:0 创建时间:2023-06-20T11:44:38


【作品展示】

center_image

 

【作品介绍】

编写兼构思:符海洲(高一)

微信交流:lovediaoTang

编写时间:2023年06月20日

原创不易,转载使用请联系

 

【作品源代码】

import numpy as np                  
import matplotlib.pyplot as plt         # 导入numpy和pyplot库

plt.rcParams['font.sans-serif'] = ['SimHei']        # 支持中文,用于正常显示中文
plt.title('函数图像')           # 标题:'函数图像'

a1 = A = 0          #放入初值
a2 = []         #建立空列表

i = eval(input('输入函数的最高次数='))

if i >=0:
  print('当前函数:一元', i, '次函数')
  x = eval(input('最高次项系数='))
  while a1 < i:         
    a1 = a1+1
    a2.append(x)            #当a1小于i,则将输入的系数放入列表a2中
    if i==a1:               
        a4 = eval(input("常数项="))
        A1 = np.arange(-10, 10, 0.1)    
        plt.plot(A1, A1-A1, color='k')      #画x轴,颜色为'k'
        A2 = np.arange(-10, 10, 2)      # 两个for语句叠加,解决了无论次数为多少
        for a3 in a2:                   #都可以将函数表达式表达出来
            for i1 in range(i, 0, -1):      
                A = a3*A1**(i1)+A+a4        #第25行是全程序最精彩的地方
        plt.xticks(A2) and plt.yticks(A2) # 由于次数的关系,x即使很小,y也能取值取到成千上万
        plt.plot(A1, A)                  # 所以y轴的范围跟随函数取值的变化而变化
        A3 = np.arange(np.min(A), np.max(A), np.mean(A)) #确保整个图像的大致趋势能够被画出
        plt.plot(A3-A3, A3, color='k')     # 画y轴,颜色为'k'
        plt.legend(['f(x)', "横轴", '纵轴'])    #设置图例
    else:
        print('第', a1, '项系数请输入 (注意:此项次数为', i-a1, ')')
        x = eval(input('系数='))
else:
    print('当前函数为:', -i, '次反比例函数')
    x = eval(input('系数='))
    
    A1= np.arange(0.01, 1, 0.001)       #反比例由于x不能为0,则x范围要重新框定
    plt.plot(A1, (x/A1)**(-i))
    A2 = np.arange(-1, -0.01, 0.001)
    plt.plot(A2, (x/A2)**(-i))
    
    Amin=np.min((x/A2)**(-i))
    Amax=np.max((x/A1)**(-i)) 
    
    plt.xticks(np.arange(-0.8, 0.8, 0.2))
    plt.yticks(np.arange(Amin,Amax,2*(Amin+Amax)))

    A3=np.arange(Amin,Amax,(Amin+Amax)/4)
    A4 = np.arange(-0.8, 0.8, 0.01)
    
    plt.plot(A4, A4-A4, color='k')          # 画x轴和y轴,颜色为'k'
    plt.plot(A3-A3, A3, color='k')
    plt.legend(['f(x)且x>0', 'f(x)且x<0', "横轴", '纵轴'])

plt.show()      #显示图形

#编写兼构思:符海洲
#编写时间:2023年/06月/20日

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页