私はC++の初心者です。私は線形回帰についてコードを作成しています。 最初に、1つのxと1つのy変数、 を持つ単変数の線形回帰についてのコードを作成しましたが、今ではそのコードを複数の線形回帰に変更しています。 それはエラーですが、私はなぜそれを見つけることができませんでした。C++:なぜこのコードはエラーになりますか?複数の線形回帰
ここではヘッダーファイルは書きません。ヘッダーにエラーがないと考えてください。 元のコードにエラーはありませんでした。
元のコード:複数の変数について
double LinearRegression::predict(double x)
{
return this->h(x);
}
double LinearRegression::h(double x)
{
return this->w * x + this->b;
}
コード:
double LinearRegression::predict(double x, int index)
{
return this->h(x, index);
}
double LinearRegression::h(double x, int index)
{
double sum = 0;
// return this->w * x + this->b;
for (int i = 0; i < this->multi_num; i++) {
sum += this->w[i] * x[i][index]; // here x is making error
}
sum += this->b;
return sum;
}
エラーは何ですか?また、 'x'の型は何ですか? 2d配列ですか?それはそうではありません。 – NathanOliver
はい、2次元配列です。例えば、 x [] = {{1,2,3}、{4,5,6}、{7,8,9}}; y [] = {1,2,3}; 2次元配列の内容は2倍です。 – June
'double LinearRegression :: h(double x、int index)'は、配列ではなくdoubleであることを示します。 – NathanOliver