任意数学表达式计算
2009-04-15 20:03:45 来源:WEB开发网核心提示: 参数如要计算sin[2*X+30]在1到10的值,实现方法为:For(inti=1;i<10;i++){Val=GetResultFrString1(“sin[2*X+30]”,”X”,double(i));}如要计算sin[Y*X+3
参数
如要计算sin[2*X+30]在1到10的值,实现方法为:
For (int i=1;i<10;i++)
{
Val= GetResultFrString1(“sin[2*X+30]”,”X”,double(i));
}
如要计算sin[Y*X+30]在X为1到10,Y为20时的值实现方法为:
For (int i=1;i<10;i++)
{
Val= GetResultFrString1(“sin[Y*X+30]”,”X”,double(i),”Y”,20);
}
3.样例分析
3.1例一:绘制任意函数的波形
结合本人编写的DataShow类,用CExpress类计算表达式值,用DataShow显示绘图结果。绘图用点越多,绘图越精确,但时间较长,本例子中画100个点,程序运行结果如下:
函数为:100*pow[2,(sin[X])],(注意:符号函数嵌套符号函数需加括号)
图片看不清楚?请点击这里查看原图(大图)。
函数:100*sign[sin[X]] 注:sign为符号函数,参数为正时1,为负时得-1,为零时得0.
绘图结果如下:
图片看不清楚?请点击这里查看原图(大图)。
更多精彩
赞助商链接