matlab如何显示m文件中的中文

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:13:17
我的m文件内容如下:

function f=ffib(n)
%用于求Fibonacci数列的函数文件
%f=ffib(n)
f=[1,1];
i=1;
while f(i)+f(i+1)<n
f(i+2)=f(i)+f(i+1);
i=i+1;
end

问题是我用help命令时可以显示文件中的中文信息,但是用以下命令就不行:

>> fib=fopen('ffib.m','r');
>> tx=fread(fib);
>> disp(char(tx'))

中文部分会变成乱码···怎么才能用disp命令正确显示中文部分呢···?
最终目的是要把那个m文件的内容完整地显示出来,包括中文部分。ffib是文件名。

这个是你的程序代码引起的。
tx被你转置后变成了一个列向量。(每一行是一个字节)
而我们知道汉字在计算机里面至少是两个字节的。这样意味着,你将一个汉字两行进行显示是不行的。

其实正确的做法应当是你要判断tx中是汉字还是英文,
如果是英文的话,你就输出一个字节。
如果是汉字的话,你就一次输出两个字节。

这样的话,应当可以正确显示。(不过这样的话,也直接增加了程序的复杂度)

我不知道你的最终目的是什么?
所以不好乱改。

matlab这个软件对汉字不兼容。要想在matlab中读入汉字是很困难的一件事,见意最好改用英文的,因为光区分中英文输入便不是一件很容易的事情,没有必要在非必须的情况下在这方面下苦功夫,我试过楼上的type命令,和你的一样,都是乱码,没办法,这是软件的缺陷。希望大家一起努力。改变这个现状。~-~

用 type命令,不是disp
type filename.m