gpt4 book ai didi

c++ - 在 C++ 中创建基本矩阵的困难

转载 作者:搜寻专家 更新时间:2023-10-31 02:17:07 25 4
gpt4 key购买 nike

很抱歉,这对你们来说是一个非常简单的问题,但是因为我没有人可以谈论它,所以我想我应该在这里问。我现在才从一本书上学习 C++ 几天,我正在尝试通过两个循环为矩阵“Smat”定义矩阵元素,如下面的代码所示。对于每个“k”行和“j”列,我希望将值“Stemp”放入矩阵值“Smat[k][j]”中。但是,当我运行下面的代码时,代码仅使用 k = 0 并忽略 k = 1、k = 2 等(谢天谢地,它确实设法遍历了所有 j 值)。如果有人能告诉我哪里出了问题,我将不胜感激。这个问题非常微不足道,但不幸的是,在现实生活中没有人可以和我谈论这个问题。提前致谢。

unsigned long int j = 1;
unsigned long double M = pow(2, 8);
double T = 1;
double dW;
double dt = T / M;
double Smat[100][256]; // Define rows/cols of Smat
double sigma;
double c = -2;
double mu = 2;
double Stemp = S_0;
double theta = 0.01;

for (int k = 0; k < 100; k++) {
Stemp = S_0;
Smat[k][0] = Stemp; // All first rows of Smat start with S_0 value

for (j = 1; j < M; j++) {
double nrv = normaldist();
dW = sqrt(dt)*nrv;
sigma = sigatm + c /(max(sqrt(T), theta))* log(Stemp / S_0);
Stemp = Stemp + Stemp*mu*dt + Stemp*sigma*dW;
Smat[k][j] = Stemp;
}
}

最佳答案

for (j; j < M; j++) {

此循环无法初始化 j。在第一个外层循环中,j 的初始值仍然是 1,即最初分配给它的值;但在第二个外层循环中,j 仍将等于 M,从上次迭代开始,内层循环根本不会迭代。

关于c++ - 在 C++ 中创建基本矩阵的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36108432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com