我正在尝试编写代码以使用数组。我有用于变量的数组,并且试图从这些变量中调用某些数字以定义函数。我附上了我要完成的任务的简化片段。当我只将变量作为一个数字时,代码运行良好,但是当我合并数组时,它就不起作用。

import numpy as np

noe = 3

# E of members ksi

E = 29000*np.ones((1, noe))

# Area of members in^2

A = 1000*np.array([20, 30, 20])

# length of members in

L = np.array([144, 240, 144])

# moment of inertia of members in^4

I = np.array([600, 1200, 600])

def k_frame_local_6x6(E, I, A, L):

return (E/L)*np.array([[A, 0, 0, -A, 0, 0], [0, (12*I)/(L**2), (6*I)/L, 0, (-12*I)/(L**2), (6*I)/L], [0, (6*I)/L, 4*I, 0, (-6*I)/L, 2*I], [-A, 0, 0, A, 0, 0], [0, (-12*I)/(L**2), (-6*I)/L, 0, (12*I)/(L**2), (-6*I)/L], [0, (6*I)/L, 2*I, 0, (-6*I)/L, 4*I]])

m=k_frame_local_6x6(E[0, 1], I[0, 1], A[0, 1], L[0, 1])

print(m)

我收到的错误是“ IndexError:数组的索引过多”

当我手动输入值时,我试图让函数读取它的功能,如下所示:

def k_frame_local_6x6(E, I, A, L):

return (E/L)*np.array([[A, 0, 0, -A, 0, 0], [0, (12*I)/(L**2), (6*I)/L, 0, (-12*I)/(L**2), (6*I)/L], [0, (6*I)/L, 4*I, 0, (-6*I)/L, 2*I], [-A, 0, 0, A, 0, 0], [0, (-12*I)/(L**2), (-6*I)/L, 0, (12*I)/(L**2), (-6*I)/L], [0, (6*I)/L, 2*I, 0, (-6*I)/L, 4*I]])

m=k_frame_local_6x6(29000, 1200, 30000, 240)

print(m)

我得到的结果是:

[[ 3.62500000e+06 0.00000000e+00 0.00000000e+00 -3.62500000e+06

0.00000000e+00 0.00000000e+00]

[ 0.00000000e+00 3.02083333e+01 3.62500000e+03 0.00000000e+00

-3.02083333e+01 3.62500000e+03]

[ 0.00000000e+00 3.62500000e+03 5.80000000e+05 0.00000000e+00

-3.62500000e+03 2.90000000e+05]

[ -3.62500000e+06 0.00000000e+00 0.00000000e+00 3.62500000e+06

0.00000000e+00 0.00000000e+00]

[ 0.00000000e+00 -3.02083333e+01 -3.62500000e+03 0.00000000e+00

3.02083333e+01 -3.62500000e+03]

[ 0.00000000e+00 3.62500000e+03 2.90000000e+05 0.00000000e+00

-3.62500000e+03 5.80000000e+05]]

我刚刚注意到的一件事是,我的一个数组有两组括号:

E = 29000*np.ones((1, noe))

结果是:

array([[ 29000., 29000., 29000.]])

但是,对于其余的数组,我只能得到一个括号集:

A = 1000*np.array([20, 30, 20])

给我:

array([20000, 30000, 20000])

让我知道是否需要其他说明。谢谢你们!!!

解决方案

您的k_frame_local_6x6-很难看,对普通人来说几乎是不可读的,当给定4个数字时,它会生成6x6数组。

但据我所知,这些术语都不适合用于数组:

def k_frame_local_6x6(E, I, A, L):

temp = np.array([[A, 0, 0, -A, 0, 0],

[0, (12*I)/(L**2), (6*I)/L, 0, (-12*I)/(L**2), (6*I)/L],

[0, (6*I)/L, 4*I, 0, (-6*I)/L, 2*I],

[-A, 0, 0, A, 0, 0],

[0, (-12*I)/(L**2), (-6*I)/L, 0, (12*I)/(L**2), (-6*I)/L],

[0, (6*I)/L, 2*I, 0, (-6*I)/L, 4*I]

])

return (E/L)*temp

尝试,例如最简单的条款

np.array([-A,0,0,A,0,0])

如果A是数字,那很好。但是,如果A是数组,则不起作用。很好,它确实有效,但不会返回有意义的信息

In [105]: A = 1000*np.array([20, 30, 20])

In [106]: np.array([A, 0, 0, -A, 0, 0])

Out[106]:

array([array([20000, 30000, 20000]), 0, 0, array([-20000, -30000, -20000]),

0, 0], dtype=object)

你试图通过A[0, 1]。你试过那种表情了吗?

In [107]: A[0,1]

---------------------------------------------------------------------------

IndexError Traceback (most recent call last)

in ()

----> 1 A[0,1]

IndexError: too many indices

In [108]: A.shape

Out[108]: (3,)

It does not work because A is defined as 1d 3 element array. You can't index it with 2 values.

E is defined as 2d array, but all the rest are 1d. Is that intentional, or a mistake?

It looks like you are jumping into defining a complex array without understanding the basics of numpy array creation and indexing. Or are you coming from a MATLAB world where everything is 2d (or more)? In numpy arrays can be 1d.

python3 numpy array_python 3和numpy数组相关推荐

  1. 一、Numpy库与多维数组

    # Author:Zhang Yuan import numpy as np '''重点摘录: 轴的索引axis=i可以理解成是根据[]层数来判断的,0表示[],1表示[[]]... Numpy广播的 ...

  2. Numpy 一维、二维数组、size/dtype/shape属性、数组函数arange/linspace/logspace /diag/zeros/ones/random 、多维数组索引和筛选)

    参考: https://gitbook.cn/gitchat/column/undefined/topic/5e3bceadec8d9033cf924665 打开 IPython ,创建 Python ...

  3. Numpy入门教程:01. 数组的创建与属性

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 – Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: 执 ...

  4. NumPy来自现有数据的数组

    NumPy - 来自现有数据的数组 这一章中,我们会讨论如何从现有数据创建数组. numpy.asarray 此函数类似于numpy.array,除了它有较少的参数. 这个例程对于将 Python 序 ...

  5. python数组切片教程_手把手numpy教程【二】——数组与切片

    今天是Numpy专题的第二篇,我们来进入正题,来看看Numpy的运算. 上一篇文章当中曾经提到过,同样大小的数据,使用Numpy的运算速度会是我们自己写循环来计算的上百倍甚至更多.并且Numpy的AP ...

  6. python3 object_detection_demo_yolov3_async.py出现ImportError: numpy.core.multiarray failed to import

    python3 object_detection_demo_yolov3_async.py -h ImportError: numpy.core.multiarray failed to import ...

  7. Python3.1-标准库之Numpy

    这系列用来介绍Python的标准库的支持Numpy部分.资料来自http://wiki.scipy.org/Tentative_NumPy_Tutorial,页面有许多链接,这里是直接翻译,所以会无法 ...

  8. Python 数据分析三剑客之 NumPy(三):数组的迭代与位运算

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  9. Python 数据分析三剑客之 NumPy(二):数组索引 / 切片 / 广播 / 拼接 / 分割

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

最新文章

  1. js浮点数运算不精确 如何解决_解决 浏览器处理数字运算时精度丢失的方法
  2. linux服务器网卡做聚合,Linux物理网卡聚合及桥接
  3. 使用SQL Server Analysis Services Tabular Model建立分析模型
  4. Qt5.12编译MySQl5.1.37驱动
  5. iOS开发之share第三方登录以及分享
  6. 三分钟Docker-镜像、容器实战篇
  7. JEPLUS表格高级展示——JEPLUS软件快速开发平台
  8. 数据--第34课 - 二叉树的深层性质
  9. 报告显示,2019秋冬高端游南北极、欧洲最受欢迎,海岛热度不减
  10. 会声会影应该如何制作电影开幕效果
  11. 读书笔记--家庭教育1
  12. [转]阿里云的这群疯子
  13. Word2010入门
  14. 红外夜视摄像头 小方智能摄像头使用手记
  15. 定语从句和同位语重句的区别
  16. 《论语》原文及其全文翻译 学而篇4
  17. 推荐系统学习(二)--UserCF与ItemCF推荐算法
  18. if判断中的true和false
  19. QT与Symbian 3 , Meego,TCL彩电
  20. 详细设计(流程图、盒图、判定表、判定树)

热门文章

  1. Nature调查:6%中国科研人年薪超50万元!
  2. 来者不拒,“昊”课等你——直播微生物篇
  3. 一人一天发两篇Science,视频揭秘:植物如何在与病菌的斗争中取胜?
  4. 2019微生物组—宏基因组分析专题研讨会
  5. RandomForest:随机森林预测生物标记biomarker——回归
  6. seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot)
  7. B站《一天学会 MySQL 数据库》学习笔记
  8. LoRDEC: a tool for correcting errors in long sequencing reads 纠正长序列读取错误的工具
  9. tpmc tps oracle,TPS(每秒处理事务数)和TPMC(每分钟处理交易量)
  10. TensorFlow基础3-机器学习基础知识(解析法实现一元线性回归、多元线性回归)