Matlab与C语言的区别.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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。因为

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档