【Matlab】Matlab编程学习笔记【待续】

最近想用Matlab进行数据分析,算法性能测试,平时由于用的是C、C++,因此很多习惯都一时改不了,这里自己列出来一些Matlab中明显不同的地方。

  1. 矩阵单元元素访问方式:A(1,2)---A[1][2]
  2. 选取矩阵某个行或者列:A(:,1);%选取矩阵第一列.A(1,:);%选取矩阵第一行
  3. 矩阵单元以及数组等起始下标:行和列都是从1开始,A(1,1)为第一个元素 A(0,1)则是越界 相应的A(1,columns)不越界
  4. Matlab矩阵的存放是列优先,而我们平时的都是行优先。例如:A是一个2行2列的矩阵。A(2)代表的是A(2,1)而不是A(1,2)
  5. 运算符号:~表示! ,| & 相应的表示|| &&
  6. 字符串表示方式:单引号‘’,而C中则是双引号““,因此在做字符比较的时候,不能用 c == '\n' 要知道'\n'表示的是一个字符串了。此时则需要用ASCII码代替。c==10
  7. 转换函数:字符串转数值str2num(...)
  8. Matlab的矩阵格式可以为:[1,2\n3,4\n5,6\n],因此在编程生成数据时候,我们可以按照这种格式生成实验数据,然后直接复制到Matlab中就可以实现矩阵的赋值了。这样就不用使用文件读取那么麻烦了。

这里附上一个自己第一次编写的M文件:功能是从文本数据中读取格式数据

 my.txt文本内容:

 

 实现代码如下:read.m

%
 %write a program for reading files
 %
 fid=fopen('my.txt','r');
 %
 %set j=1 notice:matlab first index is 1 not 0.
 %
 i=1;
 j=1;
 flag=0;
 while ~feof(fid)
     s=fgets(fid);
     temp='';
     for k=1:length(s) %|| (s(k))==EOF 
         if (s(k)==32 | s(k)==10) % ''10 % '\n'
             if flag==1  %last char is not ''   
                 %fprintf(1,'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值