转自:http://blog.csdn.net/abcjennifer/article/details/7706581

本篇内容集合了MATLAB中的基本操作、数据存储与计算、数据的直线与曲线拟合与画图、for-if-while语句的使用方法对一般matlab的操作进行了基本和详细的应用举例,非常适合初学者进行matlab学习快速掌握。下面分四个模块分别进行讲述:

========================BasicOperations========================

>> A=rand(3,2)

A =

0.8147    0.9134

0.9058    0.6324

0.1270    0.0975

>> A=[1 2;3 4;5 6]

A =

1     2

3     4

5     6

>> A(3,2)

ans =

6

>> A(2,:)

ans =

3     4

>> A([1 3],:) %select the 1st and 3rd row

ans =

1     2

5     6

>> save test.mat A

>> save testtext.txt A –ascii

>> A(:,2)=[10,11,12]

A =

1    10

3    11

5    12

>> A=[A,[101;102;103]]%append another column vector

A =

1    10   101

3    11   102

5    12   103

>> A(:)%put all elements of A into a single vector

ans =

1

3

5

10

11

12

101

102

103

B=[11,12;13,14;15,16]

B =

11    12

13    14

15    16

>> C=[A B]

C =

1    10   101   11    12

3    11   102   13    14

5    12   103   15    16

A=[1 2;3 4;5 6]

A =

1     2

3     4

5     6

>> C=[A;B]

C =

1     2

3     4

5     6

11    12

13    14

15    16

========================Computingon Data========================

>>A.*B%对应位置的数据相乘,即element product

ans =

11    24

39    56

75    96

>>A'%转置

ans =

1     3     5

2     4     6

>> A<3

ans =

1     1

0     0

0     0

>> find(A<3)

ans =

1

4

A =

8     1     6

3     5     7

4     9     2

>> [r,c]=find(A>=6)

r =

1

3

1

2

c =

1

2

3

3

a=[1 15 2 0.5]

a =

1.0000   15.0000    2.0000   0.5000

>> sum(a)

ans =

18.5000

>> prod(a)

ans =

15

>> floor(a)%取下界

ans =

1    15     2    0

>> ceil(a)%取上界

ans =

1    15     2    1

rand(3)%创建3*3的random矩阵,每个值在[0,1]之间

ans =

0.6463    0.2760    0.1626

0.7094    0.6797    0.1190

0.7547    0.6551    0.4984

>> max(rand(3),rand(3)) %在两个random的3*3矩阵中找对应位置的max

ans =

0.9597    0.2238    0.5060

0.5472    0.7513    0.8143

0.5853    0.8407   0.8909

A=magic(3)

A =

8     1     6

3     5     7

4     9     2

>> max(A,[],1)表示第一维,即列

ans =

8     9     7

>> max(A,[],2)表示第二维,即行

ans =

8

7

9

max(A) %defaultis column max

ans =

8     9     7

>> max(max(A))

ans =

9

>> A(:)

ans =

8

3

4

1

5

9

6

7

2

>> max(A(:))

ans =

9

>>

>>

>>

>> A=magic(9)

A =

47    58    69   80     1    12   23    34    45

57    68    79    9    11    22   33    44    46

67    78     8   10    21    32   43    54    56

77     7    18   20    31    42   53    55    66

6    17    19   30    41    52   63    65    76

16    27    29   40    51    62   64    75     5

26    28    39   50    61    72   74     4    15

36    38    49   60    71    73    3    14    25

37    48    59   70    81     2   13    24    35

>> sum(A,1)%columnsum

ans =

369   369   369  369   369   369  369   369   369

>> sum(A,2)%sumeach row

ans =

369

369

369

369

369

369

369

369

369

>> eye(9)

ans =

1     0     0    0     0     0    0     0     0

0     1     0    0     0     0    0     0     0

0     0     1    0     0     0    0     0     0

0     0     0    1     0     0    0     0     0

0     0     0    0     1     0    0     0     0

0     0     0    0     0     1    0     0     0

0     0     0    0     0     0    1     0     0

0     0     0    0     0     0    0     1     0

0     0     0    0     0     0    0     0     1

>> A.*eye(9)%takethe element product of the 2 matrix

ans =

47     0     0    0     0     0    0     0     0

0    68     0    0     0     0    0     0     0

0     0     8    0     0     0    0     0     0

0     0    0    20     0    0     0     0    0

0     0     0    0    41     0    0     0     0

0     0     0    0     0    62    0     0     0

0     0     0    0     0     0   74     0     0

0     0     0    0     0     0    0    14     0

0     0     0    0     0     0    0     0    35

>> sum(sum(A.*eye(9)))

ans =

369

>> A=magic(3)

A =

8     1     6

3     5     7

4     9     2

>> temp=pinv(A) %矩阵求逆

temp =

0.1472   -0.1444    0.0639

-0.0611    0.0222    0.1056

-0.0194    0.1889   -0.1028

>> temp*A

ans =

1.0000   -0.0000   -0.0000

-0.0000    1.0000    0.0000

0.0000    0.0000    1.0000

========================PlottingData========================

>>t=[0:0.01:0.98];

>> y1=sin(2*pi*4*t);

>> plot(t,y1)

>> hold on;%plotnew figure on the old ones

>> y2=cos(2*pi*4*t);

>> plot(t,y2,'r')

>> xlabel('time')
>> ylabel('value')
>> legend('sin','cos')
>> title('my plot')
>> print -dpng 'myplot.png'%save as a file in default catalog

>> close

%分别显示两幅图像

>> figure(1);plot(t,y1);

>> figure(2);plot(t,y2)
>>

%一幅图中显示两个subplot

