MATLAB使用备注(一)

来源:互联网 发布:电子琴教学软件免费 编辑:程序博客网 时间:2024/05/21 11:33
今天算第一次尝试用matlab写一份正式的工程,真到用的时候才明白自己那点matlab水平还真不够看......以后这类文章用于记录matlab使用的时候容易出错的地方或者小技巧

1、关于矩阵合并,需要分清行合并与列合并
如A=[1,2];B=[3,4];
如果C=[A,B],则得到的是行合并,C=[1 2 3 4]
如果C=[A;B],则得到的是列合并,
C=[1 2
   3 4];


2、shift+enter的自动替换和复制粘贴一起用的时候,注意使用顺序
上午需要读取数据集的test和train两份data,写完train的读取后,图方便就复制粘贴了然后用shift+enter直接把train替换成test,结果把前面写的train的读取中,所有train变量也替换掉了,然后.....就没有然后了.....


9月22日更新
3、今天下午处理数据文件的时候顺手玩了玩sprintf的参数配置,这个在文件读取时很有用,一般就写file=sprintf("file_path",path_arg1,path_arg2,.....);然后fopen即可。其中第一个参数的字符串中,可以自定义文件格式,比如sprintf(’%0 2i....‘,......);(源码没有空格,新浪博客貌似会自动屏蔽百分号加数字.....),那么第一个变量显示的值是将数字转为字符串,02表示转为两位数,不足两位的在前面补0。需要注意的是,这个操作最多写到09,之后比如20,就在数字前面加20个空格不会加任何0

4、还是专门记录一下好了,C里面数组取值是a[i],matlab里面是a(i),已经用错好几次了,蛋疼.......


9月26日更新
5、C++的陋习带到matlab里面来了.....今天晚上运行eigenjoint的数据读取模块,结果跑了两三次就莫名其妙地报错,然后就出现系统报错
Caught "std::exception" Exception message is:
Message Catalog MATLAB:load was not loaded from the file. Pleasecheck file location, format or contents
仔细看了看代码才发现,fp=fopen(filename)之后,就一直没有关掉文件了.....加了一个fclose(fp),世界就安静了

10月8日更新:
6、关于max(a),如果a是一个向量,那么返回最大值,如果是矩阵,则返回a每列的最大值
a=[1,2;   max(a)的值为[3,4]
    3,4]
a=[1,3;   max(a)的值为[2,4]
     2,4]
原创粉丝点击