MATLAB简单功能使用

发布于:2023-02-18 ⋅ 阅读:(732) ⋅ 点赞:(0)

一,界面认识与功能

  1. 初始界面:List item

  2. ‘预设’中进行简单设置(字体大小等),命令行窗口输入clc可以清楚所有内容。clear all 清除右侧工作区的内容。
    在这里插入图片描述
    在这里插入图片描述

  3. 新建脚本->编辑器
    在这里插入图片描述
    出现编辑器窗口:
    在这里插入图片描述

二,变量命名规则

  1. 变量名区分大小写
  2. 变量名长度不超过63位
  3. 变量名以字母开头,可以由字母数字,下划线组成,不能使用标点
  4. 变量名应该简单明了,容易看出其表示的意义

三,编辑器中语法操作

注意:在代码行的后加分号,运行结果不会显示在命令行窗口;

不加分号,变量的值会随着运行显示在命令行窗口。
在这里插入图片描述
在这里插入图片描述

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)之间生成M
N随机矩阵;

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(2
x);
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)’)

  • 运行结果:

在这里插入图片描述

六,多项式计算

  1. 已知多项式的两个根:求多项式。使用函数poly()
    poly([x1,x2])结果显示的是多项式的系数。
    在这里插入图片描述
  2. 已知多项式求根:使用函数root(),x的0次方位置也要写出
    例子1:
    在这里插入图片描述
    例子2:
    在这里插入图片描述

七,多项式拟合

  1. 三阶多项式拟合,阶数越高拟合效果越好
    %% 多项式拟合

%% 1.画出sin(x)图像
x=0:0.01:2pi %% 从0到2π,步长0.01
y=sin(x)
plot(x,y) %函数绘制平面图
xlim([0 2
pi])

%% 2.用3阶多项式拟合sin(x)
P=polyfit(x,y,3)%3阶拟合,P就是多项式系数
Y=polyval(P,x)%求作用域x上的多项式
plot(x,y,‘b-’,x,Y,‘r*’)

在这里插入图片描述
在这里插入图片描述

论文中可插入的高清图

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看