请用C++语言编写代码模拟布朗运动,并保存1000个时间序列数据
时间: 2023-03-14 13:26:10 浏览: 82
我可以提供一个参考示例,你可以参考它来实现你的需求:#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// 布朗运动参数
#define m 1.0
#define k 1.0
#define c 0.2
#define F 0.3
int main()
{
// 初始参数
double x0=0.2;
double v0=0.0;
double t=0.0;
double dt=0.001;
double a, v, x;
FILE *fp;
fp = fopen("Time_Series_Data.txt", "w");
if(fp == NULL)
{
printf("Error!\n");
return 0;
}
// 计算1000个时间序列数据
int i;
for (i = 0; i < 1000; i++) {
a = -(c / m) * v0 - (k / m) * x0 + (F / m);
v = v0 + a * dt;
x = x0 + v * dt;
fprintf(fp, "%f\t%f\t%f\n", t, x, v);
x0 = x;
v0 = v;
t = t + dt;
}
fclose(fp);
printf("Data saved successfully!\n");
return 0;
}