【博客搬家】【转】matlab 6.5和7.0中simulink模型的兼容问题

此为【博客搬家】文章,原文发布在:http://hi.baidu.com/lanseiboy/blog/item/91f10ca15e071ba0caefd02e.html
 
【转】matlab 6.5和7.0中simulink模型的兼容问题
2010-06-15 16:16

mdl文件在6.5里面做的,但是到了7.0里面却打不开,下面就是相关信息:

Warning: Unable to load model file 'd:\MATLAB7\work\*.mdl'.   Run "bdclose all; set_param(0, 'CharacterEncoding', Enc)" where Enc is one of windows-1252, ISO-8859-1, then load the model.   The first character that is not supported in the current character encoding setting ('ibm-1386_P100-2002') occurs on line 1795, byte offset 21. To correctly load models with non-ASCII characters, you must explicitly use the character encoding that was used to save the file.   Type "help slCharacterEncoding" for more information on setting character encoding and to learn more about which encodings are commonly found on your platform.

问题产生原因:模型中含有不能识别的字符,比如中文等等,尤其是matlab对中文的支持不是很好(不知道是不是D版的原因)。解决的办法:

(1)在工作空间中输入下列命令,然后打开

bdclose all;

set_param(0,'CharacterEncoding','windows-1252')

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

bdclose all

set_param(0, 'CharacterEncoding', 'ISO-8859-1')

或(3)用写字板或记事本打开模型文件*.mdl,发现原来是有汉字不能识别,将其改为英文,存盘退出即可。

注:可能出现问题的参数是“LastModifiedBy”,这是最后修改模型人的名字;假如你的机子装系统的时候个人名字和单位填的是中文的话就要注意了,你装matlab时默认得也是这个中文名字,如果不改的话就会出现这个问题了。所以大家尽量用英文(包括S-function的注释),以避免不必要的麻烦!


同样如果要在7.0的模型里用中文注释,然后保存,就需要

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

这里ModelName是你的mdl模型名,而且必须被打开了。

几点建议:
(1)建议大家都统一用matlab7.0版本的,一些7.0.1等等如无必要,就不要装了。顺便说一下,有人说装了matlab7.0以后,系统进程里有一个Matlab Server.exe,占用内存很大,去掉的方法就是在管理工具->服务中将的启动类型由“自动”改为”禁止“就可以了。
(2)尽量避免用中文!
1)装matlab的时候,注意你的用户及单位一定要用英文或数字,不要用中文;
2)自己封装的模块名字不要用中文,模型中的注释也要用英文;
3)文件存放的路径也要用英文,如:C:\MATLAB7\work\matwav。

转载于:https://www.cnblogs.com/mark_lewis/archive/2011/03/20/1989240.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值