真正实现C语言绘制数学函数图像.docVIP

  • 121
  • 0
  • 约2.42千字
  • 约 7页
  • 2019-06-24 发布于浙江
  • 举报
用C语言画函数图像 横纵坐标单位长度比校正(3:5) 真正的余弦函数 #includemath.h #includestdio.h int sishewuru(float a); void main() { int n = 450; float a[500], b[500]; int i,j; a[0] = b[0] = 0; for (i = 1; i n; i++) { a[i] = a[i - 1] + 0.01; b[i] = cos(a[i]); } int A[500],B[500]; for (i = 0; i n; i++) { //printf(sin(%f)=%f\n, a[i], b[i]); a[i] = 100 * a[i]; b[i] = 55 * b[i]; A[i] = sishewuru(a[i]); B[i] = sishewuru(b[i])+60; //printf(sin(%d)=%d\n, A[i], B[i]); } for ( i = 100; i =0; i--) { for ( j = 0; j n; j++) { if (i==B[j]) { printf(*); } else { printf( ); } } printf(\n); } } int sishewuru(float a) { int m; if (a-floor(a)0.5) { m = a; return m; } else { m = a + 1; return m; } } 程序优化 调节输出框大小,字符显示大小 确定函数的定义域 确定定义域上的步长 计算函数值 确定函数值放大系数 确定定义域恰好落在显示的区间内 确定坐标的单位长度与字符实际长度之间的换算关系 确定打点的顺序与坐标的关系 定义域在的正弦函数图像 定义域在的正切函数图像 定义域在的倒正切函数图像 #includemath.h #includestdio.h int sishewuru(float a); void main() { float minx = -2*3.14, maxx = 2*3.14,dx, x[500],y[500],k;//确定定义区间 int lx = 500, i,j, Y[500]; dx = (maxx - minx) / 450; x[0] = minx; y[0] = 0.1 / sin(x[1]); for (i = 1; i lx; i++) { x[i] = x[i - 1] + dx; y[i] =0.1/sin(x[i]); } k = 0.6/ dx;//扩大系数 for (i = 0; i lx; i++) { Y[i] = sishewuru(k*y[i]); //printf(%d\n, Y[i]); } for (i = 0; i 130; i++) { for (j = 0; j lx; j++) { if (i == -Y[j]+65) { printf(*); } else { printf( ); } } printf(\n); } } int sishewuru(float a) { int m; if (a-floor(a)0.5) { m = a; return m; } else { m = a + 1; return m; } } 定义域在半径为的圆 #includemath.h #includestdio.h int sishewuru(float a); void main() { float minx = -2*3.14, maxx = 2*3.14,dx, x[500],y[2*500],k,r=0.5*maxx;//确定定义区间 int lx = 500, i,j, Y[2*500]; dx = (maxx - minx) / 450; x[0] = minx; y[0] = 0.1 / sin(x[1]); for (i = 1; i lx; i++) { x[i] = x[i - 1] + dx; y[i] =sqrt(r*r-x[i]*x[i]);//确定函数表达式 y[lx + i] = -1*y[i]; } k = 0.6/ dx;//扩大系数 for (i = 0; i 2*lx; i++

文档评论(0)

1亿VIP精品文档

相关文档