matlab基础笔记合集
(1)1.左上可以新建实时编辑器(相当于一个可以查看的文本)
2.变量名需要简结明了
3.变量名需要字母开头
4.编辑器页上有星号代表没保存。举一反三除了这个软件,其他文本都是有星号代表尚未保存
5.输入“clc”清除command Windows(命令行窗口)的所有命令
6.输入“clear”是清除workspace(工作区)中的所有变量
7.变量名区分大小写
8.变量名长度不能超过63位,不然会被截断,反正就是有字数限制的意思
9.“%”后面的是注释
10.一个空格算一个字符
11.abs(x)是取绝对值的函数
12.A=[1 2 3; 4 5 6; 7 8 9]表示一个矩阵
13.B=A' 表示矩阵的转置 (行变列,列变行)
14.C=A(:) 按列往下放置
(2)1.rand:生成均匀分布的伪随机数。分布在(0,1)之间
2.rand语法一:rand(m,n)生成指定精度的均匀分布的伪随机数,参数还可以是'single'
3.rand语法二:rand(RandStream,m,n)利用指定的RandStream(随机种子)生成伪随机数
4.randn生成标准的正态分布的伪随机数(均值为0,方差为1)(语法和rand一样)
5.randi:生成均匀分布的伪随机整数
6.randi语法一:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
7.randi语法二:randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
8randi语法三:r=randi ([iMin,iMax],m,n)在开区间(iMin,iMax)生成的mXn型随机矩阵
9.元胞数组是matlab特有的一种数据类型,可以逐渐追踪一直到所有的变量全部翻译成基本信息。元胞数组的class函数输出就是cell。
10.magic在matlab中用来生成n阶幻方。magic(n)生成n*n阶的矩阵,使每行、每列,以及主、副对角线上面的n个数之和都相等(这个和等于n*(n^2+1)/2)
11.前面先令A=一个元胞数组之后的A{n}代表在按列从上往下数第n项为设计的程序
12.输入错误可以按 向上箭头键 继续输入内容
(3)1.结构体:books=struct('name',{{'Machine Learning','Date Mining'}},'price',[30 40])
struct后面的称为结构体,我们把它赋予books
2.books.name相当于在books当中选择name这个属性
3.books.name(n)表示选择name属性的第n项 结果是个元胞数组
4.books.name{n}表示选择name属性的第n项 结果是个值(字符串)
5.A=[1 2 3 4 5 6 7 8 9 ; 9 8 7 6 5 4 3 2 1]表示一个矩阵 分号属于隔行 数量跟第一排一样因为是矩阵嘛(注意输入时符号的中英文)
6.B=1:2:9 前后的“1”、“9”表示取值范围,中间的“2”表示差值
7.C=repmat(B, 3, 2) "3"代表重复三行、“2”代表重复2列 注意书写时逗号之后要空格
8.D=ones(2, 4)表示生成两行四列的元素为1的矩阵
9.输入“clear”是清除workspace(工作区)中的所有变量
10.设A=[1 2 3; 4 5 6] B=[1 1 1; 2 2 2]
C=A+B 对应相加 D=A-B对应相减
11.E=A*B' (A乘B的转置)(需要第一个矩阵的列数和第二个矩阵的行数相同才能相乘)
12.G=A/B 相当于A乘B的逆矩阵(矩阵里面没有直接表示除的但是意思上时乘逆矩阵) 设H=B' 那么H就是B的逆矩阵了
13.J=A.*B意思是每一项对应相乘
(4)1.在语言中”:“是取全部的意思
2. 令A=magic(5)
B=A(2, 3)指在A当中第二行第三列的值
C=A(3, :)指的是第三行的全部列。同理,D=A(:, 4)指的是第四列的全部行
3.在Matlab中find函数表示查找,它可以按条件返回向量或矩阵中的满足条件元素的位置
[m, n]=find(A>20) 指的是大于20的数的行和列是什么
4.matlab的逻辑与流程控制
if ... else ... end : if ... end 是只有一个判断语句,当条件表达式为真的时候,就执行语句体;
如果条件表达式为假,就跳出条件体,执行end后面的语句
例子:
a = 100;
b = 20;
if a > b
disp('成立')
end
所以 if ...(语句体1) else ...(语句体2) end 的意思是如果表达式为真,则系统将执行语句体1;如果表达式为假,则执行语句体2
例子:
a = 100;
b = 20;
if a > b
disp('成立')
else
disp('不成立')
end
5.for ... end 指按给定的范围或者给定的循环次数重复完成一次或者多次运算。从for开始到end结束
基础格式:for 循环变量=初值:步长:终值 (步长可以省略,默认为1)
执行语句1
...
执行语句n
end
例子:求1^2+2^2+3^2+4^2+5^2的值
sum = 0;
for n = 1: 5
sum = sum + n^2;
end
6.while ... end 执行方式为:若条件表达式中的条件成立,则执行循环语句体;若不成立,则执行end后面的语句
例子:求1~100的奇数和
程序设计为:
x = 1;
sum = 0;
while x < 101
sum = sum + x;
x= x + 2;
end
7.switch ... case ... end
意思是通过与某个表达式的值进行比较,根据比较结果来做不同的选择,以实现程序的分支功能
结构格式为:
switch 表达式(数值或者字符串)
case 数值或者字符串1
语句体1;
case 数值或者字符串2
语句体2;
...
otherwise
语句体n;
end
(otherwise 是 否则;其他情况下 的意思)
(5)二维平面绘图:令x=0:0.01:2*pi y=sin(x)
1.在matlab中Π写作pi
2.figure:建立一个幕布
3.plot(x,y)指绘制一个关于x和y的二维平面图
4.title('y=sin(x)') 编辑一个标题为y=sin(x)
5.xlabel(’x‘)指横坐标为x
6.ylabel(’sin(x)‘)指纵坐标为sin(x)
7.xlim(0 2*pi)可以使图像右边无缝隙
8.绘制的图像线条颜色符号:红r 绿g 蓝b 黄y 粉红m 青c 白w 黑k
线条线型符号:实线 - 虚线 -- 冒号线 : 点画线 -.
9.plotyy 指的是共用一个x的坐标系
(6)1.二维绘图用plot,三维绘图用plot3
2.令t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
(设标签:)xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on(加入网格线)
(hold on:同一个幕布当中绘制多条线 ; 不再多绘制线了,图已经生成结束了就是hold off)
axis square(让图像变为正方形)
(7).图形的保存与输出
1.在幕布(图像)中的编辑选项中点击复制图形,就可以在word或者其他软件中直接粘贴了
2.在幕布(图像)中的文件选项中点击另存为,可以更改格式的保存
3.在导出设置的大小属性中设置宽度和高度可以在word的俩栏或者多栏中图像依然保持清晰(合适值为200等、厘米改为磅)