matlab基础语法总结

文章目录

    • 1. 界面认识
    • 2. 变量命名
    • 3. 数据类型
    • 4. 矩阵构造和四则运算
    • 5. 程序结构
    • 6. 二维平面绘图
    • 7. 三维立体绘图
    • 8. 线性规划
    • 9. 积分


1. 界面认识

  • 命令行输入clc:清除命令行窗口
  • 命令行输入clear all:清除右侧工作区
  • %:注释代码

2. 变量命名

  • 区分大小写
  • 以字母开头,可以使用下划线

3. 数据类型

  • 数字:abs()
  • 字符与字符串:字符串用单引号、char()、length()
  • 矩阵
A=[1 2 3; 4 5 6; 7 8 9]
B=A' % 转置
C=A(:) % 竖向拉长
D=inv(A) % 求逆
A*D
E=zeros(10,5,3) % 1053维
E1=rand(10,5) % 0-1之间均匀分布的伪随机数
E2=randi([3,7],10,5) % 固定范围的随机整数
E3=randn(10,5) % 标准正态分布的伪随机数(均值为0,方差为1
  • 元胞数组
A=cell(1,6) % 16列的元胞数组
A{2}=eye(3) % 33列的单位阵
A{5}=magic(4) % 4阶幻方
  • 结构体
books=struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
books.name
books.name(1) % 1×1cell
books.name{1} % 字符串

4. 矩阵构造和四则运算

  • 矩阵构造
A=[1 2 3 4 5 6]
B=1:2:9 % 范围为1-9,步长为2
C=repmat(B,3,2) % 让B矩阵重复3×2次
D=ones(4,4) % 生成14×4的全1矩阵

应用:

解线性方程组:matlab基础语法总结_第1张图片

A=[5 6 -12; 6 5 -2; 4 -9 2;]
B=[1 129 17]'
invA=inv(A)
X=invA*B
  • 四则运算
A=[1 2 3 4; 5 6 7 8]
B=[4 3 2 1; 8 7 6 5]
C=A+B
D=A-B
E=A*B' % 矩阵相乘,A的行=B的列
F=A.*B % 对应项相乘
G=A/B % G*B=A 
H=A./B % 对应项相除
  • 矩阵的下标
A=magic(5)
B=A(2,3) % 取A矩阵第2行第3列的数
C=A(3,:) % 取A矩阵的第3行
D=A(:,4) % 取A矩阵的第4[m,n]=find(A>15) % 找出A矩阵中大于15的数,并用下标表示出来

5. 程序结构

  • for
%1-5平方的和
sum=0;
for i=1:5
    sum=sum+i^2;
end
  • if
a=100;
b=20;
if a>b
    '成立'
else
    '不成立'
end
  • while
%1-10的和
sum=0;
n=1;
while n<=10
    sum=sum+n;
    n=n+1;
end

6. 二维平面绘图

示例1:

x=0:0.01:2*pi;
y=sin(x);
figure % 幕布
plot(x,y)
title('y=sin(x)')
xlabel('x')
ylabel('sin(x)')
xlim([0 2*pi])

matlab基础语法总结_第2张图片
示例2:

x=linspace(0,30,500); % 0-30之间500个元素
y=x.*sin(x); % 增益正弦函数
plot(x,y,'LineWidth',1.5); % 线宽为1.5
title('增益正弦函数');
xlabel('\alpha');
ylabel('sin(\alpha)');
legend('sin(\alpha)'); % 插入线形标注
text(2,2*sin(2),'\rightarrow Okey!'); % 插入文字和箭头
grid on; % 显示网格线
box on; % 显示坐标轴框

matlab基础语法总结_第3张图片
示例3:

x1=linspace(0,2*pi,100);
x2=linspace(0,3,100);
y1=1/3*x1.*sin(2*x1);
y2=x2.^2+2*x2;
plot(x1,y1,'r:',x2,y2,'b--');

matlab基础语法总结_第4张图片
示例4:

x=linspace(0,2*pi,60);

subplot(2,2,1);
plot(x,sin(x)-1);
title('sin(x)-1');
axis([0,2*pi,-2,0]);

subplot(2,1,2);
plot(x,cos(x)+1);
title('cos(x)+1');
axis([0,2*pi,0,2]);

subplot(4,4,3);
plot(x,tan(x));
title('tan(x)');
axis([0,2*pi,-40,40]);

subplot(4,4,8);
plot(x,cot(x));
title('cot(x)');
axis([0,2*pi,-35,35]);

matlab基础语法总结_第5张图片

7. 三维立体绘图

示例1:

x=0:pi/50:10*pi;
plot3(sin(x),cos(x),x);
xlabel('sin(x)');
ylabel('cos(x)');
zlabel('t');
grid on;
axis square; % 将当前坐标系图形设置为方形

matlab基础语法总结_第6张图片

示例2:

[x,y,z]=peaks(30);
mesh(x,y,z);
grid on;

matlab基础语法总结_第7张图片

8. 线性规划

线性规划的matlab的标准形式如下:

matlab基础语法总结_第8张图片
(1): −x(1)−x(2)/3
(2):
matlab基础语法总结_第9张图片
(3): x(1)+x(2)/4=1/2
(4): −1≤x(1)≤1.5, −0.5≤x(2)≤1.25.

f=[-1 -1/3]; #目标函数
A=[1 1
    1 1/4
    1 -1
    -1/4 -1
    -1 -1
    -1 1]; #不等式约束条件矩阵
b=[2 1 2 1 -1 2]; #对应不等式右侧的矩阵
Aeq=[1 1/4]; #等式约束条件矩阵
beq=1/2; #对应等式右侧的矩阵
lb=[-1 0.5]; #下界
ub=[1.5 1.25]; #上界
x=linprog(f,A,b,Aeq,beq,lb,ub);

9. 积分

在这里插入图片描述

f=@(x) (sqrt(4-sin(x).^2));
y=integral(f,0,pi/6);

在这里插入图片描述

f=@(x) exp(-x.^2);
y=integral(f,0,1);

你可能感兴趣的:(数学建模,matlab,开发语言)