python数学实验与建模(习题2)

2.1 

# In[2.1]
import numpy as np
A=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(A)
A=np.arange(1,13).reshape(3,4)
print(A)
print(A[2,:])
print(A[2:])

2.2

注意范德蒙行列式生成规则

numpy.vander(x=一维输入数组,N=生成列数 如不填默认返回正方形数组,increasing=False/True)

# In[2.2]
import numpy as np
v=np.array([1,2,3,4])
v1=np.vander(v,4,increasing=False)
v2=np.vander(v,4,increasing=True)
print(v1)
print(v2)

2.3

# In[2.3]
import numpy as np
v=np.array([[1],[-1],[1]])
print(v)

P=v*np.transpose(v)/(np.transpose(v)*v)
# 矩阵元素乘法:1.* 
#              2.np.multiply(A,B)
# 矩阵乘法:1.np.matmul(A,B)
#          2.np.dot(A,B) 局限性只适用于二维矩阵或者向量
# 元素乘法和矩阵乘法的区别在于 元素乘法需要矩阵shape相同 矩阵乘法不要求
# A = np.array([[1, 2, 3],
#               [4, 5, 6]], dtype='int16')

# B = np.array([[7, 8],
#               [9, 10],
#               [11, 12]], dtype='int16')

print(P)
Q=np.eye(3)-P
# 单位矩阵
print(Q)
# In[2.4]

2.4

part1:生成包含1000个0~100以内的随机数

# In[2.4]
import numpy as np
# 生成一千个0~100内的随机数
li=[]
for i in range(0,1000):
    a=np.random.randint(0,100,dtype='l')
    li.append(a)
    # print(li)

part2:统计数字出现次数,有几种方式

1.pandas模块

import pandas as pd
c=pd.DataFrame(li)
print(c.value_counts())

2.collections.Counter方法

import collections
c=collections.Counter(li)
print(c)

3.设计循环遍历数组

cli=dict()
for n in li:
    if n in cli:
        cli[n]+=1
    else:
        cli[n]=1
print(cli)

2.5

# In[2.5]
import numpy as np
li=np.random.randint(100, size=20)
li[0:10].sort()
li[10:20] = abs(np.sort(-li[10:20]))
print(li)

 

2.6

import numpy as np
import pandas as pd
A=np.array([[9,80,205,40],
            [90,-60,96,1],
            [210,-3,101,89]])
for i in range (A.shape[0]):
    if i==max(A[i]):
        for j in range(A.shape[1]):
            if j==min(A[:,j]):
                print(A[i][j])     

 

2.8

# In[2.8]
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-4*np.pi,4*np.pi,1000)
for k in range(1,7):
    y=k*x**2*np.sin(x)+2*k+np.cos(x**3)
    plt.plot(x,y)

 2.9

# In[2.9]
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-4*np.pi,4*np.pi,1000)
for k in range(1,7):
    plt.subplot(230+k)
    y=k*x**2*np.sin(x)+2*k+np.cos(x**3)
    plt.plot(x,y)

 2.10

2.10.1
# In[2.10.1]
import numpy as np
import matplotlib.pyplot as plt
f=plt.figure()
ax=plt.axes(projection='3d')

x=np.linspace(-50,50,1000)
y=np.linspace(-50,50,1000)

x,y=np.meshgrid(x,y)
z=((x**2/8+y**2/10-1)*6)**0.5

ax.plot_surface(x,y,z,cmap='coolwarm')
plt.show()
2.10.2
# In[2.10.2]
import numpy as np
import matplotlib.pyplot as plt
f=plt.figure()
ax=plt.axes(projection='3d')

x=np.linspace(-50,50,1000)
y=np.linspace(-50,50,1000)

x,y=np.meshgrid(x,y)
z=((x**2/8-y**2/10-1)*8)**0.5

ax.plot_surface(x,y,z,cmap='coolwarm')
plt.show()
2.10.3
# In[2.10.3]
import numpy as np
import matplotlib.pyplot as plt
f=plt.figure()
ax=plt.axes(projection='3d')

x=np.linspace(-50,50,1000)
y=np.linspace(-50,50,1000)

x,y=np.meshgrid(x,y)
z=x**2/8+y**2/6

ax.plot_surface(x,y,z,cmap='coolwarm')
plt.show()

 2.11

# In[2.11]
import numpy as np
import matplotlib.pyplot as plt
f=plt.figure()
ax=plt.axes(projection='3d')

s=np.linspace(-1,1,1000)
t=np.linspace(0,2*np.pi,1000)

s,t=np.meshgrid(s,t)

x=(2+s/2*np.cos(t/2))*np.cos(t)
y=(2+s/2*np.cos(t/2))*np.sin(t)
z=s/2*np.sin(t/2)

ax.plot_surface(x,y,z,cmap='coolwarm')
plt.show()

2.12

2.12.1
# In[2.12]
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-2,2,50)
y=np.linspace(-2,3,)
x,y=np.meshgrid(x,y)
z=x*np.exp(-x**2-y**2)

contr=plt.contour(x,y,z)
plt.clabel(contr)
2.12.2
# In[2.12.2]
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-1.5,2,50)
y=np.linspace(-1.5,2,50)
x,y=np.meshgrid(x,y)
z=(1-x**2-y**2)*np.exp(-y**3/3)

contr=plt.contour(x,y,z)
plt.clabel(contr)

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数学中,Python是一个非常常用的编程语言。有很多优秀的Python代码库和开源项目可以用于数学的实践。可以通过参考这些代码库和项目,学习函数设计的实践经验,并积极参与Python社区,与其他开发者交流经验和学习资源。 另外,对于某些具体的数学问题,可以使用Python来进行求解。例如,可以通过将一个运输问题转换为最小费用最大流问题,然后画出相应的网络图,并使用Python来求解。 此外,0-1整数规划是一类特殊的整数规划问题,其中变量的取值只能是0或1。它主要用于求解互斥的决策问题、互斥的约束条件问题、固定费用问题和分派问题。对于这类问题,也可以使用Python来进行和求解。 因此,如果你在数学中需要使用Python代码,可以参考相关的代码库和开源项目,学习函数设计的实践经验,并使用Python来转换和求解特定的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python函数综合案例.md](https://download.csdn.net/download/qq_42431718/88241199)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [数学Python图论习题](https://blog.csdn.net/m0_54603060/article/details/125773073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [用Python进行数学(一)](https://blog.csdn.net/m0_46692607/article/details/126784109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值