Matlab常用语法和基本运算

(一)Matlab基本操作

   1> 实数的加减乘除乘方等运算

      可直接在Matlab的控制台下进行对应的操作,如下。

>> 5+6
ans =
    11

>> 3-2
ans =
     1

>> 5*7
ans =
    35

>> 5*8
ans =
    40

>> 1/2
ans =
    0.5000

>> 2^6
ans =
    64

  2>逻辑运算,1表示真,0表示假

>> 1 == 2               %false
ans =
     0

>> 1 ~= 2               % ~=表示不等于
ans =
     1

>> 1 && 0               % 与  
ans =
     0

>> 1 || 0               % 或
ans =
     1

>> xor(1,0)             %异或
ans =
     1

   3>变量赋值和矩阵初始化

>> a = 3               %变量赋值
a =
     3

>> b = 'hi';           %变量赋值的时候,最后的末尾有一个分号
>> b = 'hi'            %其中有:表示不把结果输出到控制台,没有分号表示将结果输出到控制台
b =
hi

>> a = pi;             %在向控制台输出结果的时候,也可以用disp()函数
>> disp(a)
    3.1416

>> a = pi;
>> disp(a)
    3.1416
>> format long         %format long命令是让数值输出的位数变的多
>> a
a =
   3.141592653589793

>> format short        %format short命令是让数值输出的位数变的少
>> a
a =
    3.1416
-------------------------------------------------------------------------------------


>> A = [1 2; 3 4; 5 6] %建立3行2列的矩阵
A =
     1     2
     3     4
     5     6

>> v = [1;2;3]         %建立3行一列/列向量
v =
     1
     2
     3

>> v = 1:6             %建立6个数
v =
     1     2     3     4     5     6


>> v = 1:0.1:2         %从1开始到2,每隔0.1建立一个数
v =
  1 至 6 列
    1.0000    1.1000    1.2000    1.3000    1.4000    1.5000
  7 至 11 列
    1.6000    1.7000    1.8000    1.9000    2.0000

>> ones(2,3)           %建立3行2列的全一矩阵
ans =
     1     1     1
     1     1     1

>> w = zeros(1,3)      %建立3行1列的全0矩阵
w =
     0     0     0

>> w = rand(1,3)       %建立1行3列的随机矩阵
w =
    0.8147    0.9058    0.1270

>> eye(5)              %建立5行5列的单位矩阵
ans =
     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1

>> A = magic(5)        %建立幻方矩阵,幻方矩阵,就是行和,列和,对角线元素的和都相等。
A =
    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

(二)Matlab移动数据

>> A = [1 2;3 4; 5 6]               %建立一个3行2列的矩阵
A =
     1     2
     3     4
     5     6

>> size(A)                          %求矩阵的大小,为3行2列
ans =
     3     2

>> size(A,1)                        %求矩阵行的大小
ans =
     3

>> size(A,2)                        %求矩阵列的大小
ans =
     2

>> length(A)                        %求矩阵行的大小和列的大小中较大的
ans =
     3

>> load ex1data1.txt                %从文件中加载数据
>> ex1data1                         %显示出文件中的数据
ex1data1 =
    6.1101   17.5920
    5.5277    9.1302
    8.5186   13.6620
    ......   .......

>> who                              %可以用who来表示当前变量

您的变量为:
A         ans       ex1data1         

>> whos                             %用来显示出变量的信息 
  Name           Size            Bytes  Class     Attributes

  A              3x2                48  double              
  ans            1x18               36  char                
  ex1data1      97x2              1552  double              

>> clear ans                        %删除变量信息

>> v = ex1data1(1:10)               %将ex1data1中的数据1-10赋值给v

>> save hello.mat v;                %讲变量v保存到hello中,后缀名为.mat

>> save hello.txt v -ascii          %将变量v保存到hello中,后缀名为.txt格式

>> A                                %输出矩阵A的值
A =
     1     2
     3     4
     5     6
>> A(3,2)                           %输出矩阵中A(3,2)的元素
ans =
     6

>> A(2,:)                           %输出矩阵中的第二行元素
ans =
     3     4

>> A(:,2)                           %输出矩阵中的第二列元素
ans =
     2
     4
     6

>> A([1 3],:)                       %输出矩阵中的第一行,第三行的元素
ans =
     1     2
     5     6

