如何利用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的取值,也能得到答案,但这样太复杂,特别是数组多的时候
而且这个程序只能允许一次,第二次执行就一直显示正在计算,等许久也没结果
真心求教。 展开
2个回答
展开全部
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]
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询