Sympy 到 numpy 会导致 AttributeError: 'Symbol' object has no attribute 'cos'

2023-12-12

我正在尝试使用 sympy 进行偏导数,我想将其转换为函数,以便我可以替换值并估计 t_1、t_2 的某些值的导数。我使用的代码如下:

import sympy as sp
import numpy as np
from sympy import init_printing
init_printing()
t_1,t_2,X_1,X_2,Y_1,Y_2,X_c1,X_c2,Y_c1,Y_c2,a_1,a_2,psi_1,psi_2,b_1,b_2= sp.symbols('t_1 t_2 X_1 X_2 Y_1 Y_2 X_c1 X_c2 Y_c1 Y_c2 a_1 a_2 psi_1 psi_2 b_1 b_2')

X_1=X_c1 + (a_1 * sp.cos(t_1) * sp.cos(psi_1)) - ((b_1) * sp.sin(t_1)* sp.sin(psi_1))

X_2=X_c2 + (a_2 * sp.cos(t_2) * sp.cos(psi_2)) - ((b_2) * sp.sin(t_2)* sp.sin(psi_2))

Y_1=Y_c1 + (a_1 * sp.cos(t_1) * sp.sin(psi_1)) + ((b_1) * sp.sin(t_1)* sp.cos(psi_1))

Y_2=Y_c2 + (a_2 * sp.cos(t_2) * sp.sin(psi_2)) + ((b_2) * sp.sin(t_2)* sp.sin(psi_2))

D=(((X_2-X_1)**2) + ((Y_2-Y_1)**2))**0.5

y_1=sp.diff(D,t_1)

y_2=sp.diff(D,t_2)

f=sp.lambdify(t_1, y_1, "numpy")

g=sp.lambdify(t_2, y_2, "numpy")

当我尝试使用以下方法替换 t_1 的值时:

f(np.pi/2)

我收到以下错误:

AttributeError   Traceback (most recent call last)
<ipython-input-26-f37892b21c8b> in <module>()
----> 1 f(np.pi/2)

/users/vishnu/anaconda3/lib/python3.5/site-packages/numpy    /__init__.py in <lambda>(_Dummy_23)

AttributeError: 'Symbol' object has no attribute 'cos'

我参考了以下链接:

Python 中出现此错误(AttributeError: 'Mul' object has no attribute 'cos')的原因是什么?

Python 属性错误:cos

但我认为我导入的 numpy 和 sympy 并不与这些链接中提到的情况发生冲突。任何帮助表示赞赏。


当您调用时会发生此类错误np.cos(a_symbol),这显然将 numpy 中的底层翻译为a_symbol.cos().

lambdify用于数值计算 - 它取代了所有sp打电话给np来电。但你所做的只是象征性的。这足以解决你的问题:

