数模笔记2 Matlab

目录

  • 基础知识
  • 矩阵的运算
  • MATLAB自定义函数
  • 画图
    • plot函数
    • 匿名函数画图 ==fplot==

基础知识

%注释。
多行注释,选中注释内容,Ctrl+R.
%结尾有分号表示不显示结果。
2+3;
2+3

clear 清除工作区所有变量
clc 清空命令行窗口
一般脚本开头有


输出函数disp()

clear;clc
%Matlab中不区分单双引号,但区分中英文。
disp('Hello World')
%矩阵
a=[1,2,3];
b=[1 2 3];
%a=b
disp(a)
a=[1;2;3] 
%列向量用;分隔。
%合并字符串 strcat 
strcat('字符串1','字符串2');
['字符串1' '字符串2']
['字符串1','字符串2']
%数字转换成字符串num2str

输入函数input()

a=input("请输入a:");

求和函数sum

%对行求和
a=[1,2,3]
sum(a)

%对列求和
b=[1;2;3]
sum(b)

%对矩阵求和
E=[1,2;3,4;5,6]
a=sum(E) %得到行向量,按列求和。
a=sum(E,dim) %dim=1 按列求和;dim=2按行求和。

%对整个矩阵求和
a=sum(sum(E))
a=sum(E(:))
%E(:)拼接

提取元素

A(i,j) 第i行第j列
A(i,:) 取第i行所有元素
A(:,j) 取第j列所有元素
A([2,5],:) 只取第二行第五行
A(2:5,:) 取第二行到第五行
A(2:end-1,:) 从第二行取到倒数第二行

A(:)按列拼接


size函数
尺度大小
[ r , c ] = s i z e ( A ) = i j [r,c] =size(A) =i j [r,c]=size(A)=ij %返回A的行数=ri和列数c=j
r = s i z e ( A , 1 ) r=size(A,1) r=size(A,1) %返回行数
c = s i z e ( A , 2 ) c=size(A,2) c=size(A,2) %返回列数


repmat函数 B = r e p m a t ( A , m , n ) B=repmat(A,m,n) B=repmat(A,m,n)
%将A复制 m × n m\times n m×n块,B由 m × n m\times n m×n平铺组成


矩阵与常数的大小判断运算
X=[1,2,3;4,5,6;7,8,9]
X>3
返回logical数组 对应位置,对-1,错-0;


判断语句 if

a=input("输入:")
if a>=85
	disp("result1")
elseif a>=60
	disp("result2")
else
	disp("result3")
end

生成随机数

s1 = randi([-5,5],2,5) %生成范围在[-5,5]的2行5列随机整数矩阵
s2 = rand(1,5) %生成[0,1]范围内均匀分布的随机数,大小为 1*5
s3 = a+(b-a)*rand(2,5) %生成[a,b]范围内均匀分布的随机数,大小为2*5
s4 = normrnd(av,std,r,c) %生成一个均值为av,标准差为std,行数为r,列数为c的正态分布的随机矩阵。

四舍五入函数roundn
roundn(x,d)
x代表要四舍五入的数值
d代表四舍五入的位置 0个位 1十位 2百位 …-1小数点后一位

矩阵的运算

一些符号

符号 含义
* 乘法
inv 求逆
/ 除法(A/B=A*inv(B))
+ 加法(size(A)=size(B))
- 减法(size(A)=size(B))
.* 内积;点乘
./ 点除
inf 无穷
^ A^2 = A*A
.^ 每个元素都平方

特征值和特征向量
e i g ( A ) eig(A) eig(A)
(1)E=eig(A),A的全部特征值构成向量E( R × 1 R \times 1 R×1
(2)[P,D] = eig(A) ,P的列向量为特征向量,D=diag( λ \lambda λ)


find函数 返回向量或矩阵中不为0的元素的位置索引
可以参见这个博客 ,写得很详细
%返回所有不为0的位置索引
ind=find(X)
%只返回前n个不为0的元素位置
ind=find(X,n)


幻方矩阵
A=magic(5)


sort函数
(1)sort(A,dim) dim=1,按列升序;dim=2,按行升序
(2)sort(A) 升序 sort(A,‘descend’)降序
(3)

[SA,index] = sort(A,'descend')
%SA为对A降序后的结果
%index表示SA每个结果的索引

MATLAB自定义函数

新建m文件,与主函数在同一个文件夹。基本格式如下。

function [a,b,c]=test[d,e,f]
	a=d/e;
	b=d+f;
	c=e*f;
end

画图

plot函数

plot(x1,y1,‘o’,x2,y2,’-’)

符号 线方式
- 实线
: 虚线
-. 虚点线
波折线
符号 点方式
. 圆点
+ 加号
* 星号
x x型
o 小圆
符号 颜色
y 黄色
r 红色
g 绿色
b 蓝色
w 白色
k 黑色
m 紫色
c 青色

例如:

x=-2*pi:0.1:3*pi;
y=sin(x)+cos(2*x);
z=sin(x)-cos(3*x);
plot(x,y,'c*-',x,z,'mo--')

数模笔记2 Matlab_第1张图片

hold on %继续在之前的图形上画图
grid on %添加网格线

匿名函数画图 fplot

f=@(x,y) x^2+y^2;
fplot(f,[a,b]) %a,b为作图范围,自行修改
lagend('样本数据','location','SouthEast') %生成图例

你可能感兴趣的:(数模笔记,matlab,矩阵,线性代数)