dsatttt 发表于 2011-1-2 13:23:03

数组的生成问题

Mathematica 里面数组必须声明才能使用吗?如果事先不知道数组的维数应该怎么声明?不像matlab里面一样可以直接使用吗?

guocong89 发表于 2011-1-2 15:22:17

1# dsatttt
mathematica里没有数组的概念,虽然列表看起来很像数组。

matlab里使用a(3)=12就会自动生成一个三维向量(如果a没有定义的话),mathematica里这么用就会出错的,我也没有发现过有什么解决方法。所以你还是得事先定义a=Range之类的。

snowhunter 发表于 2011-1-3 09:20:31

本帖最后由 snowhunter 于 2011-1-3 09:21 编辑

我认为先定义一个空表就好了。不知以下回复对你有无帮助:Clear["`*"];
alist = {};
AppendTo;
alist

AppendTo;
alist

ggggwhw 发表于 2011-1-7 12:54:01

是数组就必然有长度,你不定义长度就无法找到结尾,但是mathematica 中数组的长度却是动态的,你可以通过3#snowhunter 的办法改变数组的长度,但是不管如何变化它总是有长度的,有了长度,那么每个位置上就有了元素,
你可以直接这样定义一个3×2的数组.arr = Array,这里的number可以是任意数字,字母,符号.也可以用Null表示没有元素,实际上它的元素就是Null.
需要修改哪一个数字时直接写上arr[[行号,列号]]=numberi;
你如果觉得这样定义数组太麻烦的话,你可以不用数组啊.
直接定义一个字头arr=.;,然后写上arr[行号,列号]=2.43;表示数组的第3行5列的数字是2.43
只不过这种写法不是数组也能起到数组的作用.

dsatttt 发表于 2011-1-7 19:00:39

非常感谢 以后多向你们请教
页: [1]
查看完整版本: 数组的生成问题