このMatlabコードをCで実装するには、あなたの助けが必要です。
ro = sqrt((c1。c1)。(c2。c2)。(c3。* c3));
。*は要素ごとの要素です。
何か案が ?
ありがとうございました。
回答:
回答№1は2これは、 for
要素ごとの乗算を行うループ。以下の非常に簡単なソリューションを提供しましたが、次の内容を入力する必要があります C1
, C2
そして C3
あなた自身
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
double C1, C2, C3[2048] = { 0 }; //Initialise arrays
double ro[2048] = { 0 };
for (int i = 0; i < 2048; i++) { //Iterate through elementwise
ro[i] = sqrt(C1[i] ^ 2 + C2[i] ^ 2 + C3[i] ^ 2);
}
}
回答№2の場合は0
ご助言ありがとうございます。 +を*に変更するだけですが、完璧です。ありがとうございます。
double C1[2048]={1,2,3,5,6,7,4,2,5};
double C2[2048]={1,6,3,5,6,2,4,1,6};
double C3[2048]={1,2,1,5,6,4,4,2,2};
int ro[2048] = { 0 };
for (int i = 0; i < 2048; i++) {
ro[i] = sqrt((C1[i]*C1[i]) * (C2[i]*C2[i]) * (C3[i]*C3[i]));
}