C++生成的代码(来自MATLAB)
C++ Generated Code (from MATLAB)
所以我从MATLAB中生成了一些代码,但我不知道如何使用它。我的意思是,如果我想生成15个(num2Gen)随机数并执行sum/avg计算,我应该如何声明*a和*avg,然后调用fxn?
void randAvg(uint16_T num2Gen, emxArray_uint16_T *a, uint16_T *avg)
{
int32_T i0;
int32_T loop_ub;
uint16_T sum;
uint16_T i;
real_T varargin_1;
uint16_T u0;
uint32_T u1;
/* RANDAVG Summary of this function goes here */
/* Detailed explanation goes here */
/* 'randAvg:4' a = fi(zeros(num2Gen,1),0,16,2); */
i0 = a->size[0];
a->size[0] = num2Gen;
emxEnsureCapacity((emxArray__common *)a, i0, (int32_T)sizeof(uint16_T));
loop_ub = num2Gen - 1;
for (i0 = 0; i0 <= loop_ub; i0++) {
a->data[i0] = 0;
}
/* 'randAvg:5' sum = fi(0,0,16,2); */
sum = 0;
/* 'randAvg:6' for i=1:num2Gen */
for (i = 1; i <= num2Gen; i = (uint16_T)((uint32_T)i + 1U)) {
/* 'randAvg:7' a(i) = fi((50 + 100.*rand(1)),0,16,2); */
varargin_1 = 50.0 + 100.0 * b_rand();
varargin_1 = ldexp(varargin_1, 2);
varargin_1 = floor(varargin_1 + 0.5);
if (varargin_1 < 65536.0) {
if (varargin_1 >= 0.0) {
u0 = (uint16_T)varargin_1;
} else {
u0 = 0;
}
} else {
u0 = MAX_uint16_T;
}
a->data[i - 1] = u0;
/* 'randAvg:8' sum = fi((sum + fi(a(i),0,16,2)),0,16,2); */
u1 = (uint32_T)sum + (uint32_T)a->data[i - 1];
if (u1 > 65535U) {
u1 = 65535U;
}
sum = (uint16_T)u1;
/* don't use the array look up twice... */
}
/* 'randAvg:10' avg = fi(sum/num2Gen,0,16,2); */
*avg = (uint16_T)div_u32_near((uint32_T)sum, (uint32_T)num2Gen);
}
谢谢!
我不懂MATLAB,但要回答您关于如何传递对函数的引用的问题:
emxArray_uint16_T a = <put something here>
uint16_T avg = <put something here>
...
randAvg(num2Gen, &a, &avg);
相关文章:
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 2D数组来自文本输入,中间有空格
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 通过继承类使用来自不同命名空间的运算符
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- C++:来自外部文件的Trivia
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 针对遗留库的链接:来自预制makefile的-lgfortranbegin
- 如何在C++中正确引用来自不同类的类的对象?
- Qt中来自不同功能的按钮引用
- C++包含来自 #include "DevEngine/Core.h" 的错误
- Eigen c++ 三角形来自
- 来自 DLL 的函数调用 [表观调用的括号前面的表达式必须具有(指向-)函数类型]
- 来自MATLAB的代码优化直方图C
- 将来自 C++ 代码的向量写入文件,然后在 MATLAB 中读取它
- MATLAB:OOP调用来自不同类的函数
- Sobel滤波器输出来自opencv和Matlab不同
- C++生成的代码(来自MATLAB)