Python 属性错误:cos

2023-12-11

我正在尝试使用 Python2.7 数值求解方程。这是整个代码:

from sympy import *
from sympy import Symbol
from sympy.solvers import nsolve
from scipy import *
from pylab import *
import numpy as np

# Symbols
theta = Symbol('theta')
phi = Symbol('phi')
phi0 = Symbol('phi0')
H0 = Symbol('H0')
# Constants
a = 0.05 
b = 0.05**2/(8*pi*1e-7)
c= 0.001/(4*pi*1e-7)
phi0 = 60*pi/180 
H0 = -0.03/(4*pi*1e-7)
def m(theta,phi):
    return np.array([sin(theta)*cos(phi), sin(theta)*cos(phi), cos(phi)])
def h(phi0):
    return np.array([cos(phi0), sin(phi0), 0])
def k(theta,phi,phi0):
    return np.vdot(m(theta,phi),h(phi0))
def F(theta,phi,phi0,H0): 
    return -(a*H0)*k(theta,phi,phi0)+b*(cos(theta)**2)+c*(sin(2*theta)**2)+sin(theta)**4*sin(2*phi)**2
def F_phi(theta,phi,phi0,H0):
    return simplify(diff(F(theta,phi,phi0,H0),phi))
def G(phi):
    return F_phi(pi/2,phi,phi0,H0)
solution = nsolve(G(phi), phi)
print solution

这是我的回溯:

Traceback (most recent call last):
File "Test.py", line 33, in <module>
solution = nsolve(G(phi), phi)
File "Test.py", line 32, in G
return F_phi(pi/2,phi,phi0,H0)
File "Test.py", line 30, in F_phi
return simplify(diff(F(theta,phi,phi0,H0),phi))
File "Test.py", line 28, in F
return -(a*H0)*k(theta,phi,phi0)+b*(cos(theta)**2)+c*(sin(2*theta)**2)+sin(theta)**4*sin(2*phi)**2
File "Test.py", line 26, in k
return np.vdot(m(theta,phi),h(phi0))
File "Test.py", line 22, in m
return np.array([sin(theta)*cos(phi), sin(theta)*cos(phi), cos(phi)])
AttributeError: cos

我正在使用 sympy、numpy 和 pylab 库。所以,我对 cos 函数没有任何问题。有什么帮助吗?


问题是使用星号导入而不是在不同的命名空间下导入每个包。

这个导入函数sympy.functions.elementary.trigonometric.cos在下面cos name:

from sympy import *

之后,您导入<ufunc 'cos'>以...之名cos,覆盖之前的定义:

from scipy import *

然后,它会覆盖之前的cos函数由完全相同的函数的另一个副本(来自 matplotlib 包):

from pylab import *

这也导入相同的<ufunc 'cos'>但在np.cos name. 这是导入东西的正确方法:

import numpy as np

最后,您留下了 cos 函数的副本,它知道如何将自身应用于浮点数,而不是 sympy 对象。当您尝试将该函数应用于 sympy 对象时,例如phi你得到AttributeError。总而言之,这个特定问题的解决方案是修复导入并了解您是否需要 sympy 中的函数还是 numpy 中的函数。

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

Python 属性错误:cos 的相关文章

