Matlaba教程文档格式.docx
- 文档编号:5266972
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:21
- 大小:44.70KB
Matlaba教程文档格式.docx
《Matlaba教程文档格式.docx》由会员分享,可在线阅读,更多相关《Matlaba教程文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
mean(A),求每一列的均值;
mean(A,2)求每一行的均值
A=[1,2,3;
3,3,6;
4,6,8;
4,7,7]
mean(A)
ans=
34.56
K>
>
mean(A,2)
2
4
6
四、std(A),求标准偏差
x可以是一行的matrix或者一个多行matrix矩阵如果只有一行,那么就是算一行的标准偏差,如果有多行,就是算每一列的标准偏差。
4,7,7];
std(A)
1.41422.38052.1602
计算过程:
每列平均值:
=(1+3+4+4)/4=3;
=(2+3+6+7)/4=4.5;
=(3+6+8+7)/4=6
第一列标准偏差:
=1.4142
,求出的协方差矩阵维数为
,单步计算与matlab计算,存在差异,还没明白
命令原理:
协方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(样本数-1)。
样本数即为每列元素
(1)A=[1,3,4,5;
2,6,2,2]%2x4矩阵
A=
1345
2622
corrcoef(A)
ans=;
求出的协方差矩阵维数为4x4
11-1-1
-1-111
列平均数1.54.533.5;
样本数即为每列元素=n-1=2-1=1
E(1,1)=(第1列所有元素-第1列均值)*(第1列所有元素-第1列均值)/(样本数-1)
=(1-1.5,2-1.5)*(1-1.5,2-1.5)T/(2-1)=0.5
E(1,2)=(第1列所有元素-第1列均值)*(第2列所有元素-第2列均值)/(样本数-1)
=(1-1.5,2-1.5)*(3-4.5,6-4.5)T/(2-1)=1.5
E(1,3)=(第1列所有元素-第1列均值)*(第3列所有元素-第3列均值)/(样本数-1)
=(1-1.5,2-1.5)*(4-3,2-3)T/(2-1)=-1
E(1,4)=(第1列所有元素-第1列均值)*(第4列所有元素-第4列均值)/(样本数-1)
=(1-1.5,2-1.5)*(5-3.5,2-3.5)T/(2-1)=-1.5
E(2,1)=(第2列所有元素-第2列均值)*(第1列所有元素-第1列均值)/(样本数-1)
=(3-4.5,6-4.5)*(1-1.5,2-1.5)T/(2-1)=1.5
E(2,2)=(第2列所有元素-第2列均值)*(第2列所有元素-第2列均值)/(样本数-1)
=(3-4.5,6-4.5)*(3-4.5,6-4.5)T/(2-1)=6.125
(2)A=[1,3,4,5;
2,6,2,2]’%注意与上面矩阵差别,是转置矩阵,4x2矩阵
12
36
42
52
corrcoef(A)
求出的协方差矩阵维数为2x2
1-0.09759
-0.097591
列平均数3.253;
样本数即为每列元素=n-1=4-1=3
=(1-3.25,3-3.25,4-3.25,5-3.25)*(1-3.25,3-3.25,4-3.25,5-3.25)T/(4-1)=25.52
E(1,2)=(第1列所有元素-第1列均值)*(第2列所有元素-第1列均值)/(样本数-1)
=(1-3.25,3-3.25,4-3.25,5-3.25)*(2-3,6-3,2-3,2-3)T/(4-1)=1.83
=(2-3,6-3,2-3,2-3)*(1-3.25,3-3.25,4-3.25,5-3.25)T/(4-1)=1.83
=(2-3,6-3,2-3,2-3)*(2-3,6-3,2-3,2-3)T/(4-1)=4
例:
计算sin(450)
sin(45*pi/180)
ans=
0.7071
Matlab中正弦函数sin是常见的函数
它的参数值是以“弧度”为单位的
pi是Matlab的预定义变量,pi=3.14159….
计算
sqrt(2*exp(4.92+0.5)+1)
21.2781
Matlab中开平方sqrt(x),是英文squareroot
Matlab中指数函数是常见的表达方式。
计算y=
y=2*sin(0.3*pi)/(1+sqrt(5))
y=
0.5000
y=2*cos(0.3*pi)/(1+sqrt(5))
0.3633
计算半径为5.2m的圆的周长和面积
radius=5.2;
area=pi*5.2^2,circle_len=2*pi*5.2
area=
84.9487
circle_len=
32.6726
以上两例,命令行中用到了等号“=”。
计算结果不再是赋值给“ans”,而是赋给用户指定的变量y,area,circle_len。
无论是预定义变量还是用户自定义变量,都被存储在系统的工作空间内(Workspace),即系统定义的一个存储窗口变量的内存空间。
区别(有无;
号):
x=5;
和radius=5.2;
x=5区别
两语句,在命令窗口没有显示
x=5前一语句在命令窗口无显示,后一语句在命令窗口有显示
x=
5
Who、Whos命令用来显示工作空间的变量。
clear命令用来清除工作空间的变量。
(clc命令清除命令窗口)
who%显示工作空间命令
Yourvariablesare:
areacircle_lenradius
whos%显示工作空间命令
NameSizeBytesClassAttributes
area1x18double
circle_len1x18double
radius1x18double
cleararea%清除工作空间area变量
circle_lenradius
whos
数值显示格式设置
窗口命令及语法格式:
format显示格式关键字
如:
format%15位数字显示,没有使用过
long
常见通用命令
clc:
清除命令窗口的显示内容
clear:
清除Matlab工作空间中保存的变量
who或whos:
显示Matlab工作空间中变量信息
dir:
显示当前工作目录的文件和子目录清单
cd:
显示或设置当前工作目录
type:
显示指定m文件的内容
help或doc:
获取在线帮助
quit或exit:
关闭/退出Matlab
历史窗口:
首先记录每次启动时间
并记录在命令窗口输入命令,在此运行期间,输入的所有命令被记录为一组,并以此次启动时间为标志。
使用历史窗口:
可以查看命令窗口输入过的命令或语句
可以选择一条或多条命令执行拷贝、执行、创建m文件等。
要清楚历史记录,可以选择exit菜单中的clearcommandhistory命令。
当前目录窗口:
指Matlab运行时的工作目录
只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。
如果没有特殊指明,数据文件也将存放在当前目录下;
用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目录中进行。
Lookfor(条件比较宽松)例:
inverse;
没有使用过
窗口式综合帮助信息(文字、公式、图形)
doc
helpwin
求方程2x5-3x3+71x2-9x+13=0的全部根
p=[2,0,-3,71,-9,13];
%注意p的大小写,如此语句为大写,后语句为小写,就不识别
x=roots(p);
-3.4914+0.0000i
1.6863+2.6947i
1.6863-2.6947i
0.0594+0.4251i
0.0594-0.4251i
求解线性方程组:
a=[2,3,-1;
8,2,3;
45,3,9];
b=[2;
4;
23];
x=inv(a)*b
x=
0.5531
0.2051
-0.2784
inv是矩阵求逆的意思。
具体用法A=inv(B),其中B是输入的可逆矩阵,输出A就是B的逆矩阵,逆矩阵满足性质AB=BA=E(E是单位阵)。
如果输入的是不可逆矩阵会弹出警告,并返回inf。
符号计算
symsxyz
[x,y,z]=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)
syms是定义符号变量,sym是将字符或者数字转换为字符
比如
symsxy%就是定了符号变量xy以后xy就可以直接使用了,有他们运算出来的结果也是符号变量
当然上面的也可以x=sym('
x'
),y=sym('
y'
)
syms('
a+b'
)%就是将a+b转化为符号表达式,此语句使用有问题,没通过
两者有不同的使用场合
比如符号变量涉及的个数比较少,但是使用频率比较高,那么就是使用syms
但是如果个数多,但是使用频率比较少则使用sym
solve函数,求解代数方程,符号解析解,只是部分的结果,并不是全部解
求解
quad(‘x.*log(1+x)’,0,1)%此语句没有通过,在Matlab中修改符号’’后,通过了
或
symsx
nt(‘x.*log(1+x)’,0,1)%此语句没有通过
多项式曲线拟合
x=[1,2,3,4,5,6,7,8,9,10]
y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2],y是由y(x)=x3-2x2-5在对应x点产生的值
注:
y(x)=x3-2x2-5在matlab中,y=[1-20-5]
p1=polyfit(x,y,1)
p3=polyfit(x,y,3)
x2=1:
0.1:
10;
y1=polyval(p1,x2));
%计算拟合函数在x处的值
y3=polyval(p3,x2)
plot(x,y,’*’,x2,y1,’:
’,x2,y3)%此语句有问题,是符号’要在matlab中重写,如下
plot(x,y,'
*'
x2,y1,'
:
'
x2,y3)
用程序测试拟合多少次
symsc;
x=[1,2,3,4,5,6,7,8,9,10];
y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2];
p1=polyfit(x,y,1);
p3=polyfit(x,y,3);
y1=polyval(p1,x2);
y3=polyval(p3,x2);
%plot(x,y,'
fori=1:
y2=polyfit(x,y,i);
Y=polyval(y2,x);
ifsum((Y-y).^2)<
0.4
c=i
break;
end
end
输出结果c=3,即拟合3次可以使sum((Y-y).^2)<
3)矩阵运算函数
MATLAB的运算以数组(array)及矩阵(matrix)方式来进行,但二者运算性质明显不同,数组强调元素对元素的运算,所以在运算符前要加.,而矩阵则采用线性代数的运算方式。
请看下表:
Matlab中把复数的表达:
z=a+bi,其中a,b为实数
Matlab把复数看作一个整体,象计算实数一样计算复数
复数z1=3+4i,z2=1+2i,z3=2
z1=3+4*i,z2=1+2*i,z3=2*exp(i*pi/6),z=z1*z2/z3
z1=
3.0000+4.0000i
z2=
1.0000+2.0000i
z3=
1.7321+1.0000i
z=
0.3349+5.5801i
z_real=real(z),z_image=imag(z),%注意是imag而不是image
z_real=
0.3349
z_image=
5.5801
z_angle=angle(z),z_length=abs(z),%对于复数,abs函数是求模
z_angle=
1.5108
z_length=
5.5902
第二章Matlab数据及运算
Matlab数据类型丰富,除数值型、字符型等基本数据类型外,还有结构体、单元等更为复杂的数据类型。
各种数据类型都以矩阵形式存在,矩阵是Matlab最基本的数据对象,并且矩阵的运算是定义在复数域上的。
数组的概念
一维数组变量的创建
二维数组变量的创建
数组元素的标识与寻访
数组运算
多维数组
数组(array)的概念
数组的分类
一维数组,也称为向量(vector)
行向量(rowvector)、列向量(columnvector)
二维数组(矩阵matrix)
创建一维数组变量
第一种方法:
使用方括号“[]”操作符
创建数组(行向量)a=[13pi3+5i]
a=[13pi3+5i]%ora=[1,3,pi,3+5i]
a=
1.0000+0.0000i3.0000+0.0000i3.1416+0.0000i3.0000+5.0000i
所有的向量元素必须在操作符“[]”之内
向量元素间用空格或英文的逗号“,”分开
第二种方法:
使用冒号“:
”操作符
b=1:
10
b=
12345678910
键入并执行c=1:
2:
10和d=1:
9
c=1:
10(间隔是2)
c=
13579
d=1:
利用冒号“:
“操作符创建行向量的基本语法格式:
x=起:
增量:
止
起表示新向量x的第一个元素
新向量x的最后一个元素不能大于止
增量可正可负,若负,则起>
止;
若正,则起<
止,否则创建的为空向量。
若增量=1,则可简写为x=起:
第三种方法:
利用函数linspace
函数linspace的基本语法
x=linspace(x1,x2,n)
该函数生成一个由n个元素组成的行向量;
x1为其第一个元素
x2为其最后一个元素
x1、x2之间的间隔=(x2-x1)/(n-1)
如忽略参数n,则系统生成100个元素的行向量
执行x=linspace(1,2,5)
x=linspace(1,2,5)
1.00001.25001.50001.75002.0000
第四种方法:
利用函数logspace
列向量的创建
使用方括号“[]”操作符,并使用分号“;
”分割行。
执行x=[1;
2;
3]
x=[1;
1
3
执行x=(1:
3)’%“’”表示矩阵的转置
x=(1:
3)%注意区别
123
3)'
%注意区别
创建数组变量的一般方法
创建变量的赋值语句的一般格式
var=expression
var为变量名
expression为matlab的合法表达式
可以是单独的常数值或数值数组
也可以由常数值、其它变量(部分或全部)、数值数组和运算符(+、-)构成。
执行a=[11+6];
b=[a67];
c=[6a7];
d=[6a7a];
17
1767
6177
d=
617717
创建二维数组变量
使用规则
数组元素必须在“[]”内键入;
行与行之间须用分号“:
”间隔,也可以在分行处用回车键间隔;
行内元素用空格或逗号“,”间隔。
执行a2=[123;
456;
789]
a2=
456
789
a2=[1:
3;
4:
6;
7:
9]
由向量构成二维数组
a=[123];
b=[234];
c=[a;
b];
%形成2x3矩阵
234
c1=[ab];
%形成1x6的矩阵
c1=
123234
函数方法
函数ones(生成全1矩阵)、zeros(生成全0矩阵)、reshape
创建全1的3x3数组
ones(3)
创建全1的3x4数组
ones(3,4)
1111
reshape的使用
a=-4:
4
-4-3-2-101234
b=reshape(a,3,3)
-4-12
-303
-214
数组元素的排列顺序,从上到下按列排列
要求数组的元素总数不变。
数组元素的标识
全下标
单下标
size、length函数
size函数返回变量的大小,即变量数组的行列数
length函数返回变量数组的最大维数
a=ones(4,6)*6
m=size(a)
m=
46,返回行列数为4、6
length(a)
length(b)
c=b’
5
length(c)
6.3数组积分
一元函数的数组积分常用指令:
quad和quadl;
一般来说,quadl比quad更有效。
上面未完
求定积分
MATLAB指令quda和quadl求积分
fun=inline(‘exp(-x.*x)’,’x’);
%数组乘符号.*的采用是必须的
Isim=quad(fun,0,1),I8=quadl(fun,0,1)
Isim=0.7468
I8=0.7468
求解定积分
用quad指令求积分
ff=inline(‘sqrt(log(1./x))’,’x’)
Isim=quad(ff,0,1)
Isim=0.8862
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlaba 教程