matlab基础实验报告Word文档格式.docx
- 文档编号:18442876
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:49
- 大小:1,009.50KB
matlab基础实验报告Word文档格式.docx
《matlab基础实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《matlab基础实验报告Word文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
-pi
-
3.变量的搜索顺序
在命令窗口中输入以下指令:
sin(pi);
exist('
pi'
)
pi=0;
pi=
clear
clearpi
实验二MATLAB语言基础
基本掌握MATLAB向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、
常用的数学函数。
了解字符串的操作。
(1)向量的生成和运算。
(2)矩阵的创建、引用和运算。
(3)多维数组的创建及运算。
(4)字符串的操作。
1.向量的生成和运算
1)向量的生成
①直接输入法:
A=[2,3,4,5,6]
A=
+++++
B=[1;
2;
3;
4;
5]
B=
②冒号表达式法:
A=1:
10,B=1:
10,C=10:
-1:
1
++++++++++
C=
③函数法:
linspace()是线性等分函数,logspace()是对数等分函数
A=linspace(1,10),B=linspace(1,30,10)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A=logspace(0,4,5)
2)向量的运算
A=[12345],B=3:
7,
AT=A'
BT=B'
AT=
BT=
E1=A+B,E2=A-B
E1=
E2=
-----
F=AT-BT,
F=
G1=3*A,G2=B/3,
G1=
G2=
②向量的点积与叉积运算。
A=ones(1,10);
B=(1:
10);
BT=B'
;
E1=dot(A,B)
E2=A*BT
3,B=3:
5,
+++
E=cross(A,B)
E=
-+-
2.矩阵的创建、引用和运算
1)矩阵的创建和引用
①直接输入法
A=[123;
456]
123
456
B=[147258369]
147258369
A
(1)
A(4:
end)
536
B(:
1)
4
7
2
5
8
3
6
9
B(5)
②抽取法:
A=[1234;
5678;
9101112;
13141516]
1234
5678
9101112
13141516
B=A(1:
3,2:
3)
23
67
1011
C=A([13],[24])
24
1012
D=A([13;
24])
D=
19
513
A=ones(3,4)
1111
B=zeros(3)
C=eye(3,2)
10
01
00
D=magic(3)
816
357
492
④拼接法:
C=eye(4)
D=[AB]
1111000
F=[A;
C]
⑤拼接函数和变形函数法:
A=[01;
11]
11
B=2*ones
(2)
22
cat(1,A,B,A)
cat(2,A,B,A)
012201
112211
repmat(A,2,2)
0101
repmat(A,2)
2)矩阵的运算
②矩阵的逆矩阵
formatrat;
A=[101;
212;
046]
101
212
046
A1=inv(A)
A1=
-1/32/3-1/6
-210
4/3-2/31/6
A*A1
100
010
001
③矩阵的除法
a=[121;
314;
221],b=[112],d=b'
121
314
221
b=
112
d=
1
2
c1=b*inv(a),c2=b/a
c1=
6/73/7-4/7
c2=
c3=inv(a)*d,c4=a\d
c3=
2/7
-4/7
c4=
3.多维数组的创建及运算
1)多维数组的创建
A1=[1,2,3;
456;
7,8,9];
A2=reshape([10:
18],3,3)
A2=
101316
111417
121518
T1(:
:
1)=ones(3);
T1(:
2)=zeros(3)
1)=
111
2)=
000
T2=ones(3,3,2)
T2(:
T3=cat(3,A1,A2),T4=repmat(A1,[1,1,2])
T3(:
123
456
789
T4(:
2)多维数组的运算
A=[1:
6];
B=ones(1,6);
C1=A+B,C2=A-B
C1=
234567
C2=
012345
C3=A.*B,C4=B./A,C5=A.\B
C3=
123456
C4=
11/21/31/41/51/6
C5=
关系运算或逻辑运算的结果都是逻辑值。
I=A>
3,C6=A(I)
I=
000111
C6=
A1=A-3,I2=A1&
A
-2-10123
I2=
110111
I3=~I
I3=
111000
4.字符串的操作
1)字符串的创建
S1='
IlikeMATLAB'
S1=
IlikeMATLAB
S2='
I'
'
mastudent.'
S2=
mastudent.
S3=[S2,'
and'
S1]
S3=
mastudent.andIlikeMATLAB
2)求字符串长度
length(S1)
12
size(S1)
112
3)字符串与一维数值数组的相互转换
CS1=abs(S1)
CS1=
Columns1through9
7310810510710132776584
Columns10through12
766566
CS2=double(S1)
CS2=
char(CS2)
setstr(CS2)
实验三MATLAB数值运算
掌握MATLAB的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的
操作。
二、实验内容:
(1)多项式运算。
(2)多项式插值和拟合。
(3)数值微积分。
(4)结构数组和细胞数组。
三、实验步骤:
1.多项式运算
(1)多项式表示。
在MATLAB中,多项式表示成向量的形式。
如:
953
234
sss+−+在MATLAB中表示为
s=[13-509]
s=
13-509
(2)多项式的加减法相当于向量的加减法,但须注意阶次要相同。
如不同,低阶的要
补0。
如多项式2
239ss++与多项式432
ssss+3547−++相加。
s1=[002311]
s1=
002311
s2=[13-547]
s2=
13-547
s3=s1+s2
s3=
13-3718
(3)多项式的乘、除法分别用函数conv和deconv实现
s1=[2311]
2311
s3=conv(s1,s2)
291026-296577
s4=deconv(s3,s1)
s4=
(4)多项式求根用函数roots
s1=[242]
242
roots(s1)
-1
(5)多项式求值用函数polyval
s1=[241-3]
241-3
polyval(s1,3)
90
x=1:
10
y=polyval(s1,x)
y=
Columns1through9
4319019335257988612851788
Column10
2407
2.多项式插值和拟合
有一组实验数据如附表1-1所示。
附表1-1
X12345678910
Y163270142260436682101014321960
请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估测X=9.5时Y的值。
以下是实现一阶拟合的语句。
y=[163270142260436682101014321960]
163270142260436682101014321960
p1=polyfit(x,y,1)
p1=
1.0e+002*
2.048000000000000-5.223999999999998
y1=polyval(p1,9.5)
y1=
1.423200000000000e+003
3.数值微积分
(1)差分使用diff函数实现。
9
13579
diff(x)
2222
(2)可以用因变量和自变量差分的结果相除得到数值微分。
x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y)
y1=diff(y)./diff(x);
plot(x(1:
end-1),y1)
(3)cumsum函数求累计积分,trapz函数用梯形法求定积分,即曲线的面积。
x=ones(1,10)
cumsum(x)
x=linspace(0,pi,100);
s=trapz(x,y)
1.999832163893992
4.结构数组与细胞数组
(1)结构数组的创建。
student.number='
20050731001'
student.name='
jack'
student
(2).number='
20050731002'
student
(2).name='
lucy'
或者用struct函数创建。
student=struct('
number'
{'
001'
'
002'
},'
name'
});
(2)结构数组的操作。
student
(1).subject=[]
student=
1x2structarraywithfields:
number
name
subject
student
(1).sorce=[]
sorce
student
fieldnames(student)
ans=
'
subject'
sorce'
getfield(student,{2},'
lucy
student=rmfield(student,'
student=setfield(student,{1},'
90);
student
(2).sorce=88;
(3)细胞数组的创建。
A={'
Howareyou!
ones(3);
[12;
34],{'
cell'
}};
B=(1,1)={'
Helloworld'
};
?
|
Error:
Expressionorstatementisincorrect--possiblyunbalanced(,{,or[.
B(1,1)={'
B(1,2)={magic(3)};
B(2,1)={[1234]};
或者用cell函数先创建空的细胞数组,然后再给各个元素赋值。
C=cell(1,2);
C(1,1)={'
C(1,2)={magic(3)};
C(1,3)={[1234]};
(4)细胞数组的操作。
ans1=A(1,1)
ans1=
ans2=A{1,1}
ans2=
whosans1ans2
NameSizeBytesClassAttributes
ans11x184cell
ans21x1224char
celldisp(A)
A{1,1}=
A{2,1}=
12
34
A{1,2}=
A{2,2}{1}=
cell
a1
Undefinedfunctionorvariable'
a1'
.
a1=A{2,1}(1,2)
a1=
[a2a3]=deal(A{1:
2})
a2=
a3=
实验四MATLAB符号运算
掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。
(1)符号变量、表达式、方程及函数的表示。
(2)符号微积分运算。
(3)符号表达式的操作和转换。
(4)符号微分方程求解。
1.符号运算的引入
f=sym('
sin(pi*x)/x'
f=
sin(pi*x)/x
limit(f,'
x'
0)
pi
2.符号常量、符号变量、符号表达式的创建
1)使用sym()创建
A=sym('
1'
B=sym('
x
2*x^2+3*y-1'
2*x^2+3*y-1
f1=sym('
1+2'
f1=
1+2
f2=sym(1+2)
f2=
3
f3=sym('
2*x+3'
f3=
2*x+3
f4=sym(2*x+3)
f4=
5
2)使用syms创建
symsxyz
x,y,z
y
z=
z
f1=x^2+2*x+1
x^2+2*x+1
f2=exp(y)+exp(z)^2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 基础 实验 报告