随机推荐

  • 在 powershell 中聚焦 IE 窗口

    My code ie new object com InternetExplorer Application ie navigate http localhost ie visible true ie fullscreen true 但是全
  • 如何在 RMI 方法的参数中传递对象?

    我正在尝试在 RMI 方法中添加参数 当我添加例如String一切正常 但我不确定是否可以传递我创建的对象 我是 RMI 新手 所以我的代码非常简单 HelloIF public interface HelloIF extends Remo
  • 尝试使用 JavaScript 从 azure 获取访问令牌时无法加载响应数据

    我想为我在 azure 上注册的应用程序获取访问令牌 为此 我编写了一段代码来访问其余 API 这是我的代码
  • 数据透视表字段显示除空白之外的所有内容

    我需要在刷新后更新数据透视过滤器以选择除blank 这里的其他答案利用 ShowAllItems方法对我不起作用 因为它也会显示没有数据的项目 下面的枢轴选项Display 我尝试使用在另一个问题上找到的另一个解决方案 PivotItems
  • 通过自定义协议符合 MKAnnotation 协议

    我想轻松地在地图上获取 2 个或更多不同的对象类型 Swift 2 0 我想使用协议 我创建了一个这些对象也需要遵守的协议 我假设现在任何符合 PinProtocol 的项目本质上与 MKAnnotation 相同 只是更多 protoco
  • Android Google Play / Drive Api

    您好 我正在使用 Google Drive Api 通过 AppDataFolder 工具来存储数据库 我有一个测试应用程序在一台设备上成功运行 我能够上传 更新 删除 下载数据库文件并将其重新集成到程序中 没有任何问题 我遇到的问题是 当
  • 正则表达式在javascript中匹配反向组

    我想匹配的字符串don t have abc def or ghi 相反的情况很简单 abc def ghi 我该如何扭转这种情况 我不想 abc def ghi 因为那里会有更多的 逻辑 如果这就是它的作用的话 如何逆转整场小组赛 或无论
  • 为什么我的闰年算法不起作用(Java)? [复制]

    这个问题在这里已经有答案了 这是我所拥有的 Scanner input new Scanner System in System out print Enter a year int Year input nextInt System ou
  • 从sql server中的表中分割逗号分隔值

    我有一个SQL table其中有多少条记录 我想知道其中有多少个名字以及一个名字在其中出现的时间 表名Mst Name john smith alax rock smith alax sira john rock rock sira 我想知
  • C#:使用单独的线程填充 UI

    我试图从我收到的申请中找出一些意义 以便追踪错误的根源 有一些代码 此处进行了简化 创建了四个线程 这些线程依次填充主窗体上的列表视图 每个方法从数据库获取数据并从资源 dll 检索图形 以便直接填充图像列表和列表视图 从我在这里读到的内容
  • Ubuntu 上的 R BayesVarSel 安装

    我正在尝试安装BayesVarSel封装在一个ubuntu12盒上AWS EC2 它在我的 Windows 7 机器上运行良好 R 2 15 1 I ve attached a screenshot of the error message
  • 适用于 Objective C 的 Android NDK

    我想使用 Android NDK 访问 Objective C 代码 可以吗 有没有办法访问现有的 Objective C 代码 现在 是的 UPDATE 可分配已死 Try 可适配的SDK or 水晶SDK 两者都是基于Android N
  • Bootstrap 3 中的堆叠选项卡

    我正在尝试使用 Bootstrap 3 中的 Tab jquery 插件实现左对齐堆叠选项卡 其中选项卡垂直呈现在选项卡内容的左侧 而不是顶部 当我尝试以下操作时 ul class nav nav tabs nav stacked li a
  • Java中如何从HTML文件中获取值?

    我需要从 HTML 文件中获取一个值 下面示例中的 abc 如下所示
  • 查找元素中未包含在 html 标签中的文本并将其用

    括起来

    div class menu content h3 Lorem Ipsum h3 TEXT THAT NEEDS TO BE WRAPPED ul li List Item 1 li ul div 我得到了上面的代码 它是自动生成的 所以我
  • ReaderWriterLockSlim 是正确的选择吗?

    我正在为 Windows Azure 中运行的应用程序编写一个全局错误处理程序 记录器 当应用程序中发生错误时 将执行许多需要原子发生的操作 我需要防止在前一个错误完成之前记录错误 同时 我希望根据需要读取日志 我最初的想法是使用监视器 锁
  • Android中Looper、Handler、MessageQueue三者之间的关系是什么?

    我已经检查了官方 Android 文档 指南Looper Handler and MessageQueue 但我无法得到它 我是 Android 新手 对这些概念非常困惑 A Looper是一个消息处理循环 它读取并处理来自MessageQ
  • 在 xmlns clr 命名空间中找不到 EventToCommandBehavior:Prism.Behaviors

    我正在开发 Xamarin Forms 项目 在 Prism 6 3 之前我使用过 6 2Corcav Behaviors包裹 我不需要传递参数 所以效果很好 但是 在iOS项目中AppDelegate我需要运行这一行 Corcav Beh
  • 使用带有 char 指针的 malloc 时出现分段错误

    我是 C 语言和学习结构的新手 我在尝试着malloc大小为 30 的 char 指针 但它给出了分段错误 核心转储 我在互联网上搜索了它 但无法解决这个问题 任何帮助都感激不尽 可能我正在访问char 结构体成员错误 typedef st
  • Python 属性错误:cos

    我正在尝试使用 Python2 7 数值求解方程 这是整个代码 from sympy import from sympy import Symbol from sympy solvers import nsolve from scipy i