>> A(:,2)=[10;11;12]                %将矩阵中第二列元素替换为[10;11;12]
A =
     1    10
     3    11
     5    12

>> A = [A,[100;101;102]]            %在矩阵后新添加一列,在这里用;间隔表示元素是列元素。
A =                                 %用,间隔,表示元素是行元素。如下所示
     1    10   100
     3    11   101
     5    12   102

>> A=[A;[100,101,102]]
A =
     1    10   100
     3    11   101
     5    12   102
   100   101   102


   (三)  Matlab计算数据

    1>矩阵元素的基本运算:矩阵乘法,矩阵中对应元素乘积等

>> A = [1 2;3 4;5 6]               %建立3行2列矩阵A
A =
     1     2
     3     4
     5     6

>> B =[11 12;13 14;15 16]          %建立3行2类矩阵B
B =
    11    12
    13    14
    15    16

>> C = [1 1; 2 2]                  %建立2行2列矩阵C
C =
     1     1
     2     2

>> A*C                             %计算矩阵A和矩阵C的乘积
ans =
     5     5
    11    11
    17    17

>> A .* B                          %计算矩阵A中的每个元素和B中的每个元素对应相乘。
ans =
    11    24
    39    56
    75    96

>> A .^ 2                          %表示把A中的每个元素都平方,其中.的意思是操作元素。 
ans =
     1     4
     9    16
    25    36

>> A'                              %矩阵的转置
ans =

     1     3     5
     2     4     6

>> A = magic(3)                    %建立幻方矩阵
A =
     8     1     6
     3     5     7
     4     9     2

>> pinv(A)                         %对矩阵A求逆
ans =
    0.1472   -0.1444    0.0639
   -0.0611    0.0222    0.1056
   -0.0194    0.1889   -0.1028

>> A(:)                            %将3行3列的矩阵变成9行1列的矩阵
ans =
     8
     3
     4
     1
     5
     9
     6
     7
     2
-------------------------------------------------------------------------------------
%对矩阵进行函数操作
>> v = [1;2;3]                     %建立3行1列矩阵
v =
     1
     2
     3

>> 1 ./v                           %对矩阵中每个元素取倒数 
ans =
    1.0000
    0.5000
    0.3333

>> exp(v)                          %对每个元素进行指数操作
ans =
    2.7183
    7.3891
   20.0855

>> -v                              %矩阵中每个元素取反
ans =
    -1
    -2
    -3

   (四)  Matlab数据绘制

     1>用matlab进行数据绘制

>> t = [0:0.01:0.98];                  %初始化自变量的范围
>> y1 = sin(2*pi*4*t);                 %初始化因变量的范围,y1为正弦函数
>> y2 = cos(2*pi*4*t);                 %初始化因变量的范文,y2为余弦函数

>> plot(t,y1)                          %绘制正弦函数图像
>> hold on                             %运行此命令是为了让两个函数图像绘制在一起
>> plot(t,y2)                          %绘制余弦函数图像
>> xlabel('time')                      %x坐标的标签
>> ylabel('value')                     %y坐标的标签
>> legend('sin','cos')                 %图像标记
>> title('my plot')                    %主题
>> print -dpng 'myPlot.png'            %保存图像
>> close                               %关闭图像

>> subplot(1,2,1)                      %将图像分为两部分,在两部分上分别绘制
>> plot(t,y1)
>> subplot(1,2,2)                      
>> plot(t,y2)
>> axis([0.5 1 -1 1])

 做出的图像如下所示:

 

 

 参考资料:网易云课堂-吴恩达-机器学习公开课

 

