Matlab(Matrix & Laboratory)是一款功能十分强大的数学软件,同时也可算作一门编程语言,其语法与C++有许多共通之处,但比C++更加简洁明快,因此对于有基础的同学来说上手应该很快。
笔者打算利用假期时间自学部分matlab知识,并做些笔记,方便复习,亦作分享。
矩阵基础
matlab的操作对象是矩阵,因而首先介绍如何在matlab中定义矩阵、给矩阵元素赋值、引用矩阵元素。
定义矩阵
>> 是matlab默认的命令提示符,自动显示在每一行开头
空格 or 逗号 用来分隔矩阵同一行元素
; 此处为分隔矩阵不同行
此外,分号也可同C++中一样,放在一条语句的末尾,代表结束。
在matlab中,一行末尾不加分号直接按回车,就会自动执行该段语句;一行末尾加分号后再按回车,则可继续输入下行语句,不会自动执行。
matlab中定义矩阵十分简单,完全符合直观感受。
给矩阵元素赋值
特例——向量
|
|
矩阵(或向量)元素可以是任何数值表达式
单个元素赋值
|
|
其中x为向量;A是值为1到9的3*3矩阵。赋值语句简单,无需多言。
此外
% 之后的语句为注释语句,不会实际执行,同C++中 // 用法相同。
给矩阵添加行、列
添加行
|
|
添加列
|
|
看清空格与分号,分清行列即可。
矩阵元素引用
以矩阵 A 为例
1 2 3
4 5 6
7 8 9
单个元素
|
|
Matlab中矩阵元素在内存中的存储方式
Matlab中,矩阵元素按列维度优先的方式存储。
例如矩阵A在内存中为“1,4,7,2,5,8,3,6,9”.
因此,在使用‘A(6)’命令时,得到数据‘8’而不是‘6’.
多个元素
|
|
在此介绍两个重要知识点
冒号的特殊用法
a:b:c
产生一个由等差序列组成的向量;
a是首项,b是公差,c是末项;
特别地,若b=1,则b可省略,写作a:c
子矩阵
A(i:j,m:n)
表示由矩阵A的第i-j行和第m-n列交叉线间的元素组成的子矩阵
Matlab变量
Matlab变量基本同任何编程语言的变量一样,但在matlab中编写更加简洁。
命名原则
以字母开头,后面可跟字母、数字、下划线
长度不超过63个字符(这句基本废话,谁会起那么长的名字…)
变量名区分大小写
变量赋值语句
变量名=表达式
续行符
|
|
如果语句很长,可用“…”(三个英文点)续一行
续行符之前记得留一个空格,否则可能出现错误
变量查询
who:显示工作空间中所有变量名
whos:显示工作空间中所有变量及其详细属性
讲道理,我用的16版matlab里边,默认布局右侧就是工作空间变量的详细属性,所以新版matlab应该很少用这两个命令。
系统预定义变量
pi:圆周率π
i:虚数单位
inf:无穷大(infinite)
nan:不定值(not-a-number)
Matlab基本运算
这一标题我们主要说说matlab如何作为一只科学计算器来使用
数学运算符
加减乘除就不说了,该怎么写就怎么写
a^b:a的b次方
复数的输入
z=a+bi
或者z=a+b*i
其中a,b为常数,i为虚数单位
炒鸡简单是吧hhh
常用数学函数
三角函数
sin,cos,tan,cot等正三角函数该怎么写怎么写
反三角函数注意了!!注意了!!
arcsin写作asin
以此类比
指数函数
exp():e为底的指数
pow2():2的幂
sqrt():平方根
log():自然对数
log10():10为底的对数
复数函数
abs():绝对值
conj():共轭复数
real():复数实部
imag():复数虚部
angle():相角
其他函数
sign():符号函数
mean():平均值
median():中位数
std():标准差
sort():排序
prod():总乘积
dot():内积(点积)
cross():外积(叉乘)
好啦!第一篇就说到这,这一篇文章基本都是基础中的基础,学过编程的同学应该都会感觉到很容易。