matlab 基础知识

前言:

  matlab是一个解释型的语言不需要编译,它既可以在命令窗口中一句一句的执行,也可以创建一个脚本整个的执行。这里我们要注意的是我们的执行后产生的变量会在workspace(工作区)显示,而且在工作区变量的值还是会影响下次的程序的执行,所以一般在执行前我们用clear (all);(我们也可以利用clear+变量来清除单一的变量)来清除所有在工作区的变量!还有如果我们感觉命令窗口的输入很乱的时候我们我们可以通过输入clc;来清空命令行窗口。还有一点我们与要注意的是当我们在运行后产生的图形如果不关闭有时候会影响我们的下次的绘图,所以我们可以采用close all;还有就是但那个我们的程序运行后进入到一个错误的繁忙时我们可以采用在命令行输入ctrl+c。最后我们要注意的一点是分号‘’是代表着不立即显示结果,所以一般情况下我们在脚本每写完一句话就要加上一个分号。在matlab中{}基本都是cell结构使用的其他的用不到,当我们采用()基本上都是寻值,带入参数用的,而我们采用的 [ ] 基本上都是输入变量或者是矩阵时候才用到的。这里还需要注意的一点是,matlab都是从1开始的,不是从零

数据:

1.首先matlab的变量和其他的编程的语言不一样的一点是其变量是不需要变量的声明

2.我们自定义变量名的时候要规避关键词:pi,inf(无穷大),eps(极小)等等。

3.在matlab中没有数组的概念,数组就是一个1xn的矩阵

既然矩阵这么重要,那么接下来介绍一下矩阵的一些操作

clc;
clear;
%矩阵的定义,其中的分号是代表着分行的意思,同一行的元素用空格隔开
A=[1 2 3;2 3 4];
disp(A);
B=[1 2 3;...
    2 3 4];

%矩阵的index
%矩阵的按号寻值,第一列第一个序号1,第一列第二个序号为2,依次循环
A(2);%结果是2
A([2,4]);%结果是[2 3]
A([2 4;1 5]);%结果是[2 3;1 3]

%矩阵的按位置寻值,第一个元素代表行row,第二个元素代表着列colum
A(1,2);%结果2
A([1 2],[1 3]);%结果是[1 3;2 4]
A(2,:);%第二行全员

  

  矩阵还有一些操作比如+,-(按元素加减),*(正常的矩阵相乘行乘列),.*(对应元素相乘不是矩阵的乘法),矩阵的转置用 \'即可,矩阵和常数相加即矩阵的每一个元素和常数相加。

  同样的矩阵还有删除的操作比如:A(2,:)=[];

  矩阵还有一些其他的操作:

eye(n);%nxn单位矩阵
zeros(n,m);%nxm的零矩阵
ones(n,m);%nxm的一矩阵
diag([......]);%对角矩阵
size(A);%A的行和列

  循环判断

%y向量存奇数,z向量存偶数
for i=1:n%这里要特别的注意
     if mod(x(i),2)
         y(j)=x(i);
         j=j+1;
     else
         z(k)=x(i);
         k=k+1;
     end         
end


while(1)
    s=s-1.0/factorial(i);
    if(s<1e-6)
        break;
    end
    i=i+1;
end

switch floor(price/1000)
    case {0,1}
        taxes=0; 
    case {2,3,4}
        taxes=(price-2000)*0.02; 
    otherwise
        taxes=(5000-2000)*0.02+(price-5000)*0.05;
        fee=60;        
end