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

标签 c++ arrays matrix

很抱歉,这对你们来说是一个非常简单的问题,但是由于我没有人可以谈论这个问题,所以我想我应该在这里问。我现在才从书上学习 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/

相关文章:

c++ - wchar_t 对 Windows API 有用吗?

c++ - 从资源文件中使用directshow播放音频

arrays - 将 csv 数据转换为特定格式 DYNAMIC

c++ - LAPACKE C++实矩阵求逆

matlab - 矩阵内的操作避免循环

c# - 将 C++ 代码移植到 Silverlight

c++ - 使用未声明的标识符 'buffer'和未使用的变量 'buffer'

javascript - 有办法到 "compress"以下所以不会那么长

c++ - 无法在我的函数中声明结构

python - numpy:压缩 block 矩阵