找回密码
 注册
Simdroid-非首页
查看: 133|回复: 3

[数值计算] 关于编译错误的一个问题

[复制链接]
发表于 2012-11-12 17:54:26 | 显示全部楼层 |阅读模式 来自 上海
一个简单例子,有一个1*3的向量a,里面三个数都为整数,还有一个3*3向量b,里面9个数为实数,我要计算a.b,为了提高速度于是给出一个编译的程序
f = Compile[{{a, _Integer, 1}, {b, _Real, 3}}, a.b]
使
a = {1, 1, 1}; b = {{1., 2., 3.}, {1., 2., 3.}, {1., 2., 3.}};
运算
f = [{1, 1, 1}, {{1., 2., 3.}, {1., 2., 3.}, {1., 2., 3.}}]
就出现错误提示incomplete; more input is needed
请问谁知道具体错误在哪
发表于 2012-11-19 21:58:04 | 显示全部楼层 来自 山东济南
Simdroid开发平台
b应该改成{b,_Real,2};2维tensor就应该用3*3的矩阵表示了吧,但是运算是可以进行的,即使不改
回复 不支持

使用道具 举报

 楼主| 发表于 2012-11-19 22:23:07 | 显示全部楼层 来自 上海
treemantan 发表于 2012-11-19 21:58
b应该改成{b,_Real,2};2维tensor就应该用3*3的矩阵表示了吧,但是运算是可以进行的,即使不改 ...

谢谢,刚看了一下,我前面f后面怎么多了个=号,弄错了
应该
f[{1, 1, 1}, {{1., 2., 3.}, {1., 2., 3.}, {1., 2., 3.}}]
原来那个第三个数是表示维数,看中文翻译过来的解释怎么说成是秩(rank),搞得很迷惑,放个矩阵进去难道还要先把它的秩给求一下,应该翻译成层就好理解了,如果是3的话就要输入
f[{1, 1, 1}, {{{1.}, {2.}, {4.}}, {{1.}, {2.}, {3.}}, {{1.}, {2.}, \
{3.}}}]
回复 不支持

使用道具 举报

发表于 2012-11-24 23:43:41 | 显示全部楼层 来自 北京
derwille 发表于 2012-11-19 22:23
谢谢,刚看了一下,我前面f后面怎么多了个=号,弄错了
应该
f[{1, 1, 1}, {{1., 2., 3.}, {1., 2., 3.},  ...

:L
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 18:40 , Processed in 0.031001 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表