我必须为广泛的参数空间求解一个非线性方程组。我使用FindRoot,它对初始起点敏感,所以我必须通过手动和反复试验和绘图来完成,而不是将方程放在循环或表格中。Mathematica附加矩阵
所以我想要做的就是创建一个数据库或矩阵具有固定的列数,但是行数可变,所以我可以跟上新结果追加它,当我为他们解决。
现在我用类似:
{{{xx, yy}} = {x, y} /. FindRoot[{f1(x,y) == 0,f2(x,y)==0}, {x,a},{y,b}],
g(xx,yy)} >>> "Attempt1.txt"
我在哪里解决两个变量,然后存储变量的变量,也是一个函数g(XX,YY)。
这似乎为我工作,但结果不是矩阵任何以上,但该数据被存储为一些文本类型的事情。
有反正我能得到这个留一个矩阵或者我把每一个我用手解决FindRoot时间加入行是数据库?同样,我需要手动完成FindRoot,因为它对起点敏感,我不知道没有先绘制好的起点。
非常感谢
我不明白为什么这不是一个矩阵了。考虑这个'Put [{{1,2},{3,4}},“tmp.mx”];获取[“tmp.mx”]'这是再次导入后完全相同的表达式。 – halirutan 2012-02-03 07:08:17
它将所有内容都存储为一个条目。假设我做了data = Import [“temp.mx”],然后我做了维[数据],它回答1.我不知道如何提取信息。当我做数据[[1]]时,它输出整个数据。我无法提取个别信息。当我做数据时[[1,1]]给出错误。 – user1169757 2012-02-04 00:34:43
所以我在For循环中做了22次{x1,x2,x3,x4,x5,x6,x7,x8,x8,x10} >>>“temp.mx”。现在,当我做数据=导入[“temp.mx”,“表”],然后做Dimensions [数据]我得到110.我真正想要的是一个10列和22行的矩阵。每行/记录中的每个10个数据都存储为5个数据,总维数为5x22 = 110。例如,data [[1]] = {“{24258.225756005108”,“0.0001254874133927587”,\ “0.10668678000535163”,}等等。无论如何,我可以将数据存储在干净的10x22矩阵中,其中数据[[i,j]]表示第i个记录的第j个值。谢谢。 – user1169757 2012-02-04 00:46:01