csujbliu 发表于 2008-11-26 15:57:12

如何在MATLAB(7.6.0)R2008a中调用MATLAB6.5做的SIMULINK程序?

调用时出现如下提示:
Unable to load model file 'E:\test20080831-8\MdlCon.mdl' due to the presence of characters that are not
supported in the current character encoding setting 'GBK'. Either:
1) run "bdclose all; set_param(0,'CharacterEncoding', Enc)" where Enc is one of windows-1252, ISO-8859-1, then
load the model, or
2) remove the unsupported characters. The first such character occurs on line 407, byte offset 18.
--> Error loading model 'MdlCon'.
如何解决?

ljelly 发表于 2008-11-26 16:12:58

原帖由 csujbliu 于 2008-11-26 15:57 发表 http://forum.simwe.com/images/common/back.gif
调用时出现如下提示:
Unable to load model file 'E:\test20080831-8\MdlCon.mdl' due to the presence of characters that are not
supported in the current character encoding setting 'GBK'. Either:
1) r ...

我也遇到同样的问题
不一定是调用Matlab 6.5,
只要是以前的版本就有这问题

我能打开,但只要稍有改动,再save时,就出现这种提示
不知是哪里的设置不对,还是和其他软件有冲突
请装过的朋友帮助分析一下是什么问题?如何解决?
谢谢!

feynmand 发表于 2008-11-26 16:36:34

自MATLAB 7.0即Simulink 6.0之后,模型注释中不能包括中文。如果有中文的话保存文件时就会弹出一个错误对话框,使模型不能保存。而Simulink 6.0之前版本中含有中文注释的文件也不能打开。所以建议读者尽量使用英文作注释,以免保存与打开方面的错误。
如果必须使用中文注释的话,可以在保存前在命令行中输入以下命令,这样就可以保存了。

>> set_param('ModelName', 'SavedCharacterEncoding', 'ISO-8859-1')

这里ModelName是你的mdl模型名,而且必须处于被打开状态。而再次打开此含有中文注释的模型前,需要在命令行运行以下语句:

>> bdclose all;                %关闭所有的系统仿真窗口
>> set_param(0,'CharacterEncoding','windows-1252')

或在工作空间中输入下列命令,然后打开:

>> bdclose all;                %关闭所有的系统仿真窗口
>> set_param(0, 'CharacterEncoding', 'ISO-8859-1')

或用写字板或记事本打开模型文件*.mdl,将不能识别的汉字改为英文,存盘退出即可。

ljelly 发表于 2008-11-26 16:56:43

问题是我的模型中并没有中文啊

kokyo52 发表于 2008-11-26 17:27:02

楼上的问题,我猜模块中可能会有不被新版MATLAB识别的字符类型,事实上,在7.0之后,simulink所支持的字符集变了,可以看一下错误提示,比如错误在mdl文件的哪一行那一列,然后用m文件方式打开mdl文件,找到那一行,看看具体错误是怎么回事

[ 本帖最后由 kokyo52 于 2008-11-26 20:00 编辑 ]

fighter-11 发表于 2008-11-26 21:25:54

楼上的正解,看来是久病成医啊。
不过最为稳妥的还是用老板本打开,修改好以后,再像你那么改,不然会出问题。

fighter-11 发表于 2008-11-26 21:28:48

回复 4# ljelly 的帖子

你的模型是没有中文,但是等你用写字板打开以后,结果会叫你大吃一惊。

zp2000 发表于 2008-11-27 08:24:14

是这样吗?到底是怎么一个结果啊?怎么感觉众说纷纭呢,俺刚刚准备升级一下版本的

lilian 发表于 2009-9-30 15:46:28

看起来matlab 版本越高,约束越多啊

xuzhehit 发表于 2010-9-9 17:20:21

本帖最后由 messenger 于 2010-9-9 18:57 编辑

同样的问题得到解决了,谢谢各位大侠,3楼正解,呵呵
页: [1]
查看完整版本: 如何在MATLAB(7.6.0)R2008a中调用MATLAB6.5做的SIMULINK程序?