Matlab常用算法大集合: Floyd算法.rar 免疫算法.rar 分治算法.rar 动态规划.rar 图论.rar 学习路线.png 搜索算法.rar 概率算法.rar 模拟退火算法.rar 灰色预测.rar 穷举法求解0-1整数规划的matlab程序.rar 类比法.rar 组合算法.rar 网上matlab.rar 聚类算法.rar 蒙特卡洛.rar 课前必读.txt 贪婪算法.rar 遗传算法.rar 遗传退火法.rar 先进算法讲义.pdf 十大算法 图论算法及其MATLAB实现++完成.pdf 学习路线.png 常用算法PPT.rar 最优化计算机原理与算法程序设计.pdf 第03章 非线性规划.pdf 第04章 动态规划.pdf 第05章 图与网络.pdf 第06章 排队论.pdf 第07章 对策论.pdf 第08章 层次分析法.pdf 第09章 插值与拟合.pdf 第10章 数据的统计描述和分析.pdf 第11章 方差分析.pdf 第12章 回归分析.pdf 第13章 微分方程建模.pdf 第14章 稳定状态模型.pdf 第15章 常微分方程的解法.pdf 第16章 差分方程模型.pdf 第17章 马氏链模型.pdf 第18章 变分法模型.pdf 第19章 神经网络模型.pdf 第20章 偏微分方程的数值解.pdf 第21章 目标规划.pdf 第22章 模糊数学模型.pdf 第23章 现代优化算法.pdf 第24章 时间序列模型.pdf 第25章 存贮论.pdf 第26章 经济与金融中的优化问题.pdf 第27章 生产与服务运作管理中的优化问题.pdf 第28章 灰色系统理论及其应用.pdf 第29章 多元分析.pdf 第30章 偏最小二乘回归.pdf 算法数论.pdf 蒙特卡罗算法案例.pdf 蚁群算法最短路径matlab程序.doc 蚂蚁算法.rar 课前必读.txt 遗传算法matlab代码.doc 遗传算法matlab实现源程序.doc 遗传算法及其matlab实现[1][1].pdf 遗传算法及其MATLAB程序.doc 附录一 Matlab入门.pdf 附录二 Matlab在线性代数中的应用.pdf 附录四 判别分析.pdf
第4章: 插值 函数名 功能 Language 求已知数据点的拉格朗日插值多项式 Atken 求已知数据点的艾特肯插值多项式 Newton 求已知数据点的均差形式的牛顿插值多项式 Newtonforward 求已知数据点的前向牛顿差分插值多项式 Newtonback 求已知数据点的后向牛顿差分插值多项式 Gauss 求已知数据点的高斯插值多项式 Hermite 求已知数据点的埃尔米特插值多项式 SubHermite 求已知数据点的分段三次埃尔米特插值多项式及其插值点处的值 SecSample 求已知数据点的二次样条插值多项式及其插值点处的值 ThrSample1 求已知数据点的第一类三次样条插值多项式及其插值点处的值 ThrSample2 求已知数据点的第二类三次样条插值多项式及其插值点处的值 ThrSample3 求已知数据点的第三类三次样条插值多项式及其插值点处的值 BSample 求已知数据点的第一类B样条的插值 DCS 用倒差商算法求已知数据点的有理分式形式的插值分式 Neville 用Neville算法求已知数据点的有理分式形式的插值分式 FCZ 用倒差商算法求已知数据点的有理分式形式的插值分式 DL 用双线性插值求已知点的插值 DTL 用二元三点拉格朗日插值求已知点的插值 DH 用分片双三次埃尔米特插值求插值点的z坐标 第5章: 函数逼近 Chebyshev 用切比雪夫多项式逼近已知函数 Legendre 用勒让德多项式逼近已知函数 Pade 用帕德形式的有理分式逼近已知函数 lmz 用列梅兹算法确定函数的最佳一致逼近多项式 ZJPF 求已知函数的最佳平方逼近多项式 FZZ 用傅立叶级数逼近已知的连续周期函数 DFF 离散周期数据点的傅立叶逼近 SmartBJ 用自适应分段线性法逼近已知函数 SmartBJ 用自适应样条逼近(第一类)已知函数 multifit 离散试验数据点的多项式曲线拟合 LZXEC 离散试验数据点的线性最小二乘拟合 ZJZXEC 离散试验数据点的正交多项式最小二乘拟合 第6章: 矩阵特征值计算 Chapoly 通过求矩阵特征多项式的根来求其特征值 pmethod 幂法求矩阵的主特征值及主特征向量 rpmethod 瑞利商加速幂法求对称矩阵的主特征值及主特征向量 spmethod 收缩法求矩阵全部特征值 ipmethod 收缩法求矩阵全部特征值 dimethod 位移逆幂法求矩阵离某个常数最近的特征值及其对应的特征向量 qrtz QR基本算法求矩阵全部特征值 hessqrtz 海森伯格QR算法求矩阵全部特征值 rqrtz 瑞利商位移QR算法求矩阵全部特征值 第7章: 数值微分 第8章: 数值积分 第9章: 方程求根 .............................. .............. 第17章: 数据统计和分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值