記事「MQL5での行列およびベクトル演算」についてのディスカッション - ページ 5 1234567 新しいコメント Aleksey Vyazmikin 2022.10.10 16:42 #41 では、行列から列を取り出すにはどうすればいいのか? Rashid Umarov 2022.10.10 16:49 #42 Aleksey Vyazmikin #:ベクトルではなく、マトリックスだ。 自分で考えるか、コンパイラを説得するしかない。例を見て、読んでください。 Rashid Umarov 2022.10.10 16:51 #43 Aleksey Vyazmikin #: では、行列から列を取り出すにはどうすればいいのだろうか? 行列からベクトルを取り出すには、 Colを 使います。 取り出す」とはどういう意味ですか?取り除く? Документация по MQL5: Методы матриц и векторов / Манипуляции / Col www.mql5.com Col - Манипуляции - Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Aleksey Vyazmikin 2022.10.10 16:53 #44 Rashid Umarov #:行列からベクトルを得るには Col取り出す」とはどういう意味ですか?取り除く? 変換して使えるようにする、という意味です。 コルで失敗したコードを上に示したが、それはあなたが書いたようにベクトルではなく行列だった。 Rashid Umarov 2022.10.10 16:55 #45 明日は休んで、このディスカッションの質問をすべて読み直す必要がある。 Aleksey Vyazmikin 2022.10.10 16:58 #46 Rashid Umarov #: 休養が必要で、明日このオスバッドですべての質問を読み直す必要がある ご心配をおかけしました! ほとんどの質問は、あなたのおかげで解決しました。 明日まで待ちます。もしかしたら、後で私の質問に答えてくれるかもしれません。 Valeriy Yastremskiy 2022.10.10 20:25 #47 Rashid Umarov #:誰も読まないが、サポートは惜しまない。機械学習のスレッドで見かけたような?もしそうなら、記事に書かれていることを理解すべきだ。 私は完全には理解していないようだ。行列の要素がなぜ3つの値を持つのか。これは3次元配列です。なぜヘルプではベクトルは1次元の配列で、この例の行列は3次元の配列で表現されているのか。ZY、それは起こります))))))))))))))))))))))))))))))))))))))))))))))))))))) 例題では3行4列の行列があります。 Denis Kirichenko 2022.10.11 09:59 #48 おそらく、ここに ちょっとした間違いがあるのだろう: //--- 行列のコピー matrix a= {{2, 2}, {3, 3}, {4, 4}}; matrix b=a+2; matrix c; Print("matrix a \n", a); Print("matrix b \n", b); c.Assign(b); Print("matrix c \n", a); /* 行列 [[2,2] [3,3] [4,4]] 行列b [[4,4] [5,5] [6,6]] マトリックスc [[2,2] [3,3] [4,4]] */ こうあるべきだ: //--- 行列のコピー matrix a= {{2, 2}, {3, 3}, {4, 4}}; matrix b=a+2; matrix c; Print("matrix a \n", a); Print("matrix b \n", b); c.Assign(b); Print("matrix c \n", с); /* 行列 [[2,2] [3,3] [4,4]] 行列b [[4,4] [5,5] [6,6]] マトリックスc [[4,4] [5,5] [6,6]] */ Denis Kirichenko 2022.10.11 10:33 #49 また、「時系列を行列またはベクトルにコピーする」 セクションに小さな誤りがある: //--- 計算される文字のリスト string symbols[]= {"EURUSD", "GBPUSD", "USDJPY", "USDCAD", "USDCHF"}; int size=ArraySize(symbols); //--- 行列とベクトルで価格を求める 閉じる matrix rates(InBars, size); vector close; for(int i=0; i<size; i++) { //--- 終値のベクトル化 if(close.CopyRates(symbols[i], InTF, COPY_RATES_CLOSE, 1, InBars)) { //--- ベクトルを時系列行列に挿入する。 rates.Col(close, i); PrintFormat("%d. %s: %d 終値がマトリックスに追加されました。", i+1, symbols[i], close.Size()); //--- デバッグ用にベクトルの最初の20個の値を出力する。 int digits=(int)SymbolInfoInteger(symbols[i], SYMBOL_DIGITS); Print(VectorToString(close, 20, digits)); } else { Print("vector.CopyRates(%d,COPY_RATES_CLOSE) failed. Error ", symbols[i], GetLastError()); return; } } おそらくこのようにした方がよい: //--- 計算される文字のリスト string symbols[] = {"EURUSD", "GBPUSD", "USDJPY", "USDCAD", "USDCHF"}; int size =::ArraySize(symbols); //--- 行列とベクトルで価格を求める 閉じる matrix rates_mx(InBars, size); vector close_vc; for(int i = 0; i < size; i++) { ::ResetLastError(); //--- 終値のベクトル化 if(close_vc.CopyRates(symbols[i], InTF, COPY_RATES_CLOSE, 1, InBars)) { //--- ベクトルを時系列行列に挿入する。 rates_mx.Col(close_vc, i); ::PrintFormat("%d. %s: %d 終値がマトリックスに追加されました。", i + 1, symbols[i],close_vc.Size()); //--- デバッグ用にベクトルの最初の20個の値を出力する。 int digits = (int)::SymbolInfoInteger(symbols[i], SYMBOL_DIGITS); ::Print(VectorToString(close_vc, 20, digits)); } else { ::PrintFormat("vector.CopyRates(%s,COPY_RATES_CLOSE) failed. Error %d", symbols[i], ::GetLastError()); return; } } Rashid Umarov 2022.10.11 11:42 #50 Denis Kirichenko #:ここに ちょっとした間違いがあるだろう:こうあるべきだ: ありがとうございました。 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ベクトルではなく、マトリックスだ。
自分で考えるか、コンパイラを説得するしかない。例を見て、読んでください。
では、行列から列を取り出すにはどうすればいいのだろうか?
行列からベクトルを取り出すには、 Colを 使います。
取り出す」とはどういう意味ですか?取り除く?
行列からベクトルを得るには Col
取り出す」とはどういう意味ですか?取り除く?
変換して使えるようにする、という意味です。
コルで失敗したコードを上に示したが、それはあなたが書いたようにベクトルではなく行列だった。
休養が必要で、明日このオスバッドですべての質問を読み直す必要がある
ご心配をおかけしました!
ほとんどの質問は、あなたのおかげで解決しました。
明日まで待ちます。もしかしたら、後で私の質問に答えてくれるかもしれません。
誰も読まないが、サポートは惜しまない。機械学習のスレッドで見かけたような?もしそうなら、記事に書かれていることを理解すべきだ。
おそらく、ここに ちょっとした間違いがあるのだろう:
こうあるべきだ:
また、「時系列を行列またはベクトルにコピーする」 セクションに小さな誤りがある:
おそらくこのようにした方がよい:
ここに ちょっとした間違いがあるだろう:
こうあるべきだ:
ありがとうございました。