matlab如何自动生成代码,MATLAB 代码自动生成(一) floating is out of range 以及神秘变...

在尝试将MATLAB代码自动生成到TI DSP时遇到floating is out of range错误。通过检查C代码发现浮点数超出double类型的最小值。解决方法包括定位问题源头和修改代码。注释掉不支持生成代码的rank函数后,问题成功解决。
摘要由CSDN通过智能技术生成

MATLAB 代码自动生成(一) floating is out of range 以及神秘变

MATLAB 代码自动生成(一) floating is out of range 以及神秘变量scale = 3.3121686421112381E-170

在使用机器人最小惯性参数集计算机器人的力矩时,使用MATLAB自动生成代码到TI的DSP TMS321F28335的时候,发现编译不通过,提示如下错误:

8a49bdfc6df3e7ae79442760556635f9.png

主要错误原因是浮点是超出界限,本着按图索骥的精神,打开生成的C代码进行查看,发现是这里的:

scale = 3.3121686421112381E-170;

/* Function for MATLAB Function: '/MATLAB Function' */

static real_T MyThing_norm(const real_T x[3])

{

real_T y;

real_T scale;

real_T absxk;

real_T t;

scale = 3.3121686421112381E-170;

absxk = fabs(x[0]);

if (absxk > 3.3121686421112381E-170) {

y = 1.0;

scale = absxk;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值