No.1ベストアンサー
- 回答日時:
実数の正方行列の積が計算できているということは、その、S, T, U の要素を表す配列がありますね?
おそらく、double の配列になっていると思います。
その配列の型を、struct complex にします。
そして、正方行列の積を計算するということは、配列 S の要素と T の要素の積を、U の要素に足し込むという計算をしているはずです。
その中の、例えば、
U += S * T;
を一度、
U = U + S * T;
と置き直します。(実際には配列の名前ではなくて、個々の要素のはず)
で、複素数の、和と積がそれぞれ関数として準備されているのであれば、それぞれ、
複素数の a + b が
struct complex add(strcunt complex a, struct complex b);
a * b が
struct complex mul(strcunt complex a, struct complex b);
などという関数になっているはずです。
そこで、上で書いた、 + と * を add と mul に置き換えて
U = add(U, mul(S, T));
と置き換えるだけです。
入出力は、適切な形で処理してください。
No.2
- 回答日時:
私なら、自分でこういう計算のための関数を作らないで済ませる方法を探します。
具体的には、
(a) C99準拠のCコンパイラを使用しているなら自分で複素計算の関数を作らずに _Complex 型を使う。
(b) C++を使って問題ないのであればC++の標準ライブラリにある complexクラスを使う。
(c) C++でOKなら、さらにBoostライブラリをインストールして、行列演算までライブラリに任せてしまう。
(d) Matlabを使える環境にあるならMatlabをC言語から呼び出して使う。
(e) Matlabクローンでも良ければ Scilab をC言語から呼び出して使う。
複素数演算も行列演算も、自分で作ると時間がかかるし、処理速度も遅く、バグも作りこむことになります。本来の目的に注力するためにも、先人の知恵を使わせてもらうことをおすすめします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C++で割り算の結果を昇順に出力するプログラムを作りたいのですが、例えば(double)100000 3 2022/07/15 17:46
- その他(プログラミング・Web制作) パイソンのプログラミングについての質問です 2 2023/05/22 12:39
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- C言語・C++・C# C言語で移動平均のプログラムを作りたいのですが、数値をファイルから取ってきて計算をするプログラムはど 1 2022/09/29 01:21
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- その他(プログラミング・Web制作) 3Dモデルにおける法線の計算について(Python,OpenGL) 1 2023/04/25 23:46
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
Perl言語での画像ファイルの作...
-
VBScript 配列
-
参照配列の要素数の求め方は?
-
MATLABの関数で配列の要素を返...
-
perlで配列の要素が空なのを知...
-
VBA 多次元配列を用いてグルー...
-
クラスに配列を渡す方法
-
エクセルVBAでTransposeの不思議
-
二次元配列のインデックスについて
-
全組み合わせの出力プログラム
-
perlで2次元配列をサブルーチ...
-
複数の配列の全ての組み合わせ...
-
組み合わせについての質問です...
-
文字の整列(printf)
-
vb.netです。2次元配列の要素を...
-
まったく同じファイルのハッシ...
-
VBA for i=1 to lastrow
-
DOSコマンドのループ内のTIMEコ...
-
多次元配列から重複を削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
二次元配列のインデックスについて
-
リストボックスに縦スクロール...
-
Excel VBA ユーザーフォームの...
-
マクロ Publicでの配列定義
-
エクセルVBAでTransposeの不思議
-
Strawberry Perl for Windows ...
-
二次元配列における要素数のは...
-
perlで2次元配列をサブルーチ...
-
クラスに配列を渡す方法
-
Dim flag(4) as boolean で配列...
-
文字の整列(printf)
-
perlで配列の要素が空なのを知...
-
jcode->jfold で禁則処理
-
VB6で配列の最大値を簡単に求め...
-
perl 配列の要素数について
-
ファイル名に日付・時刻を付与...
-
チェックボックスのperlでの値...
-
組み合わせについての質問です...
-
配列を初期化する時ってどうす...
おすすめ情報