figure
subplot(1,2,1);plot(t,y1)
subplot(1,2,2);plot(t,y2)
axis([0.5 1 -1 1])

A=magic(5)

imagesc(A)

>>imagesc(A),colorbar,colormap gray;

 ========================for if while statements========================
  1. > v=zeros(10,1)
  2. for i=1:10
  3. v(i)=2^i;
  4. end
  5. v

v =

0
     0
     0
     0
     0
     0
     0
     0
     0
     0

v =

2
           4
           8
          16
          32
          64
         128
         256
         512
        1024

  1. indices=1:10;
  2. indices
  3. for i=indices, disp(i);
  4. end
  5. i=1;
  6. while i<=5,
  7. v(i)=100;
  8. i=i+1;
  9. end;
  10. v
  11. i=1;
  12. while true,
  13. v(i)=999;
  14. i=i+1;
  15. if i==6,
  16. break;
  17. end
  18. end
  19. v
  20. v(1)=2;
  21. if v(1)==1,
  22. disp('The value is one');
  23. else if v(1)==2,
  24. disp('The value is two');
  25. else
  26. disp('The value is neither one or two');
  27. end
  28. end

另外还有一些matlab高级应用:

http://emuch.net/bbs/viewthread.php?tid=4340045

MATLAB数据处理快速学习教程的更多相关文章

  1. 【Java线程池快速学习教程】

    1. Java线程池 线程池:顾名思义,用一个池子装载多个线程,使用池子去管理多个线程. 问题来源:应用大量通过new Thread()方法创建执行时间短的线程,较大的消耗系统资源并且系统的响应速度变 ...

  2. 【Java的JNI快速学习教程】

    1. JNI简介 JNI是Java Native Interface的英文缩写,意为Java本地接口. 问题来源:由于Java编写底层的应用较难实现,在一些实时性要求非常高的部分Java较难胜任(实时 ...

  3. Java线程池快速学习教程

    1. Java线程池 线程池:顾名思义,用一个池子装载多个线程,使用池子去管理多个线程. 问题来源:应用大量通过new Thread()方法创建执行时间短的线程,较大的消耗系统资源并且系统的响应速度变 ...

  4. 学习swift语言的快速入门教程推荐

    随着苹果产品越来越火爆,苹果新推出的swift必定将在很大程度上代替oc语言.学好swift语言,对于IOS工程师来讲,已经是一门必备技能. 有一些比较好的英文版教程,值得学习. 1. Swift T ...

  5. 快速学习Symfony4,Symfony4教程

    快速学习Symfony4,Symfony4教程https://symfony.com/doc/current/index.html 关注公众号回复Symfony4教程,Symfony4教程视频,或访问 ...

  6. (*)(转)要快速学习SSM框架,你需要一套学习曲线平滑的教程

    作者:meepo链接:https://www.zhihu.com/question/57719761/answer/156952139来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  7. Linux快速入门教程-进程管理ipcs命令学习

    使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...

  8. ASP.NET MVC 5 学习教程:快速入门

    起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...

  9. MATLAB地图工具箱学习总结(一)从地图投影说起

    MATLAB地图工具箱学习总结(一)从地图投影说起 前言 本学期地图投影课上,李连营老师建议我们使用MATLAB完成每周的作业.从大二上学期开始接触MATLAB学习数学运算和地理数据处理的我,自然不会 ...

随机推荐

  1. Java 的类加载顺序

    Java 的类加载顺序 一.加载顺序:先父类后子类,先静态后普通 1.父类的静态成员变量初始化 2.父类的静态代码块 3.子类的静态成员变量初始化 4.子类的静态代码块 5.父类的普通成员变量初始化 ...

  2. [BZOJ5292][BJOI2018]治疗之雨(概率DP+高斯消元)

    https://blog.csdn.net/xyz32768/article/details/83217209 不难找到DP方程与辅助DP方程,发现DP方程具有后效性,于是高斯消元即可. 但朴素消元显 ...

  3. 一个完成的spring xml配置文件

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. Codeforces Beta Round #37 C. Old Berland Language 暴力 dfs

    C. Old Berland Language 题目连接: http://www.codeforces.com/contest/37/problem/C Description Berland sci ...

  5. nginx 注册为linux系统服务

    #! /bin/sh # chkconfig: - 85 15 # description: nginx is a World Wide Web server. It is used to serve ...

  6. Windows 7安装超级终端连接COM口设备

    Windows 7已经没有超级终端,只能用投机取巧的方式实现. 1.先配置电话 随便填写信息,然后点击确定即可. 2.下载这个终端运行,注意:要以管理员身份运行. 链接: https://pan.ba ...

  7. VPS 虚拟私有主机 Virtual Private Server

    VPS技术介绍 利用最新虚拟化技术Xen在一台物理服务器上创建多个相互隔离的虚拟私有主机(“Virtual Private Server”简称 “VPS”).这些VPS以最大化的效率共享硬件.软件许可 ...

  8. Syncthing vs BitTorrent Sync

    Syncthing 是一款跨平台的文件同步工具.即你在一台设备上创建.修改或删除文件,在其他设备上会同步执行相同的操作.Syncthing 不会将你的数据上传到云端,而是在你的多台设备同时在线时对指定 ...

  9. Android 通话记录分析

    http://stackoverflow.com/questions/6786666/how-do-i-access-call-log-for-android http://android2011de ...

  10. java 内存溢出 栈溢出的原因与排查方法

     1. 内存溢出的原因是什么?        内存溢出是由于没被引用的对象(垃圾)过多造成JVM没有及时回收,造成的内存溢出.如果出现这种现象可行代码排查: 一)是否App中的类中和引用变量过多使用了 ...