概述
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 = BA % BA = 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 x<0
y=-x-(x+2);
elseif 0
y=2;
else y=2*x-2;
end
disp(['y=',num2str(y)])
分别用for循环和while循环求1000以内所有奇数之和。
解:方法一用for循环
s=0;
for m=1:
最后
以上就是甜蜜抽屉为你收集整理的matlab使用invfreqs出错,MATLAB实验2016剖析.doc的全部内容,希望文章能够帮你解决matlab使用invfreqs出错,MATLAB实验2016剖析.doc所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复