nullMATLAB入门简介MATLAB入门简介MATLAB 特点和功能MATLAB 特点和功能
直观灵活的语言
数值计算功能
符号运算功能
开放性、可扩展性强
绘图功能
丰富的工具箱
Simulink 动态仿真集成环境
Matlab = Matrix Laboratry 矩阵实验室,
Matlab是以矩阵为单位进行数据处理。Matlab 的工作界面Matlab 的工作界面命令窗口当前工作目录当前工作空间输入命令的历史记录命令
提示符主要
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
主要内容矩阵及MATLAB常用运算
MATLAB绘图功能
MATLAB程序设计
数据导入
实例分析矩阵及MATLAB常用运算矩阵及MATLAB常用运算系统预定义变量系统预定义变量 pi : 圆周率 inf,Inf :无穷大,如:1/0 nan,NaN :Not-a-Number,一个不定值,如 0/0 eps :浮点运算相对精度 特殊变量 ans i,j :虚部单位,即 系统预定义的变量MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,
如果已改变了某外常量的值,可以通过 “ clear 常量名 ” 命令恢复该常量
的初始设定值(当然,也可通过 重新启动MATLAB 系统来恢复这些常量值)。Matlab 变量Matlab 变量 Matlab 变量的命名规则 以字母开头
后面可以跟 字母、数字 和 下划线
长度不超过 63 个字符(6.5 版本以前为 19 个)
区分字母的 大小 写 Matlab 语句的通常形式变量 =
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式 查看已定义的变量 who 显示工作空间中的所有变量
whos 显示变量的详细属性Matlab 数值运算Matlab 数值运算 复数 z=3+4i 数与算术表达式
数学
数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划
运算符+ - * / 右除 \ 左除 ^>> (12+2*(7-4))/(3^2)>> y=x^3-x^(1/4)+2.15*sin(3*x)矩阵的创建矩阵的创建直接输入法 矩阵元素必须在“[ ]” 内
同行元素间用 空格 或 逗号 分隔
行与行之间用 分号 或 回车符 分开
矩阵大小不用预先定义例:>> A = [1 2 3; 4 5 6; 7 8 9] Matlab 的操作对象 矩阵矩阵的创建矩阵的创建冒号操作符格式:e1:e2:e3 注:e1初始值,e2步长,e3终止值
e1:e3 注: 默认e2=1例:>> A = 0:2:10
% A = 0 2 4 6 8 10 linspace(a,b,n)
将 a到b进行n-1等分,n缺省时,默认为100例:>> A = linspace(0,1,5)
% A = 0 0.2500 0.5000 0.7500 1.0000 常见矩阵生成函数常见矩阵生成函数矩阵元素的操作 矩阵元素的操作 双下标引用: A ( i , j ) 第i行第j列元素
单下标引用: A ( i ) 注:按列排列,二维看成一维 矩阵元素的提取 =?=?(1) 单个元素:A ( 2, 3 ) A ( 6 ) (2) 整行或整列:A ( 2, : ), A ( :, 3 )(3) 子矩阵:A ( 2:5, 4:8 ), A ( [1,3], [2,4] ) , A ( [3,2], [2,4] )注:A ( :, : ) 与 A ( : ) 的区别(4) 删除矩阵的行列:A =[], A ( 3, : )=[], A ( :, [2,4] )=[] A ( : ) A中所有元素按列排成一列 1 2 3
4 5 6
7 8 9MATLAB 矩阵运算 MATLAB 矩阵运算 矩阵的转置:共轭 A‘ 矩阵的翻转和旋转: fliplr、flipud、rot90 矩阵元素重组: reshape (A, m, n) 查看矩阵的大小:size(A)将 A 排成一个m n 的矩阵,满足 m n = #A 数组运算(点运算):.* ./ .\ .^ 矩阵算术: + - * / \ ^!凡是带.的操作都是对矩阵中元素的操作矩阵基本运算矩阵基本运算 矩阵的加减: 矩阵的乘法矩阵与标量相加减:对矩阵的每一个元素都加减标量
矩阵与矩阵相加减: 相同的维数;对应分量进行运算矩阵与标量相乘:对矩阵的每一个元素都乘以标量
矩阵与矩阵相乘:A*B A的列数等于B的行数矩阵基本运算矩阵基本运算 矩阵的除法:/、\ 右除和左除 若 A 可逆方阵,则A\B <==> inv(A)*BB/A <==> B*inv(A)X=A\B <==> A*X=B
X=B/A <==> X*A=B 通常,矩阵除法可以理解为null解线性方程组Ax=B
6x1+3x2+4x3=3
-2 x1+5 x2+7 x3=-4
8 x1-4 x2-3 x3=-7
A=[6 3 4; -2 5 7; 8 -4 -3]
B=[3;-4; -7]
X=A\B
A = 6 3 4
-2 5 7
8 -4 -3
B = 3
-4
-7
X = 0.6000
7.0000
-5.4000null 例 1 矩阵的基本运算。
A=[1, 2, 3; 4, 5, 6];
B =[6, 5, 4; 3, 2, 1];
C =A+B %计算两个矩阵的和
D =B’ %计算矩阵B的转置
E=A*D %做矩阵乘法,必须要满足
% 矩阵乘法的基本要求
%E应该是2阶方阵
F=det(E) %求E的行列式值
G=E^(-1) %求E的逆 输出结果:
C=
7 7 7
7 7 7
D=
6 3
5 2
4 1
E=
28 10
73 28
F=54
G=
0.5185 -0.1852
-1.3519 0.5185 null
(1) 求转置矩阵
>>a=[10,2,12;34,2,4;98,34,6];
>>a'
ans =
10 34 98
2 2 34
12 4 6
(2) 矩阵求逆
>>inv(a)
ans =
-0.0116 0.0372 -0.0015
0.0176 -0.1047 0.0345
0.0901 -0.0135 -0.0045(3) 矩阵的特征值
>>[u,v]=eig(a)
u =
-0.2960 0.3635 -0.3600
-0.2925 -0.4128 0.7886
-0.9093 -0.8352 0.4985
v =
48.8395 0 0
0 -19.8451 0
0 0 -10.9943
矩阵的逻辑运算矩阵的逻辑运算运算符
& (与) |(或) ~(非)
结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0
逻辑函数
all :当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量
any :当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量
find:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。
矩阵的比较关系矩阵的比较关系在MATLAB里共有六个关系运算符
< 小于 > 大于
<= 小于等于 > =大于等于
= = 等于 ~=不等于
关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。
MATLAB的三角函数 MATLAB的三角函数 三角函数MATLAB的基本数学函数 MATLAB的基本数学函数 基本数学函数取整函数与矩阵相关函数 取整函数与矩阵相关函数 取整函数 矩阵相关函数常用MATLAB系统命令常用MATLAB系统命令help 在线帮助
lookfor 模糊查询
load, save 资料存取 (.mat)
clc 清屏幕
clear 清除所有变量
close all 关闭所有图形
Who 内存变量列表
Whos 内存变量详细信息
What 按扩展名分类列出当前目录上的文件辅助键 Matlab 的命令记忆功能:上下箭头键 命令补全功能: Tab 键 可以先输入命令的前几个字符,再按上下键缩小搜索范围 用 Esc 键 删除命令行 Ctrl + C 可中断程序执行辅助键标点标点
: 具有多种应用功能 . 小数点及域访问符
;区分行,取消运行显示等 … 续行符
,区分列,函数参数分隔符 % 注释标记
( ) 指定运算先后次序 ! 调用操作系统运算
[ ] 矩阵定义标志 = 赋值标记
{ } 用于构成单元数组 ‘ 字符串标示符MATLAB 符号运算MATLAB 符号运算一.符号对象
1. 建立符号变量
①sym 函数 格式:符号量名=sym(符号字符串)
说明:用来建立单个符号量;符号字符串可以是常量、变量、函数或表达式。a=sym('a'); b=sym('b');%定义符号变量
x=2; y=3;
u=a^x+b^y
v=x^x+y^ynull②syms命令 格式: syms arg1 arg2 … argn
说明:一次可以定义多个符号变量。 以空格隔开2.建立符号表达式①利用单引号生成符号表达式
y='1/sqrt(2*x)' ②用sym函数建立符号表达式
U=sym('3*x^2-5*y+2*x*y+6') %不需定义变量③使用已定义的符号变量组成符号表达式syms x y;
V=3*x^2-5*y+2*x*y+6 findsym(s)subs:符号替换subs:符号替换subs(f): 用当前工作空间中存在的变量值,替换 f中所有出现的相同的变量,并进行简化计算。
subs(f,x,a):用 a 替换 f 中的 x ;a 是可以是 数/数值变量/表达式 或 符号变量/表达式。y='2*x'
subs(y,x,3)syms x y
f=x^2+y^2
subs(f,x,5)
subs(f,[x y],[2 3])符号表达式操作符号表达式操作
[n,d]=numden(s) 提取符号表达式s的分子和分母,分别存入n和d中
factor(s),对符号表达式s进行分解因式
expand(s),对s进行展开
collect(s,v),对s按变量v合并同类项。
simplify(s) ,应用函数规则对s进行化简
simple(s),调用Matlab的其他函数对表达式进行综合化简,并显示化简过程。
nullf=sym('a*x^2/(b+x)')
[n,d]=numden(f) %提取分子分母syms a b x y;
A=a^3-b^3;
factor(A) %对A进行因式分解
s=(-7*x^2-8*y^2)*(-x^2+3*y^2)
expand(s) %对s展开
collect(s,x) %对s按变量x合并同类项syms x y a
s=log(2*x/y);
simplify(s) %简化
s=(x^2+y^2)^2+(x^2-y^2)^2
simple(s)
%自动调用多种函数对s进行化简,并显示每步结果举例常用符号运算功能的实现常用符号运算功能的实现极限 limit(f,x,a)
导数 diff(f,v)
积分 int(f,v,a,b)
级数求和 symsum(f,v,a,b)
泰勒级数展开式 taylor(f,n,x,a)
符号代数方程求解 solve
符号微分方程求解 dsolve1. 极限1. 极限 syms x
y=sin(x)/x;
limit(y)
limit(y,x,0)
limit(sin(x)/x,x,inf)2. 导数2. 导数 diff(f): 计算 f 关于默认自变量的导数 diff(f,v): 计算 f 关于变量 v 的导数 diff(f,n),diff(f,v,n),diff(f,n,v): n次求导 syms a x
y=a*x^2;
A=diff(y,x)
B=diff(y,a)
C=diff(y,x,2)
D=diff(y,a,2)3. 积分3. 积分 syms x
y=x
A=int(y,x)
B=int(y,x,1,3)syms x y
I=int(int(x^2*exp(-y^2),x,0,y),y,0,1) 4. 级数求和4. 级数求和
syms a n
S=symsum(1/a^n,n,1,inf)
subs(S,2)5.一元函数的泰勒级数展开5.一元函数的泰勒级数展开taylor(f,n,x,a)功能:符号函数f在 x=a 处的n-1阶泰勒展开式,
其中x为待展开的符号变量;
n的缺省值为 n=6;a的缺省值为 a=0;syms x
f1=sin(x);f2=exp(x);
taylor(f1)
taylor(f2,8,1)6. 符号代数方程的求解6. 符号代数方程的求解解方程syms x;
f = x^2-1;
s = solve(f,x)s = solve('x^3-3*x+1=0','x')s = solve('x^3-3*x+1','x')null例:解方程组eq1 = 'x+2*y-z=27'
eq2 = 'x+z=3'
eq3 = 'x^2+3*y^2=28'
s = solve(eq1,eq2,eq3)
s.x
s.y
s.z7.符号常微分方程的求解7.符号常微分方程的求解y = dsolve('eq1','eq2', ... ,'cond1','cond2', ... ,'v')y 为输出,
eq1、eq2、...为微分方程,
cond1、cond2、...为初值条件,
v 为自变量。只有很少一部分微分方程(组)能求出解析解。 大部分微分方程(组)只能利用数值方法求数值解。dsolve 的使用dsolve 的使用 如果省略初值条件,则表示求通解; 如果省略自变量,则默认自变量为 t dsolve('Dy=2*x','x'); dy/dx = 2x
dsolve('Dy=2*x'); dy/dt = 2x 若找不到解析解,则返回其积分形式。 微分方程中用 D 表示对 自变量 的导数,如:Dy y'; D2y y''; D3y y'''null例 :求微分方程 的通解。 eq1 = 'Dy+2*x*y=x*exp(-x^2)'
y = dsolve(eq1,'x')例 :求微分方程 在初值条件 下的特解。 eq1 = 'x*Dy+y-exp(x)=0'
cond1 = 'y(1)=2*exp(1)'
y = dsolve(eq1,cond1,'x')MATLAB 绘图功能MATLAB 绘图功能MatLab图形绘制功能MatLab图形绘制功能nullplotplot基本用法 plot(x,y,’s’)
参数x为横轴变量,y为纵轴变量,
s控制图形的基本特征如颜色、线型等,可省略。 x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y);
plot(x,y,'g*');
plot(x,sin(x),'b.',x,cos(x),'r');
title('sin(x) cos(x)');
xlabel('x');
ylabel('y');
legend('sin','cos');null%subplot 图像排版
x=0:0.1*pi:2*pi;
subplot(1,2,1);
plot(x,sin(x));
subplot(1,2,2);
plot(x,cos(x));其它2-D图形绘制参考:
help窗口——help Navigator——Demos——MATLAB——Graphics——2-D plots生产图像的保存
系统默认.fig
也可以存储成其它格式三维曲线 plot3三维曲线 plot3plot3(x,y,z,’s’) x,y,z 是相同类型的向量,且长度相等。t=[0:0.1:20];
y=sin(t); z=cos(t);
plot3(t,y,z, '.-')
grid on例:三维螺线 y=sin(x),z=cos(x), 0
> edit
M文件有两类 独立的m文件 — 称命令文件(脚本文件)
可调用m文件 — 称函数文件
(1) 命令文件 — 没有输入输出参数
与在命令窗口逐行执行文件中的所有指令,其结果是一样的。
(2) 函数文件 — 需要输入变量,返回输出变量
matlab用户自定义函数
用 Matlab 语言编写的程序称为 M文件,以“.m”为扩展名函数M文件的格式函数M文件的格式特定规则:
有多个输入变量时,各变量用逗号隔开;
输出形参多用一个时,用[ ]括起来;
m文件保存时,文件名必须是 和函数名同名。
程序中的变量均为局部变量,变量只在函数运行期间有效,不保存在工作空间中。
(全局变量用global定义,且定义变量建议大写)
function y=f(x1,x2)
y=x1^2+x2^2; function 输出形参表=函数名(输入形参表)
%注释说明语句段
程序语句段 function [x y]=test(m,n)
x=m+n;
y=m-n;函数调用函数调用常见的函数调用形式为:
[out1 out2 …]=函数名(in1,in2,…)
一个函数可以嵌套,也可以调用其它的函数,甚至调用自己(也就是递归调用)。
function y=f(x1,x2)
y=x1^2+x2^2; function [x y]=test(m,n)
x=f(m)+f(n);
y=f(m)-f(n);>>z=f(3,5)
>>[m n]=test(2,3)
>>[m n]=test(f(2),f(3))
f.mtest.mmatlab的程序结构matlab的程序结构if语句
1. if 表达式
commands
end
2. if 表达式
commands1
else
commands2
end
3.
if 表达式1
commands1
elseif 表达式2
commands2
elseif …
…
else
commands
end
顺序结构、选择结构、循环结构matlab的程序结构matlab的程序结构 for循环
一般形式
for x=array
commands
end
sum=0;
for i=1:100
sum=sum+i;
end
sumwhile循环
一般形式
while 表达式
commonds
end sum=0;
i=1;
while i<=100
sum=sum+i;
i=i+1;
end
sum 例:利用函数的递归调用计算 n!例:利用函数的递归调用计算 n!% 函数文件 fac.m
function f=fac(n)
if (n<=1)
f=1;
else
f=n*fac(n-1);
end% 命令文件
%1!+2!+…+n!
s=0;
n=input('input n:');
for i=1:n
s=s+fac(i);
end
s注意:注意:允许循环嵌套,break,continue
只要有矩阵形式可以解决的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,不要使用for循环。tic/toc :计时i=1;
for t=0:0.01:100
i=i+1; y(i)=sin(t);
endt=0:0.01:100
y=sin(t);MATLAB 数据导入MATLAB 数据导入数据的导入数据的导入File——Import Data
在对话框中选择要打开的文件名,MATLAB可识别的文件类型有:.mat .avi .xls .tif .bmp .jpg .txt .dat等等,选中要打开的文件,然后单击open
也可从剪切板(Clipboard)获得数据源
(指定分隔符)
Comma(逗号) Space Semicolon(分号) Tab Other
单击Finish完成数据的导入;
导入的数据以矩阵的形式出现在工作空间中。数据的导入load
mat文件是matlab以
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来;
mat文件的生成和调用是由函数save和load完成;
save(‘filename’):将工作区中的所有变量保存为文件,文件名由filename指定 默认路径为当前路径。
filename缺省时,文件名默认为 matlab.mat,MAT文件可以通过load函数再次导入工作区>>save(‘ filename’)
>>load filename >>save
>>load数据的导入MATLAB 实例分析MATLAB 实例分析nullMATLAB的数据分析函数库
基本的数据分析
例如,10个学生的身高及3门课程分数列表如下:
data= [154 49 83 67;
158 99 81 75;
155 100 68 86;
145 63 75 96;
145 63 75 96;
141 55 65 75;
155 56 64 85;
147 89 87 77;
147 96 54 100;
145 60 76 67]null 一些数据处理命令的结果