matlab代码变成了不可读的符号

时间:2014-10-05 11:19:17

标签: matlab

我在Matlab中遇到了一些错误,我的代码被转换为不可读的符号串(我怀疑这对于cs人来说这是一个简单的问题,但我只是一个学术训练的“最终”用户代码 - 也就是说,我知道很少有理论,不幸的是很容易忘记它。

我点击了ctr + z但没有发生任何事情,关闭它并再次打开它,但符号仍在那里。它没有运行,我得到的错误是:

The input character is not valid in MATLAB statements or expressions.

这是我的代码的开始,处于其不幸的当前状态:

MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Sun Oct 05 06:57:45 2014   
"‰\*’fTøÄ^L3:!I]ƒÁCƒÒP>朳÷>—º0ç²öEEHÉm�0fÈçRHñ)—\¢ßZï³æ3öïû£óû�㬽ֻÞËó>ïûîZ‡£ñ-IŽj⻺ø«âÀ§ªú}ÕeßrÏè¼Qƒ3råó$G]µ¾O<ÈÎÉÊÈÍÊLuTø¨Õ4»ÕÁãò²ÇºFå–¯fØ   P«iv«•8\¶\¶\¶œ¶œ¶œ¶Ff�¿â¼XuåÚ­Š½•¥bï•«yÙ¹Cs®��ÕÊ»áßüJ»ËWÓìV+Ù‘a' |5Ínµ²#\¶\¶\¶œ¶œ¶œ¶»†Ére9+F4±šVyU:£ÂæËVÓl$T¸0±÷òe…ɬ�9C]W 5kPNîØœ¼Ê«9¹ƒ+{'3ÍVBš­„´Jœ¶:8mupÚêà´ÕÁi«ƒÓV‡r~¨("¾ZAD|µ‚ˆr.±•�f+¡’¶~È°õC†­2lý�aë‡[?äåŒØx)'«8mVÓ*¯–ƒÓn5Í‘3nÐy¡<›—ýòÃùt[ùj†Ü_®°WI«¼·|YüGâ9ËåpT´‚V³s._% 7–¯VÜèPHÍ•72{„+?g°Ê/§íê{Sm÷¦&"_YD†­Ü+÷¦Úí%¹µÄ_IUG¼NVSv”×Éñw­õСþo‰‡E³Ä§ÐÍfæ&|ÓÈÍ©Y¥•ÞÆÍ°ëÏK‹×¿ô5°GÞзÃ�SØ„”Ýö/`mågf›ºê�;ŸÝÃÄéocÇÜ,µú‡
Ÿíçeƒ;îíáfr9c¯ú^¨ãûðöb§;ÞÙ^À¤ØÅǦ°‡÷ç§,Ø<…�¾°müá nöû{ÅÝÛ•zØCþ‡Îo×éÙ@gÿ;ãæc:ô[b2yÍÛ­¼L~åz<ìÏ>æ†|^ÜÓÃ=Oélžg¦8¿ØÄú~�­müIÞ°Ÿuæù­÷²FKöþ‰Òžr3if>÷²æÕ&¿™þ“¿‡ºÙŒ›“žªu£Îž•60Ù$)p Áî�†76`ŠÉÆÉ�õ|¬‰?í°ÎÞJ†4ÑÙù~XÖHܸS‡ß�?ÙdŠä‚d?ä&ûØ´£µû—°¯™ú
ѯ�:¯TUç5/îo ôxÄÇd8ëž1¿ûMè]ÕùOûÙßó…À]Ûô�ø,3Øöñ‡[¤ÞkÂîÛMÄ;ÉÇ—
ÏòÅqñŠØV½­q)ð±Û¤³Lx§õ¢sä1ß½ÎÝjÀn¦ä§XëE‘ãï}ågÌüágâß6?ô3¹\œ„�%>vR˜}C®ñ;釜b?»(àÒâ—

等等。

谢谢!

2 个答案:

答案 0 :(得分:1)

您的文件根本不是代码,它是具有错误扩展名的Matlab数据文件。你可以通过运行

来看到这一点
>> x = magic(10);        %// creates a 10x10 matrix
>> save('junk.m', 'x');  %// note .m extension rather than .mat
>> edit junk.m

您将在编辑器窗口中看到类似的内容 -

MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Sun Oct 05 14:21:38 2014
å³B1#V A6å³B1#V å³B1#V // etc etc, lots more junk here

当您将其扩展名更改为.m并将其作为代码打开时,.mat文件的样子。

所以,遗憾的是,我认为你已经用一些数据覆盖了你的代码文件。如果您将文件重命名为.mat扩展名,然后在MATLAB中加载它,您将能够看到数据是什么。

如果您有某种备份,则可以恢复代码。否则你运气不好。


P.S。我过去常常是一个学术训练的最终用户代码&#34;同样。我花了一些时间学习一些CS理论和编程语言(在一年的时间里打开和关闭),它已经回报了100倍的生产力提升。您不仅可以自己解决更多问题,还可以做一些您甚至认为不可能实现工作自动化的事情,留出更多时间来实现自己的工作。有趣&#34;一点研究。我强烈推荐时间投资!

答案 1 :(得分:0)

Check the Extension of your file:

在MATLAB中,您可以使用命令pcode,它将您的MATLAB代码预先打印成人类无法读取的形式,但运行与原始MATLAB代码完全相同(实际上,非常快一点)。会发生的情况是,对于每个.m文件,您将获得一个扩展名为.p的新文件。 .p文件与.m文件运行相同,但不可读。