解决错误:数据类型不匹配
问题
在这个例子中,y使用默认的fimath
设置FullPrecision
为SumMode
财产。在每一个迭代循环的功能mysum
这个词的长度y长了一点。
在MATLAB仿真®,没有问题,因为在MATLAB数据类型可以很容易地更改。然而,一个数据类型不匹配错误发生在构建时因为在C数据类型必须保持静态。
可能的解决方案万博 尤文图斯
重写函数在for循环中使用下标赋值。
在这个例子中,重写y = y + x (n)作为(,)= y + x (n)分配,因此,右边的值的数据类型y。这个任务保存numerictype
的y并避免类型不匹配的错误。
原始算法 | 新算法 |
---|---|
功能: 函数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);结束结束 |