数学建模——matlab基础语法

matlab基础

  • 一、数据类型、输入和输出
    • 1.1数据类型
    • 1.2变量
    • 1.3常用内置函数
  • 二、向量和矩阵
    • 2.1向量
    • 2.2矩阵
    • 2.3常用矩阵内置函数
    • 2.4矩阵运算
  • 三、脚本及函数
    • 3.1、脚本的使用
    • 3.2、函数的使用
  • 四、输入与输出
  • 五、运算符
  • 六、条件结构

一、数据类型、输入和输出

1.1数据类型

  1. 无穷:inf
  2. 非数字:NaN
  3. 圆周率:pi
  4. 字符串:‘dcd’
  5. 字符串数组:char(‘dcd’,‘yyds’)
  6. 整型:uint8、uint16、uint32、uint64、int8、int16、int32、int64
  7. 查看最值:intmin(‘int8’) intmax(‘int64’)
  8. 浮点数:double()、single
  9. 浮点精度:eps(‘single’) realmin(‘single’) realmax(‘single’)

1.2变量

  1. 运算符:±*/^
  2. 变量赋值:x=15(whos查看所有变量)
  3. 变量打印:x
  4. 变量命名:字母开头最长63字符
  5. 查看内置变量:iskeyword

1.3常用内置函数

  1. 开方:sqrt()
  2. 开n次方:nthroot(x,n)
  3. 指数:exp(x)
  4. 绝对值:abs()
  5. 对数:log(x),log10(x)
  6. 三角函数:sin(x),sind(x),cos(x)
  7. 近似函数:就近取整round(x),向零取整fix().向上取整ceil,向下取整floor(),取余rem()
  8. 清除内存变量:clear x y z、clear all、clc
  9. 查看内存中的变量:who、whos

二、向量和矩阵

2.1向量

  1. 行向量:[1 2 3 4]或者[1,2,3,4]
  2. 列向量:[1;2;3]
  3. 行向量转列向量:a=b’
  4. 查看大小:size(A),length(A)
  5. 切片表达式:A(1:1:3)–>(2,3,4)注意下标是从1开始的
  6. 创建线性分布的向量:
    1:2:100–>从1开始以2为间隔,取到100
    linspace(1,100,99)
  7. 跨行表达式:…
  8. 标量与向量运算:常规运算符
  9. 向量与向量运算:运算符前加点,比如.+例: [1,2,3].+[4,5,6]=[5,7,9]

2.2矩阵

  1. 矩阵定义:a=[10,2;3,4]
  2. 多重表达式:

a=[1:2:11;0:5:25;linspace(10,60,6);67 2 43 23 3 1]
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 23 3 1

  1. List item
  2. 零矩阵:zeros()
  3. 一矩阵:ones()
  4. 对角矩阵:eye()
  5. 矩阵转置:a’
  6. 矩阵的分号表达式:a(:,1:3)
  7. 矩阵的离散取值:a(1:3,[1 2])
  8. 矩阵元素的删除:a(:,2:4)=[]
  9. 矩阵的拼接:C=[A B]

2.3常用矩阵内置函数

  1. 创建对角阵:v=[2 4 7] diag(v)

  2. 反向获取对角元素:v=rand(10,5),diag(v)

  3. 获取尺寸:size(A)

  4. 改变形状:reshape(A,5,2)

  5. 最值:[d,n]=min(A) [d,n]=max(A) 原理是对列进行比较,返回行向量

  6. 求和:sum(A)

  7. 排序:sort(A)

  8. 中值:median(A)

  9. 均值:mean(A)

  10. 标准差:std(A)

  11. 点积:dot(A,B)

  12. 随机数:
    rand
    rand(1,5):1行5列,值为0-1之间
    rand(10):10行10列
    randn(2,10):正态分布
    rand(10,4)
    randperm(10):随机正整数

  13. 特征值和特征向量:[v,d]=eig(A) A要是方阵

2.4矩阵运算

  1. 矩阵加减运算:±
  2. 矩阵点乘除法:.* ./
  3. 矩阵乘法:*
  4. 矩阵求逆:inv(A)

三、脚本及函数

3.1、脚本的使用

  1. 注释:%
  2. 脚本的执行:test

3.2、函数的使用

  1. 匿名函数:f=@(x,y)x.*y
  2. 函数的定义:

function [x,y]=test1
a=[]
end

  1. 函数的执行:test()

四、输入与输出

  1. 输入:s=input()
  2. 输出:disp()
  3. 格式化输出:fprintf("%.2e",score) 科学计数法表示
  4. 数据的保存和加载:

data=[1 2 3 ]
save(‘data.mat’,‘data’)
load(‘data.mat’)
clear data
load data.mat

  1. 文件操作:r:读 w:写 a:追加写 r+:读写 w+创建读写 a+追加模式创建

fp=fopen(‘test.txt’,‘a+’);
fprintf(fp,‘yi ge dong hanhan’);
fclose(fp);

五、运算符

  1. 关系运算符:>< == ~=
  2. 逻辑运算符:& | ~
  3. 逻辑运算函数:

any(A):向量中任意元素非零则返回true,以列向量为基准
all(A):所有元素非零时为true
xor(A):异或,一个元素非零另一个元素为零为true
find(A>d):寻找矩阵中满足条件的元素的位置(下标,以列数)

六、条件结构

  1. if…elseif…else…end

数学建模——matlab基础语法_第1张图片

  1. switch…case…otherwise…end
    数学建模——matlab基础语法_第2张图片

  2. for…end
    数学建模——matlab基础语法_第3张图片

  3. while…end
    数学建模——matlab基础语法_第4张图片

你可能感兴趣的:(数学建模,数学建模)