Fortran Coder

IVF可以正常运行的代码在simulink中出现数值对不上的错误

查看数: 734 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-3-11 10:53

正文摘要:

我在尝试把一个Fortran77写成的大型代码打包成一个S函数放在simulink中调用,目前可以正常生成.mexw64文件和S函数,编译正常通过不会报错。但是实际运行simulink时MATLAB会崩溃。通过在Fortran代码里写输出文件的方 ...

回复

Alohafancy 发表于 2024-3-31 16:15:04
问题解决了,是只要在子程序变量声明的地方加一个“SAVE”就不会出现变量值对不上的问题了
Alohafancy 发表于 2024-3-11 14:47:09
li913 发表于 2024-3-11 14:24
一般是接口不匹配造成的,matlab默认8字节整型,数据类型和fortran不一样。

但是出错的地方还在Fortran内部,还没到和MATLAB进行交互。举个例子就是用子程序算个1+1=2,出来后把2传给MATLAB,但是进入子程序后变成了321546856+152438215这种乱值。我试过写成INTEGER*8,但是似乎也没用
li913 发表于 2024-3-11 14:24:09
一般是接口不匹配造成的,matlab默认8字节整型,数据类型和fortran不一样。

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-22 11:16

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表