f1 = lambda t: y_1.subs({t_1: t})
f2 = lambda t: y_2.subs({t_2: t})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sympy 到 numpy 会导致 AttributeError: 'Symbol' object has no attribute 'cos' 的相关文章

  • 测试从常规函数调用 python 协程(async def)

    假设我有一些异步协程 它可以获取一些数据并返回它 像这样 async def fetch data args result await some io return result 基本上 这个协程是从协程链中调用的 初始协程是通过创建任务来
  • Django 多个外键,相同的相关名称

    我想创建一个模型 1 其中具有相同其他模型 2 的多个外键 我希望这些外键具有相同的related name因为每个外键将指向 model 2 的不同实例 因为我需要所有外键的一个反向关系 也许一个例子会更明确 class Parent M
  • 基于坐标合并数据框

    我有两个数据框 两个数据框都包含经度和纬度列 我想根据经度和纬度列合并这两个数据框 首先 我应用了普通merge函数 它产生空的结果数据框 我调查发现两个数据框没有相同的经度和纬度列 然后我尝试了另一个函数merge asof并将方向设置为
  • 如何从 fastapi 响应返回 PIL 图像文件列表?

    我使用 fastapi 创建了一个rest api 它将文档 pdf 作为输入并返回它的 jpeg 图像 我使用一个名为 docx2pdf 的库进行转换 from docx2pdf import convert to from fastap
  • 并行 dask for 循环比常规循环慢?

    如果我尝试使用 dask 并行化 for 循环 它最终会比常规版本执行得慢 基本上 我只是按照 dask 教程中的介绍性示例进行操作 但由于某种原因它在我这边失败了 我究竟做错了什么 In 1 import numpy as np from
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • 使用另一个数据帧在数据帧中创建子列

    我对 python 和 pandas 很陌生 在这里 我有一个以下数据框 did features offset word JAPE feature manual feature 0 200 0 aa 200 200 0 200 11 bf
  • 为什么python+sqlite3特别慢?

    我尝试使用 Python 2 7 4 sqlite3 和 Firefox SQLite Manager 0 8 0 处理对同一数据库的相同请求 在小型数据库 8000 条记录 上 Python 和 Firefox 都运行得很快并且给出了相同
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n
  • Pyramid 调试工具栏通过 HTTP 而不是 HTTPS 提供静态内容

    在我们的测试服务器上 我们使用金字塔调试工具栏 http docs pylonsproject org projects pyramid debugtoolbar en latest 但是 它生成http 指向静态内容 如 CSS 和 Ja
  • 通过热图绘制横截面

    我有一个形状数组 201 201 我想通过数据绘制一些横截面 但我在访问相关点时遇到问题 例如 假设我想绘制由生成的图中的线给出的横截面 from pylab import Z randn 201 201 x linspace 1 1 20
  • pysftp 与 Paramiko

    我有一个简单的要求 即在 SFTP 服务器上放置一个文件 我找到了 pysftp 和 Paramiko 库 它们似乎允许我做到这一点 并使用 Paramiko 开发了一个简单的应用程序 但我找不到比较这两个库的合适来源 因此我可以决定我可以
  • NumPy 或 SciPy 计算加权中位数

    我正在尝试自动化 JMP 执行的流程 分析 gt 分布 输入 A 列作为 Y 值 使用后续列 作为 权重 值 在 JMP 中 您必须一次执行一列 我想使用 Python 循环所有列并创建一个数组 显示每列的中位数 例如 如果质量数组为 0
  • 用于查找列表/集合中唯一元素的代码

    根据上面阴影部分的面积应该代表 A XOR B XOR C XOR A AND B AND C 如何将其翻译成Python代码 代码必须与上述表达式中提供的集合操作密切相关 至少这是首选 该代码必须足够通用 能够处理 3 个以上的列表 UP
  • 使用 Pillow 和 Numpy 进行图像推导

    I have two images and 我想导出一个只有红色 Hello 的图像 例如 所以我正在运行一个简单的推导python脚本 from PIL import Image import numpy as np root root
  • Numpy 通过一个数组的值总结另一个数组

    我正在尝试找到一种矢量化方法来完成以下任务 假设我有一个 x 和 y 值的数组 请注意 x 值并不总是整数并且可以为负数 import numpy as np x np array 1 1 1 3 2 2 2 5 4 4 dtype flo
  • 是否可以将 ppm 文件从 p3 转换为 p6 或使用pillow lib 打开 ppm p3 文件

    是否可以将 ppm 文件从 p3 转换为 p6 或使用pillow lib 打开并读取 ppm p3 文件 我实际上有 ppm p3 文件 并尝试使用pillow lib 将它们转换为 jpg 但不幸的是 它不读取 p3 文件 只读取 p6
  • 在 sympy 绘图中,如何获得具有固定纵横比的绘图?

    如果我用这个片段画一个圆 from sympy import x y symbols x y p1 plot implicit Eq x 2 y 2 1 aspect ratio 1 1 我会得到一个像这样的图形窗口 现在长宽比不是我所期望
  • 打包布尔数组需要通过 int (numpy 1.8.2)

    我正在寻找更紧凑的方式来存储布尔值 numpy 内部需要 8 位来存储一个布尔值 但是np packbits允许打包 他们 这真是太酷了 问题是要打包在4e6字节数组a32e6字节我们需要首先使用的布尔值数组256e6字节将布尔数组转换为

随机推荐