在python中得到一点提神?

2024-04-29 01:48:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始更新我的python技能,自从我16年前大学毕业以来,我从未真正学习过这些技能。在我的工作生涯中,我从未接触过python语言。所以我想再次拥抱这种语言。为了做到这一点,我发现了一些我目前正在解决的问题,我希望尽快完成这些问题:

问题1:

0.)创建一个numpy数组(6x6,随机),其整数范围为-10到10。之后,完成以下矩阵运算:

我的想法是:

将numpy作为np导入 M=np.random.randint(低=10,高=10,大小=6,6)) 打印(M)

a.)从矩阵中剪切第一行

我的想法是:

第一行=M[0:1] 打印(第一行)

b.)将第5行的元素值乘以2

我的想法

第五排=米[4:5] 打印(第5行*2)

c.)从6x6阵列中剪切所有奇数列(列的总和)

我听说这可以在一行中完成。现在我知道了如何获取列并使用column_stack命令将它们显示为矩阵

d.)从6x6阵列中随机切割一个3x3块

再一次,我甚至不能从这个开始

e.)将6x6阵列中的所有负数设置为零

我想我可以为每个元素使用if循环,但我不知道如何从正数中过滤负数,并将负数设置为零

f.)从6x6阵列中剪切所有偶数行(行的总和)

我在处理这个问题上又遇到了很大的困难

问题2:

0.)我有一个共振曲线,如下所述:

A(eta,A_s,D)=A_s/(根[(1-eta²)²+(2etaD)²])

a.)对于a_s=1.0,我想显示一个二维参数图,其eta(x轴)在[0,3]和[0.0.5,1.0,3.0]的参数D之间

如果你能为上述问题提供一些解决方案,那就太棒了

致意

葛丽塔


Tags: numpy语言元素参数技能np矩阵整数
1条回答
网友
1楼 · 发布于 2024-04-29 01:48:19

下面是关于问题1的一些说明。您可以在在线python ide上测试它,例如repl.it

import numpy as np

mat = np.array([[-4, 3, 7, -9, 5, 2],[3, 1, -2, 7, 7, 1],
[2, 6, -4, 1, 5, -3],[2, 1, -2, -7, 1, -1],
[-5, 1, 4, 2, -3, 2],[7, 1, -3, -7, 4, -4]]
)

print('base matrix')
print(mat)

#1-a
print('Question #1-a')
first_row = mat[0:1]
print(first_row)

#1-b
print('Question #1-b')
fifth_row = mat[4]
print(fifth_row*2)

#1-c
print('Question #1-c')
remv_odd_cols = np.delete(mat, [0,2,4], 1)
print(remv_odd_cols)

#1-d
print('Question #1-d')
sub_mat = mat[1:4,1:4]
print(sub_mat)

#1-e
print('Question #1-e')
zeroed_mat = np.where(mat<0, 0, mat)
print(zeroed_mat)

#1-f
print('Question #1-f')
remv_even_rows = np.delete(mat, [1,3,5], 0)
print(remv_even_rows)

关于问题2,我认为应该定义一个自定义python函数,一旦设置了特定的D值,就可以计算eta值。因为eta在函数内部,所以在下一次计算中使用上一个eta值(至少我对编写的函数是这样理解的!)

这会给你一个情节。然后可以为其他D值进行复制

第二个问题更复杂,我想你可以先看看第一个问题,然后复制它

从评论中编辑:

#select a random 6x6 matrix with items -10 / 10
import numpy as np
mat = np.random.randint(-10,10,(6,6))
print (mat)
#select a random int between 0 and 5
startIdx = np.random.randint(0,5)
print(startIdx)
#extracy submatrix (will be less than 3x3 id the index is out of bounds)
print(mat[startIdx:startIdx+3,startIdx:startIdx+3])

相关问题 更多 >