主要内容

解决错误:数据类型不匹配

问题

在这个例子中,y使用默认的fimath设置FullPrecisionSumMode财产。在每一个迭代循环的功能mysum这个词的长度y长了一点。

在MATLAB仿真®,没有问题,因为在MATLAB数据类型可以很容易地更改。然而,一个数据类型不匹配错误发生在构建时因为在C数据类型必须保持静态。

可能的解决方案万博 尤文图斯

重写函数在for循环中使用下标赋值。

在这个例子中,重写y = y + x (n)作为(,)= y + x (n)分配,因此,右边的值的数据类型y。这个任务保存numerictypey并避免类型不匹配的错误。

原始算法 新算法

功能:

函数y = mysum (x, T)% # codegeny = 0(大小(x),“喜欢”,T.y);n = 1:长度(x) y = y + x (n);结束结束

功能:

函数y = mysum (x, T)% # codegeny = 0(大小(x),“喜欢”,T.y);n = 1:长度(x) y (:) = y + x (n);结束结束

类型表:

函数T = mytypes (dt)开关(dt)情况下“固定”F = fimath (“RoundingMethod”,“地板”)T。x = fi([], 16日,11日,F);T。y= fi([],1,16,6, F);结束结束

类型表:

函数T = mytypes (dt)开关(dt)情况下“固定”F = fimath (“RoundingMethod”,“地板”)T。x = fi([], 16日,11日,F);T。y= fi([],1,16,6, F);结束结束

另请参阅

相关的话题