如何利用mathematica解方程并输出
假设从文本文件读取一个数组,然后解方程,并将结果输出成另外一个文本文件。倾角如何写程序。snum=OpenRead["C:/11.txt"]in=ReadList[snu...
假设从文本文件读取一个数组,然后解方程,并将结果输出成另外一个文本文件。倾角如何写程序。
snum = OpenRead["C:/11.txt"]
in = ReadList[snum, Number]
x = 10^(in/20);
y = BesselJ[1, c]/BesselJ[3, c];
FindRoot[y == x, {c, 0.01}]
Export["C:/2.txt", y, "Table"]
在findroot环节老是报错,不知错在哪里?in的实际取值可以为{9,20,5},当然也可能是其他不确定的数据。如果手动每次输入一个in的取值,也能得到答案,但这样太复杂,特别是数组多的时候
而且这个程序只能允许一次,第二次执行就一直显示正在计算,等许久也没结果
真心求教。 展开
snum = OpenRead["C:/11.txt"]
in = ReadList[snum, Number]
x = 10^(in/20);
y = BesselJ[1, c]/BesselJ[3, c];
FindRoot[y == x, {c, 0.01}]
Export["C:/2.txt", y, "Table"]
在findroot环节老是报错,不知错在哪里?in的实际取值可以为{9,20,5},当然也可能是其他不确定的数据。如果手动每次输入一个in的取值,也能得到答案,但这样太复杂,特别是数组多的时候
而且这个程序只能允许一次,第二次执行就一直显示正在计算,等许久也没结果
真心求教。 展开
展开全部
in={9, 20, 5};
FindRoot[BesselJ[1, c] == BesselJ[3, c]*10^(#/20), {c, 0.01}] & /@ in
FindRoot[BesselJ[1, c] == BesselJ[3, c]*10^(#/20), {c, 0.01}] & /@ in
追问
得到的{{c -> 2.3469}, {c -> 1.44378}, {c -> 2.68405}},如何输出到文件呢?
追答
in={9, 20, 5};
ss=(FindRoot[BesselJ[1, c] == BesselJ[3, c]*10^(#/20), {c, 0.01}] & /@ in);
Export["C:/2.txt", ss]
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |