MATLAB学习笔记2

Matlab学习笔记 Day2

注:仅供学习使用,部分内容来自学校课程课件或网络,理性探讨。

1.内存变量的显示与删除
(1)who:显示MATLAB工作空间中已经驻留的变量名清单。
(2)whos:给出变量名的同时,给出它们的大小、所占字节数和数据类型
(3)clear:删除MATLAB工作空间中的变量。但特殊变量不能被删除。

>>x = 1; y = 2; 
>> who

Your variables are:

x  y  

>> whos
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double              
  y         1x1                 8  double   
             
>> clear
>> 

2.工作空间浏览器:窗口用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数,也可以对变量进行观察、编辑、提取和保存。

个人体会:
①工作窗可以快速看到变量和结果,如果做了clear操作,内容就会消失,这个工作窗口和Codeblocks调试过程中的Watches调试窗类似,可以快速看到变量的初始化等过程。
②当直接在命令窗口右键进行清空时,由工作窗口显示变量不会消失,但是使用clear之后,变量会被彻底清空,因此,如果要重新开始一个新的命令而不使用以前的定义,需要进行clear操作而非“清空命令窗口”。

在这里插入图片描述
在这里插入图片描述
3.内存变量文件:利用MAT文件可以叭MATLAB工作空间中的一些有用的变量长久的保留下来。MAT文件的生成和调入由save和load完成。
(1)save 文件名 [ 变量名表 ] [ -append ] [ -ASCII ]
意为把工作空间中的变量保存到MAT文件中。-append表示添加方式。-ASCII表示数据格式为ASCII码形式,默认为二进制。
例如: save my data2 a -append
(2)load 文件名 [ 变量名表 ] [ -ASCII ]
将MAT文件中保存的变量加载到MATLAB工作空间。参数含义与save相同。

4.向量与矩阵的创建
(1)矩阵的创建:将矩阵元素用方括号括起来,按矩阵行的顺序输入各个元素,**同一行元素用逗号或空格隔开,行与行之间用分号或回车键隔开。**元素可以是数值或者是表达式元素,表达式可由数字、变量、运算符和函数等组成。代码块中,A是3x3的矩阵,z和m分别代表了数组元素可以是复数,也可以是表达式。

>> A=[1,2,3;4,5,6;7,8,9]

A =

     1     2     3
     4     5     6
     7     8     9

>> z=[1+2i,2+3i;2-1i,3-2i]

z =

   1.0000 + 2.0000i   2.0000 + 3.0000i
   2.0000 - 1.0000i   3.0000 - 2.0000i
   
>> m=[-1.3,1+2+3,sqrt(5)]

m =

   -1.3000    6.0000    2.2361

(2)等间隔行向量的创建:
①冒号表达式: x1:dx:x2 或 x1:x2
含义:初值x1,增量dx和终值x2分别表示开始值、步长和结束值。增量可为赋值,省略时则默认增量为1。当增量省略或增量大于0而初值大于终值时,为空向量;当增量小于0而初值小于终值时也为空向量。
②使用linspace:linspace(a,b,n)
含义:生成从a到b之间等线分的n个元素的行向量(n的默认中为100)

(3)特殊矩阵的创建:
①函数库elmat:
zeros(n) 产生nxn零矩阵
zeros(m,n) 产生mxn零矩阵
zeros(size(A)) 产生于矩阵A同样大小的零矩阵
eye()函数为产生主对角线为1的矩阵
ones()函数为产生元素全为1的矩阵
②函数rand用于产生[0,1]之间均匀分布的随机数;randn用于产生服从标准正态分布的随机数(均值为0,标准差为1)

>> r1=rand %产生一个范围在[0,1]的随机数

r1 =

    0.8491

>> r2=rand(2) %产生一个2x2矩阵,其元素在[0,1]范围内

r2 =

    0.9340    0.7577
    0.6787    0.7431

>> r3=rand(2,4) %产生一个2x4矩阵,其元素在[0,1]范围内

r3 =

    0.3922    0.1712    0.0318    0.0462
    0.6555    0.7060    0.2769    0.0971

>> r=round(rand*9+1) %产生1-10之间均匀分布的整数

r =

     8

③diag函数
x = diag(n):以n为向量,则产生以n中元素为主对角线元素的对角矩阵;若以n为矩阵,则提取n的主对角线元素。
x = diag(n,m):以n为向量,产生第m条对角线上的元素为v中元素的对角矩阵;若v为矩阵,则提取的第k条对角线上的元素。
diag函数还可以得到复杂矩阵比如diag(m)+diag(n,1)等
例:diag函数的使用

>> n=[2,-10,8]

n =

     2   -10     8

>> A=diag(n)

A =

     2     0     0
     0   -10     0
     0     0     8

>> A1=diag(n,1)

A1 =

     0     2     0     0
     0     0   -10     0
     0     0     0     8
     0     0     0     0

>> A2=diag(n,-1)

A2 =

     0     0     0     0
     2     0     0     0
     0   -10     0     0
     0     0     8     0

>> x=rand(3)

x =

    0.7572    0.5678    0.5308
    0.7537    0.0759    0.7792
    0.3804    0.0540    0.9340

>> d=diag(x)

d =

    0.7572
    0.0759
    0.9340

>> d1=diag(x,1)

d1 =

    0.5678
    0.7792

>> d2=diag(x,-1)

d2 =

    0.7537
    0.0540

④其他函数
blkdiag(A1,A2…An):生成分块对角矩阵
A=triu(x):矩阵x主对角线及以上元素的上三角矩阵
A=triu(x,k):矩阵x第k条对角线及以上的上三角矩阵
tril()函数为下三角矩阵,用法同triu
magic():生成魔方矩阵(幻方)
还有一些用于生成专门学科的特殊矩阵函数,例如线性代数中提及的范德蒙德矩阵(vander)等。

DAY2学习体会:MATLAB中有很多函数库,这一点非常类似于Python,这些函数可以不用调用而直接使用(省去了import或#include的过程)。这让MATLAB的操作更加容易上手,对于命令窗口,通过是否加分号可以控制是否输出中间变量。而对于脚本,写完的脚本经过保存为.m文件,可以直接调用,都十分方便。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值