我需要你的帮助才能在C中实现这个Matlab代码。
RO = SQRT((C1 C1)(C2 C2)(C3 * C3)。。。。);
我知道。*是逐个元素。
有什么想法吗?
谢谢。
答案 0 :(得分: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);
}
}
答案 1 :(得分: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]));
}