第1章练习
- 格式:doc
- 大小:104.50 KB
- 文档页数:14
1 第一章例题 特点功能见例1-1,例1-2 例1-1: 在命令窗口键入: 1+2*3+6/2 即出现: ans = 10 键入 a=2;b=3;c=4; totle=a*b+c 即出现: totle = 10 例1-2: 在命令窗口键入: y=[0 1 2 2.5 3 2 2.5 1 ];plot(y) 即出现:
1234567800.511.522.53
2
%plot()是绘图函数; %计算机自动把y的值作为纵坐标,横坐标从1开始自动赋值为向量[1 2 3… ],长度与y值相同。 键入: t=0:0.1:2*pi; y=sin(t); plot(t,y,'r'); grid; 即出现:
01234567-1-0.8-0.6-0.4-0.200.20.40.60.81
赋值语句 例1-3:
在命令窗口键入: 1+2*3+6/2 键入 a=2;b=3;c=4; totle=a*b+c
例:当1x时,计算表达式ixxxex5sinsinln22的值,并将结果赋给变量y,然后显示出结果。 3
在MATLAB命令窗口分别输入命令: x=sqrt(1+pi); y=(exp(x)+log(abs(sin(x)^2-sin(x*x))))/(x-5*i) %计算表达式的值 变量的管理 例1-4: who;%显示目前工作空间的变量名 whos %显示变量名,变量大小,数据类型等 save myfilename %MATLAB将产生一个名为myfilename.mat的文件,文件中保存了当前工作空间的所有变量 save mydata a b %MATLAB将产生一个名为mydata.mat的文件,文件中保存了当前工作空间的变量 a和 b. clear %把当前工作空间清空 who %结果没有任何变量显示 load myfilename %把文件myfilename.mat中的变量装入当前工作空间 load mydata % 把mydata.mat中的内容装入MATLAB工作空间: 数据的输出格式 例1-5:
x=215/6; format long; %16位十进制 x format short e; %五位十进制数加指数 x format long e; %16位十进制数加指数 x format hex %16位十六进制数 x format bank %两位小数 x 4
format + %正、负或零 x format rat %分数近似 x format short %4位小数,默认格式 x format compact %紧凑格式 x format loose %默认格式 x
矩阵的生成 例1-6:
直接输入法: [1 2 3] [1;2;3] x=[-1.3 sqrt(3) (1+2+3)/5*4] 在命令窗口键入: A=[1 0 3 -1;2 1 0 2] 键入:B=[4 1 0;-1 1 3;2 0 1;1 3 4] C=3+4i %输入复数 D=[1+2i 3+4i;5+6i 7+8i]%输入复数 [1 3;5 7]+[2 4;6 8]*i%输入复数 *号不可少
利用M文件建立矩阵 例 1-7 (1)启动MATLAB的M-file编辑器,并输入待建矩阵 mydata=[1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9; 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9; 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]; (2)把输入的内容保存(设文件名为matfund.m)。 (3)在MATLAB命令窗口中输入matfund,即运行该M文件,就会自动建立一个名为mydata的矩阵,可供以后使用。 利用数据文件建立指定矩阵 利用文本编辑器建立矩阵:创建一个数据文件test.dat(或.txt),保存在D:\ test.txt.包含下列数据: 5
2 4 6 8 6 3 5 6 7 3 2 5 1 2 5 在命令窗口输入: load D:\test.dat test 运行结果为 test =
2 4 6 8 6 3 5 6 7 3 2 5 1 2 5 利用已建好的矩阵建立新的矩阵 例1-8: 输入: A=[1,2,3;4,5,6;7,8,9]; B=[11:13;14:16;17:19]; C=[A,B;B,A] 运行结果为: C = 1 2 3 11 12 13 4 5 6 14 15 16 7 8 9 17 18 19 6
11 12 13 1 2 3 14 15 16 4 5 6 17 18 19 7 8 9 A =[12 2 1; 4 5 2; 7 8 3; 0 0 4; 0 18 5] B=A([2,4],[1,3]) %把A矩阵中2、4行,1、3列交点的元素取出给B生成新的矩阵 用matlab的函数产生特殊的矩阵例 1-9 f1=zeros(2,3)% 产生所有元素均为零的矩阵 f2=ones(3,2) %产生所有元素均为1的矩阵 f3=eye(3,4) %产生对角元素为1,其余为0的矩阵 f4=magic(3) %产生魔方矩阵 f5=linspace(0,2,5 ) %在0,2之间均匀地产生5个点值,形成n维向量 f6=[0:0.5:2] %在0与2之间每隔0.5产生一个数据 f7=rand(3,4) f8=logspace(1,3,10) f9=randn(3,4)产生均值为0,方差为1的标准正态分布随机矩阵 L=[1 2 3 ];K=[4 5 6 ]; cat(2,L,K) %(dim=2,表示横向连接) ans = 1 2 3 4 5 6 7
cat(1,L,K) %( dim=1,表示列向连接) ans = 1 2 3 4 5 6 A=[1 2 3 ;2 2 1 ;3 4 3] ; P=diag(A) %提取对角元素 P = 1 2 3 Q=diag(K) %用K的值建立对角阵 Q = 4 0 0 0 5 0 0 0 6 repmat(A,2,3) %将 A重复两行三列扩展 ans = 1 2 3 1 2 3 1 2 3 2 2 1 2 2 1 2 2 1 3 4 3 3 4 3 3 4 3 1 2 3 1 2 3 1 2 3 2 2 1 2 2 1 2 2 1 8
3 4 3 3 4 3 3 4 3 repmat(5,2,3) %当A为标量时,以标量A生成一个m×n 的矩阵 矩阵元素及矩阵拆分 例1-10 A=[1 2 3;4 5 6;7 8 9] size(A) length(A) sub2ind(size(A),2,3) [x,y]=ind2sub(size(A),12) A(2,3)=10;A(1,1)=12 %修改 A(5,2)=18 %扩展 没赋值的地方自动赋零 a(1,1)=2;a(1,3)=4;a(3,3)=9 %产生一个矩阵 b=A(2,:) %输出矩阵A中第2行的值 A(:,3)=[1 2 3 4 5]' %给矩阵A中第3列赋值,'表示转置 A([2,3],:)=[ ] %把A矩阵中2、3行,所有列的元素去掉。 A(:,3)=[ ] %把A矩阵中所有行,第3列的元素去掉。 基本算术运算 例1-11 A=[1 2 3;2 2 1;3 4 3]; B=[2 1;5 3]; C=[1 3;2 0;3 1]; D=[7 8;2 4;5 0]; [nA,mA]=size(A),[nB,mB]=size(B), 9
[nC,mC]=size(C),[nD,mD]=size(D) nA =
3 mA = 3 nB = 2 mB = 2 nC = 3 mC = 2 nD = 3 mD = 2 %判断只有C,D可以加减, 输入: C+D 输入: C-D 输入: A+D %判断上面的矩阵中可以相乘的矩阵有:A与C、A与D、C与B、D与B 10
键 入: F=A*C %A为3×3阶,C为3×2阶 键入:D*B %D为3×2阶,B为2×2阶 %一个n×s阶的矩阵与一个s×m阶矩阵相乘后为n×m阶矩阵 键入:A*2 %A为3×3阶,2为标量 V=inv(A) A*V V*F %相当于A\F A\F E=sqrtm(A) G=E^2 expm(A) logm(A) G=det(A) H=A' 方程组的求解:
求方程组 的根
解:方程组可以表示为AX=B的形式。 A=[1 2 3;2 2 1;3 4 3]; B=[1;2;3]; X=A\B x1=X(1)
3343222132321321321xxxxxxxxx