c++打印离散的-2tsin(t^2),0≤t≤8,从0开始,以△t=0.01、0.02、0.04、0.08、0.1、0.25、0.5、1等为间隔绘制成图
时间: 2023-10-20 09:25:27 浏览: 155
一个基于C++的打印图案
可以使用以下代码来实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
double t, dt;
int i, n;
double y;
n = 8 / 0.01; // 绘制的点数
for (i = 0; i <= n; i++) {
t = i * 0.01;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 0.02;
n = 8 / 0.02;
for (i = 0; i <= n; i++) {
t = i * 0.02;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 0.04;
n = 8 / 0.04;
for (i = 0; i <= n; i++) {
t = i * 0.04;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 0.08;
n = 8 / 0.08;
for (i = 0; i <= n; i++) {
t = i * 0.08;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 0.1;
n = 8 / 0.1;
for (i = 0; i <= n; i++) {
t = i * 0.1;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 0.25;
n = 8 / 0.25;
for (i = 0; i <= n; i++) {
t = i * 0.25;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 0.5;
n = 8 / 0.5;
for (i = 0; i <= n; i++) {
t = i * 0.5;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
dt = 1;
n = 8 / 1;
for (i = 0; i <= n; i++) {
t = i * 1;
y = -2 * t * sin(t * t);
printf("%.2f %f\n", t, y);
}
return 0;
}
```
这段代码会先以0.01的间隔从0到8绘制图像,然后以0.02、0.04、0.08、0.1、0.25、0.5、1的间隔分别绘制图像。每个点的横坐标是t,纵坐标是-2tsin(t^2)。运行该代码可以得到一系列数据点,可以使用其他工具将这些点绘制成图像。
阅读全文