- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab与C语言的区别
Matlab编程和其他语言的区别
一、字符和字符串
在 MATLAB中不管是字符,还是字符串都是用单引号。而在 C、C++、C#、Java等语言中,字符是用单引号的,
字符串则必须用双引号。因此在 MATLAB中如果需要在字符串中用到单引号的话,就要用两个单引号来代替。
如:
a=thisis an apple
a =
thisis an apple
同理,如果字符串中需要双引号的话,可以用四个单引号来代替。如下:
b=Iam Tim
b =
Iam Tim
在 MATLAB中的字符串连接,我们可以使用一对中括号。当然,这种连接方式也适用于向量、矩阵等的连接。如下:
c=[a b]
c =
thisis an appleIam Tim
a1=[1 2];b1=[3 4];
c1=[a1 b1]
c1 =
1 2 3 4
c2=[a1;b1]
c2 =
1 2
3 4
但是,对于字符串的连接不能使用加号(+)来进行。这点和在 C++、C#、Java 等语言中是不一样的。因为在 MAT
LAB中这些字符串也是以矩阵的形式存储的,你要是用加号的话,需要两个矩阵的大小一致。比如:
a2=hello;b2=mustb;
a2+b2
ans =
213 218 223 224 209
但是,很明显,加完之后都是一系列的值了。本来,这些字符串也是以数值的形式存储的。而我们要取的字符串中某
一个字符的时候,也是很方便的,直接像引用矩阵的元素一样。如下:
a2(1)
ans =
h
a2(4)
ans =
l
find(a2i)
ans =
3 4 5
可以看到,a2里面在字母 i后面的字符有第 3、4、5个字符,也就是 llo了。
在 MATLAB中要将一个数字转换为字符可以用 num2str,将字符转换为数字可以用 str2num。如下:
stra1=num2str(a1)
stra1 =
1 2
class(stra1)
ans =
char
strb1=[3 4];
str2num(strb1)
ans =
3 4
对于 strb1,我们可以使用 eval函数,该函数可以将字符串作为一个 MATLAB命令去执行。如下:
p=eval(strb1)
p =
3 4
相当于 p=[3 4]。
当然了,C语言里面的 sprintf、fprintf函数我们都是可以在 MATLAB中使用的。比如:
sprintf(Tim is %d years old.,24)
ans =
Tim is 24 years old.
至于 fprintf函数,则需要用 fopen去打开一个文件,然后写入数据进去。如下:
fd=fopen(a.txt,w+);
fprintf(fd,I am Tim.\n);
fprintf(fd,My age is %d\n,24);
fclose(fd);
然后,用 MATLAB Editor打开 MATLAB当前目录下的 a.txt就可以看到:
但是,当你用记事本打开的时候会看到:
这是因为在Windows 上要想换行需要\r\n,而不能单是\n。
二、if语句、for语句、switch语句、while语句、try-catch语句都以 end结尾
在 MATLAB中,没有 goto和 do…loop和 do…while语句。而且语句的结尾都是以 end结尾的。
t=4;
if(t5),disp(t is smaller than 5.),end
t is smaller than 5.
当然,if语句也可以有 else语句。
if(t5),disp(t is bigger than 5.),else,disp(t is smaller than 5.),end
t is smaller than 5.
还可以用 elseif。
if(t5),disp(t is bigger than 5.),elseif(t==5),disp(t is equal 5.),else,disp(t is smaller than 5.),end
t is smaller than 5.
在 MATLAB 中,由于矩阵的索引都是从 1 开始的,这点和 C、C++、C#、JAVA等语言是不一样的。所以,在循环
的时候建议从 1开始循环,而且循环的时候不推荐用变量 i和 j。因为
您可能关注的文档
- linux kconfig详解及语法.pdf
- Linux+kernel+2.6+I2C设备驱动程序框架介绍.pdf
- Linux vs. Windows A Comparison of Application and Platform Innovation Incentives for Open S.pdf
- linux6.2RHCS集群设置.docx
- Linux下使用openssl制作CA及证书颁发.pdf
- Linux平台上Ganglia的安装与配置v0.8.pdf
- linux编程脚本(二).pdf
- Liquavista EWD显示器技术简介.pdf
- Liquid -Liquid Equilibrium of Ternary Systems of.pdf
- Liquid Argon Ionization Detector for Double Beta Decay Studies.pdf
文档评论(0)