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ランキング
-
リストボックスに縦スクロール...
-
perl 初等プログラミングについて
-
VB6で配列の最大値を簡単に求め...
-
文字の整列(printf)
-
二次元配列における要素数のは...
-
Excel VBA ユーザーフォームの...
-
チェックボックスのperlでの値...
-
newで個別に生成した配列にNULL...
-
重複しない乱数発生
-
VBAのautofilter、criteriaの配...
-
ランダムな8桁の文字作成
-
Powershell $変数 = @()の空配...
-
Excel(VBA)で配列の要素数を...
-
エクセルVBAでTransposeの不思議
-
csv形式のデータの一部を削除し...
-
不特定数存在する特定文字直後...
-
perlfaq4 で紹介されている Fis...
-
一致する要素が格納されている...
-
二次元配列のインデックスについて
-
ファイルからデータを読み込ん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
Strawberry Perl for Windows ...
-
リストボックスに縦スクロール...
-
二次元配列のインデックスについて
-
文字の整列(printf)
-
エクセルVBAでTransposeの不思議
-
クラスに配列を渡す方法
-
二次元配列における要素数のは...
-
Excel VBA ユーザーフォームの...
-
perlで配列の要素が空なのを知...
-
perlで2次元配列をサブルーチ...
-
マクロ Publicでの配列定義
-
Dim flag(4) as boolean で配列...
-
参照配列の要素数の求め方は?
-
チェックボックスのperlでの値...
-
VB6で配列の最大値を簡単に求め...
-
jcode->jfold で禁則処理
-
DataGridViewに配列の値を表示...
-
VBScript 配列
-
配列を使わずに、数字(連番)...
おすすめ情報