- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB实验2016剖析
实验一 MATLAB基本运算
(五)矩阵的运算
运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;
常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)
例5:
A=[2 0 –1;1 3 2]; B=[1 7 –1;4 2 3;2 0 1];
M = A*B % 矩阵A与B按矩阵运算相乘
det_B = det(B) % 矩阵A的行列式
rank_A = rank(A) % 矩阵A的秩
inv_B = inv(B) % 矩阵B的逆矩阵
[V,D] = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D
X = A/B % A/B = A*B-1,即XB=A,求X
Y = B\A % B\A = B-1*A,即BY=A,求Y
(六)上机练习
1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;
2.输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:
A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A
3.输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,…,10; c=1:2:20
i=1:10
c(i)
4.查找已创建变量的信息,删除无用的变量;
5.创建如下变量:
在0-3 均匀的产生10个点值,形成10维向量 A=linspace(0,3,10))
3*3阶单位距阵 B=eye(3),随机距阵 randn(3,3),魔方距阵 magic(3),全0距阵 zeros(3,3),全1距阵 E=ones(3,3),
求方程组的解 A=[1 2 2;2 1 2;3 4 5];
B=[2 5 6];
x=A/B
x =
0.3692
0.3231
0.8615
实验二 MATLAB程序设计?
?三、实验内容:
??1、熟悉MATLAB程序编辑与设计环境
2、用for循环语句实现求1~100的和。 sum=0;
for i=1:100
sum=sum+i;
end
sum
?3、用for循环语句实现编写一个求n阶乘的函数文件。function y=a(n)
y=1;
for i=1:n
y=y*i;
end
?4、?利用for循环求1!+2!+3!+?…?+5!的值 sum=0;y=1;
for i=1:5
y=y*i;
sum=sum+y;
end
sum
sum =
153
?5、已知一维数组A=[2,4,5,8,10],B=[4,6,9,3,4],用for循环语句实现,
求和函数可用sum()。 A=[2 4 5 8 10];
B=[4 6 9 3 4];
sum=0;
for i=1:5
C(i)=(A(i)*B(5-i+1));
sum=sum+C(i);
end
sum
sum =
153
6、编写程序,计算1+3+5+7+…+(2n+1)的值(用input语句输入n 值)。 sum=0;
n=input(Please input a number:);
t=2*n+1;
for i=1:2:t
sum=sum+i;
end
四 运行下列参考例题程序,观察运行结果:
用for循环计算100!和
解:
s=0;
p=1;
for m=1:100
s=s+m;
p=p*m;
end
disp([100!=,num2str(p)])
disp([sigma(1-100)=,num2str(s)])
编程计算函数y=|x|+|x-2|,x从屏幕输入
解:
x=input(x=)
if x0
y=-x-(x+2);
elseif 0x2
y=2;
else y=2*x-2;
end
disp([y=,num2str(y)])
分别用for循环和while循环求1000以内所有奇数之和。
解:方法一用for循环
s=0;
for m=1:2:999
s=s+m;
end
disp([s=,num2str(s)])
方法二用while循环
s=0;
m=1;
while
文档评论(0)