zhouyong111111 发表于 2013-5-1 10:01:33

百思不得其解???

function on.paint(gc)
   var.store("start_fwj",start_r)
   var.store("start_r",start_r)
   var.store("end_r",end_r)
   var.store("hqx_l",hqx_l)   
   var.store("xyd_l",xyd_l)   
   var.store("l",l)
    local zl_x
    zl_x=math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)")
gc:drawString("坐标N:"..zl_x,50,120)
end
错误提示:attempt to concatenate local 'zl_x' (a nil value)

哪里出问题了自己都快整{:drool:}请教大神帮忙!!!!!!!!

zhouyong111111 发表于 2013-5-1 10:14:45

function on.paint(gc)
   start_fwj=36.8596
   start_r=100
   end_r=300
   hqx_l=80
   xyd_l=60
   
   var.store("start_fwj",start_r)
   var.store("start_r",start_r)
   var.store("end_r",end_r)
   var.store("hqx_l",hqx_l)   
   var.store("xyd_l",xyd_l)   
   var.store("l",l)
    local zl_x
    zl_x=math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)")
gc:drawString("坐标N:"..zl_x,50,120)
gc:drawString("坐标E:",180,120)
gc:drawString("方位角:   ",50,160)
gc:drawString("角度显示:",50,200)
end


问题依旧

urill 发表于 2013-5-1 10:19:12

var.store("zl_x",math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)"))


(我不懂,只是猜测)

zhouyong111111 发表于 2013-5-1 10:25:02

呵呵 没有通过编译

wtof1996 发表于 2013-5-1 12:23:56

本帖最后由 wtof1996 于 2013-5-1 12:29 编辑

表达式有问题吧
局部稍微修改一下:
local zl_x, err;
zl_x, err =math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)");
print(err);
输出err为940,表明存在错误,当然第一个返回值就是nil了。后面根本没有检查是否计算成功就直接使用当然会挂了。
查《参考指南》得知,940代表的错误是“自变量过多。表达式或方程包含过多自变量且无法计算。”

imath 发表于 2013-5-1 12:28:47

编译无法通过再正常不过,我的有些程序就调试过接近100次

zhouyong111111 发表于 2013-5-1 12:42:05

{:028:}

zhouyong111111 发表于 2013-5-1 13:01:18

nint()为TI计算器的内部库函数积分公式 表达式的建立所用的变量应该是LUA 还是计算器内部的?
页: [1]
查看完整版本: 百思不得其解???