Matlab实验第一次实验答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一Matlab使用方法和程序设计
一、实验目的
1、掌握Matlab软件使用的基本方法;
2、熟悉Matlab的数据表示、基本运算和程序控制语句
3、熟悉Matlab绘图命令及基本绘图控制
4、熟悉Matlab程序设计的基本方法
二、实验内容:
1、帮助命令
使用help命令,查找sqrt(开方)函数的使用方法;
解:sqrt
Square root
Syntax
B = sqrt(X)
Description
B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results.
Remarks
See sqrtm for the matrix square root.
Examples
sqrt((-2:2)')
ans =
0 + 1.4142i
0 + 1.0000i
1.0000
1.4142
2、矩阵运算
(1)矩阵的乘法
已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B
解:A=[1 2;3 4 ];
B=[5 5;7 8 ];
A^2*B
(2)矩阵除法
已知A=[1 2 3;4 5 6;7 8 9];
B=[1 0 0;0 2 0;0 0 3];
A\B,A/B
解:A=[1 2 3;4 5 6;7 8 9 ];
B=[1 0 0;0 2 0;0 0 3 ];
A\B,A/B
(3)矩阵的转置及共轭转置
已知A=[5+i,2-i,1;6*i,4,9-i];
求A.', A'
解:A=[5+1i,2-1i,1;6*1i,4,9-1i ];
A1=A.',A2=A'
(4)使用冒号表达式选出指定元素
已知:A=[1 2 3;4 5 6;7 8 9];
求A 中第3列前2个元素;A 中所有列第2,3行的元素;
方括号[]
解:A=[1 2 3;4 5 6;7 8 9 ];
B=A([1,2],[3]),C=A(2:end, : )
用magic 函数生成一个4阶魔术矩阵,删除该矩阵的第四列
3、多项式
(1)求多项式42)(3--=x x x p 的根
解:A=[1 0 -2 -4];
B=roots(A)
(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征多项式;
解:
A=[1.2 3 5 .9 ; 5 1.7 5 6 ;3 9 0 1 ;1 2 3 4];
A=poly(A);
A=poly2sym(A)
把矩阵A作为未知数代入到多项式中;
4、基本绘图命令
(1)绘制余弦曲线y=cos(t),t∈[0,2π]
解:t=0:.1:2*pi;
y=cos(t);
plot(t,y),grid
(2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]t=0:.1:2*pi;
y1=cos(t-0.25);
y2=sin(t-0.25);
plot(t,y1,t,y2)
grid
5、基本绘图控制
绘制[0,4π]区间上的x1=10sint曲线,并要求:
(1)线形为点划线、颜色为红色、数据点标记为加号;
(2)坐标轴控制:显示范围、刻度线、比例、网络线
(3)标注控制:坐标轴名称、标题、相应文本;
t=0:.01:4*pi;
y=10*sin(t);
plot(t,y,'-.',t,y,'r')
grid
6、基本程序设计
(1)编写命令文件:计算1+2+…+n<2000时的最大n值;
解法1:
s=0;i=0;
while(s<2000) i=i+1;s=s+i; end
s=s-i,i=i-1
解法2:s=0;
for i=1:1000; s=s+i;if(s>2000) ,break;
end
end
s=s-i,i=i-1
(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。解法1:function [ s i ] = mitifang1(n)
s=0;
for i=0:n
s=s+2^i; if(i>n), break;
end
end
s,n
解法2:function [ s i ] = mitifang2(n)
s=0;i=0;
while(i<=n) ,s=s+2^i;i=i+1;
end
s,n
(3)如果想对一个变量x自动赋值。当从键盘输入y或Y时(表示是),x自动赋为1;
当从键盘输入n或N时(表示否),x自动赋为0;输入其他字符时终止程序。reply=input('ÇëÊäÈë×Öĸ: ','s');
while reply=='y'||reply=='Y'||reply=='n'||reply=='N'
if (reply=='y'||reply=='Y')
x=1;
disp('x=')
disp(x)
elseif (reply=='n'||reply=='N')
x=0;
disp('x=')
disp(x)
else
disp('shu ru you wu')
end
reply=input('ÇëÊäÈë×Öĸ£º ','s');
end
disp('shu ru you wu ')
解: