MATLAB编程基础

简介: MATLAB编程基础

取舍函数和其他数值函数:


fix ------向0舍入

floor----向负无穷舍入

ceil-----向正无穷舍入

round-----四舍五入

rem(a,b)--计算a/b的余数

sign(x)----符号函数

有关向量的函数:


min(x):向量x的元素最小值

max(x):向量x的元素最大值

mean(x):元素的平均值

median(x):元素的中位数

std(x):元素的标准差

diff(x):相邻元素的差

sort(x):对向量x的元素进行排序

length(x):向量x的元素个数

norm(x):向量x的Euciidean长度

sum(x):向量元素总和

矩阵常见的计算:


1、矩阵输入方法:>> A=[1,4,7;2,3,4;2,3,3]或者:

A=[1,4,7;

    2,3,4;

    2,3,3]

2、矩阵转置:用B=A'来实现矩阵的转置

3、矩阵的加减:使用  +  -来实现矩阵的加减运算(必须是同型的矩阵)

可以矩阵减去一个常数

4、矩阵乘法:用*表示,要求前一个矩阵的列数和后一个矩阵的行数相同

还可以实现数乘向量(每个数相乘矩阵中的元素)

5、矩阵的行列式:Z=det(A)

6、矩阵求逆:Z=inv(A)(非奇异矩阵)

利用逆矩阵可以求解方程组:

     AX=b

     X=inv(A)*b或者 X=A\b (还可以解矛盾方程组)

测试m文件

t=[0.00.30.81.11.62.3]';y=[0.820.720.630.600.550.5]';A=[ones(size(t)),exp(-t)];
x=inv(A'*A)*A'*y;
n=500;
tt=zeros(n,1);
yy=zeros(n,1);
dt=2.3/n;
fori=1:ntt(i)=i*dt;
yy(i)=x(1)+x(2)*exp(-tt(i));
endplot(t,y,'*b',tt,yy,'r');

7、特征值:如果A是方阵,满足AX=人X的人称作A的特征值,X称作特征向量。

Z=eig(A)

如果要同时求出特征向量,采取表达式[X,V]=eig(A)

X各列为特征向量,V主对角元素为特征值(城市分析,竞赛排名)

函数作图:


1)二维平面曲线作图函数:

plot(x,y,'s')x,y,代表的是长度相同的向量,s代表线型和 颜色

如果作多条线在同一图上:

plot(x,y,'s',x1,y1,'s1'......xn,yn,'sn'demo:x=0:0.1:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'b',x,y2,'r')

image.png

2)多窗口作图

将屏幕分成几个窗口分别作图,函数如下:

subplot(m,n,k)

表示将窗口分为m x n个子窗口,当前k个窗口完成

demo:

x1=0:0.1:2*pi;y1=sin(x1);
x2=-pi:0.1:pi;y2=cos(x2);
x3=0:0.1:10;y3=sqrt(x3);
x4=2:0.2:10;y4=log(x4);
subplot(2,2,1);plot(x1,y1);title('y=sin(x)');gridonsubplot(2,2,2);plot(x2,y2);title('y=cos(x)');gridonsubplot(2,2,3);plot(x3,y3);title('y=sqrt(x)');gridonsubplot(2,2,4);plot(x4,y4);title('y=ln(x)');gridon

这里grid on 表示网格显示

image.png

3)直方图作图:hist

二维直方图,可以显示出数据的分布。

用法:

count =hist(X) 把向量X中的元素放入等距的10个条形中,且返回一个条形中的元素个数。若X为矩阵,则该命令按照列对X进行处理。

count =hist(X,center)参量X为向量 ,把X中元素放到 m (m=length(center))

[count,center] =hist(X)返回向量X中包含频率计数count 与条形的位置向量center,可以用命令bar(center,count)

如作1000个服从正态分布N(10,25)的数据的直方图,程序如下:

X=normrnd(10,5,1000,1);
z=hist(X);
bar(z);
orX=normrnd(10,5,1000,1);
[count,center]=hist(X);
bar(center,count);

normrnd是用来产生正态分布随机数的,三个参量分别为期望,方差,和产生矩阵维度。

R=normrnd(MU,SIGMA,m,n): 生成m×n形式的正态分布的随机数矩阵。

hist表示做出直方图,第一个参量是各个随机变量的取值,第二个是区分区间的横坐标显示值。

image.png

基本语句:


1)for 语句:


for x=a:d:b

(command)

end

a为起始点,b为终止点,d为区间间隔

2)while语句:


while expression

(command)

end

目录
相关文章
|
8月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
6月前
|
数据采集 并行计算 算法
LabVIEW与Matlab联合编程的途径及比较
LabVIEW与Matlab联合编程的途径及比较
165 0
LabVIEW与Matlab联合编程的途径及比较
|
自然语言处理 算法
第4章 MATLAB编程基础——4.5 脚本与函数(2)
第4章 MATLAB编程基础——4.5 脚本与函数(2)
|
自然语言处理
第4章 MATLAB编程基础——4.5 脚本与函数(1)
第4章 MATLAB编程基础——4.5 脚本与函数(1)
第4章 MATLAB编程基础——4.4 控制程序流的其他常用指令
第4章 MATLAB编程基础——4.4 控制程序流的其他常用指令
|
自然语言处理 算法
第4章 MATLAB编程基础——4.3 MATLAB的控制流(2)
第4章 MATLAB编程基础——4.3 MATLAB的控制流(2)
|
机器学习/深度学习 算法
第4章 MATLAB编程基础——4.3 MATLAB的控制流(1)
第4章 MATLAB编程基础——4.3 MATLAB的控制流(1)
|
存储 算法 调度
Matlab+Yalmip两阶段鲁棒优化通用编程指南
主要包含8大内容: ①.拿到一个复杂的两阶段鲁棒优化问题的分析步骤和方法。 ②.采用Yalmip工具箱中的uncertain函数和鲁棒优化模块求解两阶段鲁棒优化的子问题。 ③.Yalmip工具箱中的鲁棒优化模块和常规的求解思路有什么异同。 ④.使用KKT条件求解两阶段鲁棒优化的子问题。 ⑤.使用对偶变换求解两阶段鲁棒优化的子问题。 ⑥.采用Yalmip工具箱的内置函数,将线性约束写成紧凑矩阵形式的方法。 ⑦.矩阵形式的两阶段鲁棒优化问题,如何快速写出子问题内层优化的KKT条件。 ⑧.矩阵形式的两阶段鲁棒优化问题,如何快速写出子问题内层优化的对偶问题。
|
存储 人工智能 数据可视化
MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量(一)
MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量
169 0
MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量(一)
|
存储 算法 索引
第4章 MATLAB编程基础——4.7 MATLAB程序的调试
第4章 MATLAB编程基础——4.7 MATLAB程序的调试