Y ykc1982 Unregistered / Unconfirmed GUEST, unregistred user! 2003-02-25 #1 请高手指点! 在BCB的Form中怎样绘出函数图象? 是数学函数,如:y=f(x) 能够实现将送高分>=100!
S Siney Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-02 #2 这要看具体什么函数了,比较范化的解决方法就是你要自己解析函数的写法, 也就是要用到词法分析和语义分析了,比如f(x)=sin(x)+cos(x)这样的函数, 你需要词法分析后得到sin(x),+,cos(x)然后在调用相应的函数计算函数值, 然后根据x,f(x)在一定定义域内用划线(因为是离散的)函数重构原函数图象的 离散图形.
这要看具体什么函数了,比较范化的解决方法就是你要自己解析函数的写法, 也就是要用到词法分析和语义分析了,比如f(x)=sin(x)+cos(x)这样的函数, 你需要词法分析后得到sin(x),+,cos(x)然后在调用相应的函数计算函数值, 然后根据x,f(x)在一定定义域内用划线(因为是离散的)函数重构原函数图象的 离散图形.
Y ykc1982 Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-02 #3 你好!Siney,看了你的回复。谢谢你先! 请教具体如何实现:“x,f(x)在一定定义域内用划线(因为是离散的)函数重构原函数图象的 离散图形.”
S Siney Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-03 #5 就是用lineto这样的函数,比如简单的f(x)=x+2这样的函数 你要话x在[0,100]之间的函数图像,你需要在0-100之间取样,具体进行多少次 取样要看你的绘图精度决定,比如10次的话的你需要 for(x=0;x<=100;x+=10) { int y=x+2; lineto(x1,y1)-(x,y);//x1,y1是上次点的位置 } 以上是c语言伪代码就可以画出f(x)=x+2在[0,100]之间的函数图像了
就是用lineto这样的函数,比如简单的f(x)=x+2这样的函数 你要话x在[0,100]之间的函数图像,你需要在0-100之间取样,具体进行多少次 取样要看你的绘图精度决定,比如10次的话的你需要 for(x=0;x<=100;x+=10) { int y=x+2; lineto(x1,y1)-(x,y);//x1,y1是上次点的位置 } 以上是c语言伪代码就可以画出f(x)=x+2在[0,100]之间的函数图像了
Y ykc1982 Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-03 #6 谢谢两位! 接受答案了、、、 不过希望能继续讨论相关知识!~