一,界面认识与功能
初始界面:
‘预设’中进行简单设置(字体大小等),命令行窗口输入clc可以清楚所有内容。clear all 清除右侧工作区的内容。
新建脚本->编辑器
出现编辑器窗口:
二,变量命名规则
- 变量名区分大小写
- 变量名长度不超过63位
- 变量名以字母开头,可以由字母数字,下划线组成,不能使用标点
- 变量名应该简单明了,容易看出其表示的意义
三,编辑器中语法操作
注意:在代码行的后加分号,运行结果不会显示在命令行窗口;
不加分号,变量的值会随着运行显示在命令行窗口。
3.1 注释:%%加一个空格,注释一行
3.2常用矩阵方法
- 分号用来分割每一行,逗号用来隔开每个数字
A=[1 2 3 4 5 6 7 8 9]//构造一行九列的矩阵
B=1:2:9//从1到9,步长为2,1+2=3;3+2=5…
C=repmat(B,3,2)使得矩阵B复制三行,两列
D=ones(2,4)%% 生成两行4列全为1的矩阵
3.3 rand,randi和randn的区别?
(1)rand生成均匀分布的随机数,分布在0-1之间
rand(m,n):生成m行n列的均匀分布随机数;
rand(m,n,double):生成指定精度的随机数;
(2)randn生成标准正态分布的伪随机数,语法同rand
(3)randi生成均匀分布的伪随机数
randi(imax)在开区间(0-imax)生成均匀分布的伪随机数;
randi(imax,m,n)在开区间(0-imax)生成MN随机矩阵;
randi(【imin,imax】,m,n)在(imin,imax)之间生成MN随机矩阵;
3.4元胞数组
MATLAB的数组下标从1开始
3.5结构体
结构体名=struct(‘内容名1’,{},‘内容名2’,[数字1,数字2])
book.name(1)和book.name{1}区别
一个输出cell数组,一个是字符串
3.6矩阵的下标
W=[1 2 3 4; 6 7 8 9;2 4 6 4]
H=W(2,3) %% 取矩阵W的第二行第三个元素
E=W(2,:) %% 取矩阵W的第二行所有元素,:代表所有
T=W(:,4) %% 取矩阵W的第4列所有元素
%% find()函数,括号内为条件
W=[1 2 3 4; 6 7 8 9;2 4 6 4]
[m,n]=find(W<5)
3.7矩阵运算
注:方阵才有逆矩阵
C=AB //矩阵相乘
C= A.B //**A点B** A矩阵与B矩阵对应项相乘
第一题中号前有个点,表示两个矩阵对应位置相乘
第二题中底数和幂都是1到9,^之前有个点,表示一一对应关系。
四,程序结构
4.1for循环
- 结构:
for 循环变量=初值:步长(默认为1,可省略):终值
语句。。。。
end
- 例题1:
从1+…100的循环写法:
sum=0
for n=1:100 //步长为1可省略
sum=sum+1
end
4.2while循环
- 结构
while 条件
循环体
end
- 例题2:
求1+2+3+…+10
sum=0
n=1
while n<=10
sum=sum+n
n=n+1
end
4.3分支结构
结构1:
if 条件
语句体
end结构2:
if 条件
语句体1
else
语句体2
end结构3:
switch 表达式
case 数值1
语句体1;
case 数值2
语句体2;
.
.
.
.
end
五,二维绘图
5.1plot函数实现画图
- 参数设置:
- 代码:
x=0:0.01:2*pi %从0到2π,步长0.01
y=sin(x)
figure %创建一个幕布
plot(x,y) %函数绘制平面图
5.2图像标题设置
- 代码:
title(‘y=sin(x)’) %标题
xlabel(‘X’)
ylabel(‘sin(x)’)
- 运行结果:
- 图中右侧边与线不齐,可用xlim([0 2*pi])
5.3图像分割函数:
- subplot(m,n,p)将画板分成m行n列区域
- 并指定p编号区域为当前绘图区域编号顺序先上后下,先左后右
- 代码:
x=0:0.05:7;
y1=sin(x)
y2=1.5cos(x);
y3=sin(2x);
y4=5cos(2x)
subplot(2,2,1) ;plot(x,y1 );title(‘sin(x)’)
subplot(2,2,2); plot(x,y2);title(‘cos(x)’)
subplot(2,2,3); plot(x,y3);title(‘sin(2x)’)
subplot(2,2,4); plot(x,y4);title(‘cos(2x)’)
- 运行结果:
六,多项式计算
- 已知多项式的两个根:求多项式。使用函数poly()
poly([x1,x2])结果显示的是多项式的系数。
- 已知多项式求根:使用函数root(),x的0次方位置也要写出
例子1:
例子2:
七,多项式拟合
- 三阶多项式拟合,阶数越高拟合效果越好
%% 多项式拟合
%% 1.画出sin(x)图像
x=0:0.01:2pi %% 从0到2π,步长0.01
y=sin(x)
plot(x,y) %函数绘制平面图
xlim([0 2pi])
%% 2.用3阶多项式拟合sin(x)
P=polyfit(x,y,3)%3阶拟合,P就是多项式系数
Y=polyval(P,x)%求作用域x上的多项式
plot(x,y,‘b-’,x,Y,‘r*’)