From 975961a57ac4b1c2bdf8cd417c545255fa1d5631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E8=99=8E=E4=BC=9F?= <9726688+he-huwei@user.noreply.gitee.com> Date: Sun, 26 Sep 2021 12:26:53 +0000 Subject: [PATCH] =?UTF-8?q?add=20=E4=BD=9C=E4=B8=9A2-2019300724-=E4=BD=95?= =?UTF-8?q?=E8=99=8E=E4=BC=9F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0724-\344\275\225\350\231\216\344\274\237" | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 "\344\275\234\344\270\2322-2019300724-\344\275\225\350\231\216\344\274\237" diff --git "a/\344\275\234\344\270\2322-2019300724-\344\275\225\350\231\216\344\274\237" "b/\344\275\234\344\270\2322-2019300724-\344\275\225\350\231\216\344\274\237" new file mode 100644 index 0000000..ef1ca7f --- /dev/null +++ "b/\344\275\234\344\270\2322-2019300724-\344\275\225\350\231\216\344\274\237" @@ -0,0 +1,94 @@ +1. +import numpy as np#导入数组库 +B=np.array([[10, 34, 54, 23],[31, 87, 53, 68],[98, 49, 25, 11],[84, 32, 67, 88]])#创建需要的数组 +B=np.pad(B,pad_width=1,mode='constant',constant_values=0)#用零填充数组边界 +print(B)#输出 + +2. +import numpy as np#导入数组库 +Z=np.diag([1,2,3,4],k=-1)#偏移对角线下一格 +print(Z)#输出 + +3. +import numpy as np#导入数组库 +z=np.zeros((8,8),dtype=int)#定义类型整数型 +z[1::2,::2]=1 +z[::2,1::2]=1 +print(z)#输出 + +4. +from scipy import linalg#调用linalg +import numpy as np#导入数组库 + +# 3x + 4y + 2z = 10 +# 5x + 3y + 4z = 14 +# 8x + 2y + 7z = 20 + +a=np.array([[3,4,2],[5,3,4],[8,2,7]])#未知数前的系数 +b=np.array([10,14,20])#常数列 +c=np.linalg.solve(a,b)#用solve函数求解 +print(c)#输出 + +5. +import numpy as np#导入数组库 +B=np.array([[10, 34, 54, 23],[31, 87, 53, 68],[98, 49, 25, 11],[84, 32, 67, 88]])#创建需要的数组 +A=[k[::-1] for k in B]#反转数组里面的每个元组,[::-1]用于翻转列表 +print(A)#输出 +6. +import numpy as np +nums=np.random.randint(1,100,(10,10))#生成元素范围在1到100的10乘10的矩阵 +print(nums.min())#输出最小值 +print(nums.max())#输出最大值 +7.(1) +from matplotlib import pyplot as plt +fig=plt.figure() +fig.suptitle("y=sin(x-2)^2*e(-x*x)") +plt.xlabel("xabel") +plt.ylabel("yabel")#给表格赋予标题,标明坐标轴 +import matplotlib.pyplot as plt +import numpy as np +x=np.arange(0,2,0.025) +#x=x.astype(np.int) +y=np.sin(x-2)*np.sin(x-2)*np.exp((-1)*x*x) +plt.plot(x,y)#用plot函数画出题目中的函数 +7.(2) +def Quadratic(x): # 定义二次函数 + return 2*x**2 +3*x +4 + +import numpy as np +import matplotlib.pyplot as plt +#plt.plot() +from IPython.html.widgets import interact + +def plot_ladder(laddernum): + x = np.linspace(-5, 5, num=100) + y = Quadratic(x) + plt.plot(x,y) # 先画出原函数的图形 + a = np.linspace(-5, 5, num=laddernum) + for i in range(laddernum): + plt.plot([a[i],a[i]],[0,Quadratic(a[i])],color="black") # 画梯形的上底和下底 + + ladders = []; + for i in range(laddernum): + ladders.append([a[i],Quadratic(a[i])]) # 因为梯形的腰是呈一条直线,所以这里存下各点坐标 + + npladders = np.array(ladders) + plt.plot(npladders[:,0],npladders[:,1]); # 把梯形的斜腰连起来 + +interact(plot_ladder, laddernum=(1, 30, 1)) # 滑动模块在 1 和 30 之间变化,变化区间是 1 +7.(3) +import matplotlib.pyplot as plt#matplotlib库用来绘图用,坐标轴等 +import numpy as np#这是一种导入方式,其是处理数值计算最基础的类库 +a = [0, 0]#定义了一个列表,它包含两个元素,相当于初始化该列表 +A = [a, ] +while len(A) < 1000: + p = np.array([[0, 1], [1, 0], [0, -1], [-1, 0]]) + b = np.random.randint(len(p)) + a = np.array(a) + p[b] + c = list(a)#创建列表c,list列表中的任何一个字符都是元素 + A.append(c)#将c追加至A的尾,当A为列表时其元素增加 +B = np.array(A).T#a.T表示转置 +plt.scatter(0, 0, c='r')#scartter散点图 +#plt.axis('off') +plt.plot(B[0], B[1], c='g')#画点连线 +plt.show() -- Gitee