我必须使用log(x)函数构建图形,但构建器显示错误“DOMAIN ERROR”。 我认为这是因为日志不能包含x,但我不知道如何解决它。
......
int x0, y0 ,mash_x, mash_y;
float f(float x);
float f(float x)
{
return log10(x) + 3;
}
//----------------------------------------------------------------------------
int xk(float mx)//komp
{
return floor(x0+mx*mash_x);
}
//----------------------------------------------------------------------------
int yk(float my)//komp
{
return floor(y0-my*mash_y);
}
//----------------------------------------------------------------------------
void drawgraf(float xmin,float xmax)
{
float x, y;
int XK, YK;
x = xmin;
y = f(x);
XK = xk(x);
YK = yk(y);
Form1->Image1->Canvas->Pen->Color = clRed ;
Form1->Image1->Canvas->MoveTo(XK,YK);
while(x<=xmax)
{
x = x+0.01;
y = f(x);
XK = xk(x);
YK = yk(y);
Form1->Image1->Canvas->LineTo(XK,YK);
}
你能帮忙解决这部分代码吗?
float f(float x)
{
return log10(x) + 3;
}
如何在没有“DOMAIN ERROR”的情况下增加log10(x)+ 3; 感谢的;