数学建模社区-数学中国
标题:
data段需要输入分数求解?
[打印本页]
作者:
zhangc_ningbo
时间:
2012-10-5 20:08
标题:
data段需要输入分数求解?
今天在用lingo编程序的时候,发现data段输入分数会出现语法错误。但是为了计算的精确,必须要输入分数,有没有谁有好的方法解决这个问题,小弟先谢谢各位了!
作者:
madio
时间:
2013-7-13 16:43
lingo不是用来做精确计算的数学软件,所以这里想精度高一些就是使用有效数字多一些的小数。
作者:
qlb061
时间:
2013-7-13 18:52
本帖最后由 qlb061 于 2013-7-13 18:56 编辑
Lingo在数值输入时可以使用分数,但是它会用浮点数值进行计算,一般浮点精度至少可以表示小数点
后面16位,不同机器或者不同版本可能有所不同。
比如,计算整数1-100的倒数:
model:
sets:
mydata/1..100/:v;
endsets
data:
@text() = @writefor(mydata(i):@name(v(i)),': ', @format('.20f',v(i)),@newline(1));
enddata
calc:
@set('terseo',1);!terse output only;
@for(mydata(i): v(i) = 1 / i);
@set('terseo');!default setting;
endcalc
复制代码
Lingo11.0会得到如下部分结果:
Feasible solution found.
Total solver iterations: 0
V( 1): 1.00000000000000000000
V( 2): 0.50000000000000000000
V( 3): 0.33333333333333331000
V( 4): 0.25000000000000000000
V( 5): 0.20000000000000001000
V( 6): 0.16666666666666666000
V( 7): 0.14285714285714285000
V( 8): 0.12500000000000000000
V( 9): 0.11111111111111110000
V( 10): 0.10000000000000001000
复制代码
作者:
snowwomanPeter
时间:
2014-7-17 17:49
lingo中输入分数会将其当成出发看待,data中不能进行数值的计算,所以会出现错误。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5