Python中文
首页
教程
问答
标签
搜索
登录
注册
尝试创建矩阵时出现TypeError(“无法理解数据类型”)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试着用sympy来微分一组方程,我必须用我计算的导数来创建一个2x2矩阵。这是我的代码:</p> <pre><code>#import numpy as np from numpy import * from scipy import * from sympy import * x1 = 3; x2 = 0; x3 = 0; x4 = 3 y1 = 3; y2 = 3; y3 = 0; y4 = 0 s = Symbol('s') t = Symbol('t') N1 = (s+1)*(t+1)/4 N2 = (1-s)*(t+1)/4 N3 = (1-s)*(1-t)/4 N4 = (s+1)*(1-t)/4 x = (x1*N1)+(x2*N2)+(x3*N3)+(x4*N4) y = (y1*N1)+(y2*N2)+(y3*N3)+(y4*N4) dxs = diff(x, s) dxt = diff(x, t) dys = diff(y, s) dyt = diff(y, t) #print type(dxs).__name__ print dxs, dxt, dys, dyt J = Matrix([dxs, dys], [dxt, dyt]) #J = np.matrix((dxs, dys), (dxt, dyt)) print J </code></pre> <p>但是,我得到一个“数据类型未找到”错误。所以,我尝试使用type()函数来打印最后得到的导数的数据类型。我有两种不同的类型。当最后的导数只是数字时,type()返回'Rational'。当最终导数中包含变量“s”或“t”时,它返回“Add”(这可以通过为x2、x3、y3和y4指定非零值来实现)。如果有人能帮助我创建这个矩阵,我将非常感谢。我也试过用</p> ^{pr2}$ <p>而不是</p> <pre><code>J = Matrix((dxs, dys), (dxt, dyt)) </code></pre> <p>现在我得到'type'对象没有属性<code>'__getitem__'</code>错误。我对python非常陌生,我已经尽我所能在网上找到解决这个问题的方法,但是我失败了。谢谢你的帮助。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>找到了解决办法。对不起,浪费时间了。我在定义矩阵时使用了错误的语法。而不是</p> <pre><code>J = Matrix([dxs, dys], [dxt, dyt]) </code></pre> <p>我应该用</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
9 回答
如何合并多个xarray数据变量及其坐标?
9 回答
如何合并多个列中具有重复值的行
7 回答
如何合并多个唯一id
4 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
2 回答
如何合并多个字典并添加同一个键的值?(Python)
8 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
4 回答
如何合并多个数据帧
3 回答
如何合并多个数据帧并使用Pandas为假人添加列?
9 回答
如何合并多个数据帧并按时间戳排序
8 回答
如何合并多个数据帧的列表并用另一个lis标记每列
5 回答
如何合并多个数据框中的列
5 回答
如何合并多个文件?
4 回答
如何合并多个查询集?
4 回答
如何合并多个绘图?
4 回答
如何合并多个词典
7 回答
如何合并多个输入数据集(数据帧)?
7 回答
如何合并多条记录中拆分的文本行
6 回答
如何合并多索引列datafram
8 回答
如何合并多级(即多索引)数据帧?
1 回答