基于matlab的科学计算实验Word下载.docx
《基于matlab的科学计算实验Word下载.docx》由会员分享,可在线阅读,更多相关《基于matlab的科学计算实验Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
4,5,6],eye(2,3)*2,ones(2,3))
repmat([1,2;
3,4],[1,2,3])
reshape(1:
20,2,5,2)
三、标准数组创建实验:
(1)全0矩阵:
zeros(3)
(2)全1矩阵:
ones(5)
(3)单位矩阵:
eye(4)
(4)magic矩阵:
magic(4)
(5)随机矩阵:
randn(4)
四、矩阵变换实验:
令Data=[1,2,3,4;
5,6,7,8;
9,10,11,12],分别使用diag、'
、fliplr、flipud、rot90、tril、triu函数计算Data的对角、转置、翻转、旋转、三角矩阵,具体命令如下:
Data=[1,2,3,4;
9,10,11,12]
diag(Data)
(Data)'
fliplr(Data)
flipud(Data)
rot90(Data)
tril(Data)
triu(Data)
五、字符串数组创建与操作实验:
(1)创建字符串数组:
arr=str2mat('
I'
'
am'
a'
student'
)
(2)去掉字符串末尾的空格deblank:
:
建立字符串,用abs函数验证空格的存在;
用deblank去掉空格,用abs已经去掉空格
x='
an'
;
y=abs(x)
z=deblank(x);
w=abs(z)
(3)删除字符串开头和结尾的空格strtrim
str1='
Iamastudent'
str2='
Iamastudent'
x=strtrim(str1)
y=strtrim(str2)
(4)执行简单的字符串替代strrep、
Iamastudent.'
str3='
teacher'
str=strrep(str1,str2,str3)
(5)规范格式strread;
strread('
0.231'
%5.3f'
(6)函数strtok找出由特定字符指定的字符串内的标记;
ar='
Iamastudent'
strtok(ar,'
s'
六、架构数组的创建与操作实验:
(1)直接创建法:
clearx;
x.real=[12345];
x.imag=ones(4)
(2)命令(struct)创建法
s=struct('
name'
{'
x'
y'
},'
id'
3'
4'
w'
{3,4})
(3)Fieldnames函数:
fieldnames(s)
(4)Getfield函数:
str(1,1).name='
str(1,1).ID=5;
str(2,1).name='
str(2,1).ID=3;
result=getfield(str,{2,1},'
(5)Setfield函数:
str=setfield(str,{2,1},'
);
str(2,1).name
七、基本运算符号实验:
(1)矩阵加:
a=[1,2,3;
4,5,6;
7,8,9];
b=[3,6,9;
1,2,3;
2,4,6];
a+b
(2)矩阵减:
a-b
(3)矩阵乘
a*b
(4)数组乘
a.*b
(5)矩阵乘方
a^2
(6)数组乘方
a.^b
(7)矩阵左除
b=[2;
4;
6];
a\b
(8)矩阵右除
a=ones(3);
b=[1,1,1];
a/b
(9)数组左除
a.\b
(10)数组右除
a./b
(11)克罗内克张量积
a=[1,0,1;
1,1,1;
1,0,1];
b=[0,0,1;
1,0,1;
0,0,1];
kron(a,b)
(12)逻辑与
a&
b
(13)逻辑或
a|b
(14)逻辑非
~a
(15)逻辑异或
xor(a,b)
八、矩阵分析实验:
(1)范数(norm):
norm(a,1)
norm(a,2)
(2)条件数(cond):
cond(a)
(3)行列式(det):
det(a)
(4)秩(rank):
rank(a)
(5)特征值(eig):
eig(a)
[V,D]=eig(a)
(6)化零矩阵(null)
Z=null(a)
(7)Cholesky分解(chol)
a=pascal(3)
a=pascal(3);
chol(a)
(8)LU分解(lu)
[L1,U1]=lu(a)
(9)正交分解(qr)
[U,S]=qr(a)
(10)奇异值分解(svd):
[U,S,V]=svd(a)
九、数值计算实验:
(1)导数(diff):
a='
x^3+4*x^2-x+20'
diff(a)
(2)梯度(gradient)
[fx,fy]=gradient(a)
(3)多项式求根(roots)、
p=[1,3,2,5];
px=poly2str(p,'
r=roots(p)
//p是多项式的MATLAB描述方法,我们可用poly2str(p,'
)函数,来显示多项式的形式,px=x^3+3x^2+2x+5
(4)零点(fzero、fsolve):
a=@(x)x^2+3*x+2;
x=fzero(a,0)
x=fsolve('
x^2+3*x+2'
0)
(5)极值(fminbnd、fminsearch、fminunc)、
1;
f=@(x)x^2-4*x+5;
fminbnd(f,0,1)
2;
fun=inline('
x
(1)^2-3*x
(1)*x
(2)+2*x
(2)^2'
x0=[1,1];
fminsearch(fun,x0)
3;
fminunc(fun,x0)
(6)积分(quadl)
用内联函数定义被积函数:
-x.*x'
y=quadl(fun,0,1)
一十、符号计算实验:
(1)将
化简:
先用syms定义符号变量,再用simplify函数进行化简,具体命令如下:
simplify(cos(x)+sqrt(-sin(x)^2))
(2)求
的解:
用solve函数求解,命令如下:
x=solve('
(x+2)^x=2'
实验记录
一、
(1)
test=
1234
1
2
3
4
(2)
Columns1through4
1.00001.50002.00002.5000
Columns5through8
3.00003.50004.00004.5000
Columns9through12
5.00005.50006.00006.5000
Columns13through16
7.00007.50008.00008.5000
Columns17through19
9.00009.500010.0000
(3)
1.00003.75006.50009.2500
Column5
12.0000
(4)
ans=
1.0e+006*
0.00010.00220.04641.0000
二、
(1)直接输入法
A=
123
456
789
(2)使用下标
1)=
000
2)=
001
(3)使用低维数组
clear,A=eye(3,4);
1000
0100
0010
2000
0200
0020
3)=
3000
0300
0030
4)=
4000
0400
0040
(4)使用创建函数(cat、repmat、reshape)创建高维数组。
1,>
ans(:
200
020
111
2,>
1212
3434
3,>
13579
246810
1113151719
1214161820
三、
11111
0001
162313
511108
97612
414151
(5)
1.06680.2944-0.6918-1.4410
0.0593-1.33620.85800.5711
-0.09560.71431.2540-0.3999
-0.83231.6236-1.59370.6900
四、
Data=
5678
9101112
6
11
(Data)'
159
2610
3711
4812
4321
8765
1211109
(6)
5600
910110
(7)
0678
001112
五、
arr=
I
am
a
student
y=
973211032
w=
9732110
x=
Iamastudent
str=
Iamateacher.
0.2310
ar=
Iama
六;
(1)直接法
x=
real:
[12345]
imag:
[4x4double]
(2)struct函数
s=
1x2structarraywithfields:
name
id
w
(3)fieldnames功能演示
ans=
'
(4)getfield功能演示
result=
y
(5)setfield功能演示
a
七:
(1)矩阵加
579
91215
(2)矩阵减
-2-4-6
333
543
112233
295887
4794141
31227
41018
143254
303642
668196
102126150
16419683
425216
494096531441
Warning:
Matrixisclosetosingularorbadlyscaled.
Resultsmaybeinaccurate.RCOND=2.203039e-018.
-0.4667
0.9335
0.1999
3.00003.00003.0000
0.25000.40000.5000
0.28570.50000.6667
0.33330.33330.3333
4.00002.50002.0000
3.50002.00001.5000
001000001
101000101
001001001
101101101
101
010
100
八、
(1)范数(norm)用来度量矩阵或者向量在某种意义下的长度
18
16.8481
(2)条件数(cond)可以描述矩阵为良性矩阵还是病态矩阵的一个参数
5.0524e+016
(3)行列式(det)
0
(4)秩