matlab上机作业
数值分析上机作业(MATLAB)

将系数矩阵 A 分解为:A=L+U+D
Ax=b
⇔ (D + L +U)x = b ⇔ Dx = −(L + U )x + b ⇔ x = −D −1(L + U )x + D −1b x(k +1) = −D −1 (L + U ) x(k ) + D −1b
输入 A,b 和初始向量 x
迭代矩阵 BJ , BG
否
ρ(B) < 1?
按雅各比方法进行迭代
否
|| x (k+1) − x(k) ||< ε ?
按高斯-塞德尔法进行迭代
否
|| x(k+1) − x (k ) ||< ε ?
输出迭代结果
图 1 雅各布和高斯-赛德尔算法程序流程图
1.2 问题求解
按图 1 所示的程序流程,用 MATLAB 编写程序代码,具体见附录 1。解上述三个问题 如下
16
-0.72723528355328
0.80813484897616
0.25249261987171
17
-0.72729617968010
0.80805513082418
0.25253982509100
18
-0.72726173942623
0.80809395746552
0.25251408253388
0.80756312717373
8
-0.72715363032573
0.80789064377799
9
-0.72718652854079
MATLAB期末上机试题带答案

MATLAB 期末上机考试试题带答案版姓名: 学号: 成绩:1.请实现下图:xyy=sin(x)x=linspace(0,8*pi,250); y=sin(x); plot(x,y) area(y,-1) xlabel('x') ylabel('y') title('y=sin(x)') 2.请实现下图:x=linspace(0,2*pi,100); y1=sin(x);subplot(2,2,1)plot(x,y1,'k--')grid onxlabel('x')ylabel('y')title('sin(x)')legend('y=sin(x)')y2=cos(x);subplot(2,2,2)plot(x,y2,'r--')grid onxlabel('x')ylabel('y')title('cos(x)')legend('y=cos(x)')y3=tan(x);subplot(2,2,3)plot(x,y3,'k-')grid onxlabel('x')ylabel('y')title('tan(x)')legend('y=tan(x)')y4=cot(x);subplot(2,2,4)plot(x,y4)grid onxlabel('x')ylabel('y')title('cot(x)')legend('y=cot(x)')3.解方程组:a=[3 2 1;1 -1 3;2 4 -4];b=[7;6;-2] ;x=a\b4.请实现下图:yxx=linspace(0,4*pi,1000);y1=sin(x);y2=sin(2*x);plot(x,y1,'--',x,y2,'b*')grid onxlabel('x');ylabel('y');title('耿蒙蒙')legend('sin(x)','sin(2*x)')5.请在x,y在(-2,2)内的z=xexp (-x2-y2) 绘制网格图[x,y]=meshgrid(-2:0.1:2);z=x.*exp (-x.^2-y.^2);mesh(x,y,z)6.请实现peaks函数:-55xPeaksy[x,y]=meshgrid(-3:1/8:3); z=peaks(x,y); mesh(x,y,z) surf(x,y,z) shading flataxis([-3 3 -3 3 -8 8])xlabel('x');ylabel('y');title('Peaks')7.请在x=[0,2],y=[-0.5*pi,7.5*pi],绘制光栅的振幅为0.4的三维正弦光栅。
2010专第一次上机作业: MatLab练习题-基本运算

一、书上命令练习:二、MatLab 练习1注意: 1,请按要求作题,写出程序并把结果附上,并保存文件.2,仔细填写 “学生信息”.3,把此word 文档的文件名更名为你的 “学号 姓名(*)”-*表示第几次作业.在下课前5分钟提交.1, (5*2+1.3-0.8)*10^2/25答案:2,y =23log )10sin(4)43.0(2+⋅+-eπ 答案:3,z = 10sin(π/3) ...cos(π/3)答案:4,x = sin(223/3), y = x^2,z = y*10 ;求x+2y-5z答案:5,i e z i z i z ⋅==+=π23215,2,72,计算3221z z z z z += 答案:6, 建立起始值=3,增量值=5.5,终止值=44的一维数组x(填写程序语句)答案:7, 建立等差一维数组x :首项为0,末项为π,项数为15 (填写程序语句) 答案:8, 计算行列式的值187624323=A答案:9, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=187624323A ,矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333222111B ;分别求出A x B 及A 与B 中对应元素之间的乘积的程序语句。
答案10,写出计算 Sin(36o )的程序语句.答案:三、MatLab 练习2-矩阵及数组运算1.输入矩阵。
2.输入一个与A同阶的随机矩阵B。
要求元素为整数。
3.输入一个数组b=(1 3 5 7 9 11 )4.输入与A同阶的单位矩阵E5.输入与B同阶的零矩阵Z6.构建一个大矩阵7.将 46-70这25个整数填入一个五行五列的矩阵数表G中,使其各行、各列以及主对角线和次对角线的和等相等。
8.分别求d1=|A|、d2=|B|、d3=|D|、d4=|G|9.对以上四个矩阵A、B、D、G中的可逆矩阵求逆。
10.(1) 计算d5=A+B(2) 计算d6=A*B11.取A的1,3,5行做一个子阵a1.12.取A的2,4,6行,4,5,6列上的交叉元素做一个子阵a2.13.由a2产生列向量a3.14.取a3绝对值大于4的元素构成列向量a4,15.改变A的元素A(4,5)为0 值。
MATLAB上机实验实验报告

MATLAB上机实验一一、实验目的初步熟悉MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。
命令窗口二、实验内容(1) 熟悉MATLAB 平台的工作环境。
(2) 熟悉MATLAB 的5 个工作窗口。
(3) MATLAB 的优先搜索顺序。
三、实验步骤1. 熟悉MATLAB 的5 个基本窗口①Command Window (命令窗口)②Workspace (工作空间窗口)—③Command History (命令历史记录窗口)④Current Directory (当前目录窗口)⑤Help Window (帮助窗口)(1) 命令窗口(Command Window)。
在命令窗口中依次输入以下命令:>>x=1>> y=[1 2 34 5 67 8 9];>> z1=[1:10],z2=[1:2:5];>> w=linspace(1,10,10);>> t1=ones(3),t2=ones(1,3),t3=ones(3,1)>> t4=ones(3),t4=eye(4)x =1z1 =1 2 3 4 5 6 7 8 9 10 t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:(1)变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。
当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。
脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。
当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。
2.全局变量在函数或基本工作空间内,用global声明的变量为全局变量。
数值分析作业-matlab上机作业

数值分析———Matlab上机作业学院:班级:老师:姓名:学号:第二章解线性方程组的直接解法第14题【解】1、编写一个追赶法的函数输入a,b,c,d输出结果x,均为数组形式function x=Zhuiganfa(a,b,c,d)%首先说明:追赶法是适用于三对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。
%定义三对角矩阵A的各组成单元。
方程为Ax=d%b为A的对角线元素(1~n),a为-1对角线元素(2~n),c为+1对角线元素(1~n-1)。
% A=[2 -1 0 0% -1 3 -2 0% 0 -2 4 -3% 0 0 -3 5]% a=[-1 -2 -3];c=[-1 -2 -3];b=[2 3 4 5];d=[6 1 -2 1];n=length(b);u(1)=b(1);y(1)=d(1);for i=2:nl(i)=a(i-1)/u(i-1);%先求l(i)u(i)=b(i)-c(i-1)*l(i);%再求u(i)%A=LU,Ax=LUx=d,y=Ux,%Ly=d,由于L是下三角矩阵,对角线均为1,所以可求y(i)y(i)=d(i)-l(i)*y(i-1);endx(n)=y(n)/u(n);for i=(n-1):-1:1%Ux=y,由于U是上三角矩阵,所以可求x(i)x(i)=(y(i)-c(i)*x(i+1))/u(i);end2、输入已知参数>>a=[2 2 2 2 2 2 2];>>b=[2 5 5 5 5 5 5 5];>>c=[2 2 2 2 2 2 2];>>d=[220/27 0 0 0 0 0 0 0];3、按定义格式调用函数>>x=zhuiganfa(a,b,c,d)4、输出结果x=[8.147775166909105 -4.073701092835030 2.036477565178471 -1.017492820111148 0.507254485099400 -0.250643392637350 0.119353996493976 -0.047741598597591]第15题【解】1、编写一个程序生成题目条件生成线性方程组A x=b 的系数矩阵A 和右端项量b ,分别定义矩阵A 、B 、a 、b 分别表示系数矩阵,其中1(10.1;,1,2,...,)j ij i i a x x i i j n -==+=或1(,1,2,...,)1ij a i j n i j ==+-分别构成A 、B 对应右端项量分别a 、b 。
matlab上机练习(附答案)

1.以下两种说法对吗?(1)MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。
(2)MATLAB指令窗中显示的数据有效位数不超过七位。
2.历史指令窗所记录的内容与diary指令所产生的“日志”内容有什么不同?DIARY filename causes a copy of all subsequent command window inputand most of the resulting command window output to be appended to thenamed file. If no file is specified, the file 'diary' is used.DIARY OFF suspends it.DIARY ON turns it back on.DIARY, by itself, toggles the diary state.Use the functional form of DIARY, such as DIARY('file'),when the file name is stored in a string.3.如何把用户自己的“工作目录”永久地设置在MATLAB的搜索路径上?“位于搜索路径上的目录”与“当前目录”在MATLAB中的功用相同吗?4.如何向MATLAB工作空间输入一个含有100个左右元素的一维或二维数值数组?用直接键入法?用数组编辑器?用M文件编辑器?5.运用数组算术运算符去掉下面程序里的for/end循环:x=11:15for k=1:length(x)z(k)=x(k)^2+2.3*x(k)^0.5;endx=11:15 z1=x.^2+2.3*x.^0.56.不使用数组算术运算符,重写下面的程序代码:x=[2 1 4]z=1./(1+x.^2)x=2;k=1;while i<=4,z2(k)=1/(1+i^2);i=i+1;x=x+1;end7.某公司销售电脑打印机的价格方案如下:()如果顾客只买一台打印机,则一台的基本价格为$150。
MATLAB上机作业

MA TLAB上机作业学院名称:专业班级:学生姓名:学生学号:年月作业11.用MATLAB可以识别的格式输入下面两个矩阵12342357135732391894A ⎛⎫⎪⎪ ⎪= ⎪⎪ ⎪⎝⎭,144367723355422675342189543i iB i +⎛⎫⎪+⎪= ⎪+ ⎪ ⎪⎝⎭再求出它们的乘积矩阵C ,并将C 矩阵的右下角23⨯子矩阵赋给D 矩阵。
赋值完成后,调用相应的命令查看MATLAB 工作空间的占有情况。
解:A=[1 2 3 4;2 3 5 7;1 3 5 7 ;3 2 3 9 ;1 8 9 4;]B=[1+4i 4 3 6 7 7;2 3 3 5 5 4+2i;2 6+7i 5 3 4 2;1 8 9 5 4 3;] B=[1+4i 4 3 6 7 7;2 3 3 5 5 4+2i;2 6+7i 5 3 4 2;1 8 9 5 4 3;] C=A*B D=C(4:5,4:6); whos; 2.设矩阵16231351110897612414152⎛⎫ ⎪⎪ ⎪ ⎪⎝⎭,求A ,1A -,3A ,12A A -+,1'3A A --,并求矩阵A 的特征值和特征向量。
解:A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 2;] det(A) inv(A) A.^3 2*A+inv(A) 3*A-A' [V,D]=eig(A)abs (A)3.解下列矩阵方程: 01010014310001201001010120X -⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪=-⎪ ⎪⎪⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ 解:A=[0 1 0;1 0 0;0 0 1;]; B=[1 0 0;0 0 1;0 1 0;]; C=[1 -4 3; 2 0 -1;1 -2 0;]; X=inv(A)*C*inv(B)4.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
matlab上机习题答案

matlab上机习题答案Matlab上机习题答案在现代科学和工程领域中,计算机编程和数值计算已经成为必不可少的技能。
而Matlab作为一种强大的数值计算软件,被广泛应用于各种领域。
为了帮助学习者更好地掌握Matlab的基本操作和数值计算方法,老师们经常会布置一些上机习题,让学生通过实际操作来加深对Matlab的理解。
下面我们来看一些常见的Matlab上机习题答案:1. 编写一个Matlab程序,计算并输出1到100之间所有奇数的和。
答案:```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个Matlab程序,计算并输出斐波那契数列的前20个数字。
答案:```matlabfib = zeros(1,20);fib(1) = 1;fib(2) = 1;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```3. 编写一个Matlab程序,求解一元二次方程ax^2 + bx + c = 0的根。
答案:```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta < 0disp('无实根');elseif delta == 0x = -b / (2*a);disp(x);elsex1 = (-b + sqrt(delta)) / (2*a);x2 = (-b - sqrt(delta)) / (2*a);disp(x1);disp(x2);end```通过以上几个例子,我们可以看到,Matlab的语法简洁明了,功能强大。
通过编写程序来解决实际问题,不仅加深了对Matlab的理解,也提高了计算机编程和数值计算的能力。
希望大家在学习Matlab的过程中能够多多练习,不断提高自己的编程水平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二次 上机作业
1、 求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。
(1)⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡--=901511250324153211A (2)⎥⎦⎤⎢⎣⎡-=2149.824343.0B 1.
A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9]
D=diag(A)
C=triu(A)
B=tril(A)
E=rank(A)
F=trace(A)
a1=norm(A,1)
a2=norm(A,inf)
a3=norm(A,inf)
c1=cond(A)
c1=cond(A,1)
c2=cond(A,2)
c3=cond(A,inf)
2.
B=[0.43,43,2;-8.9,4,21]
D=diag(B)
C=triu(B)
B=tril(B)
E=rank(B)
F=trace(B)
a1=norm(B,1)
a2=norm(B,inf)
a3=norm(B,inf)
c1=cond(B)
c1=cond(B,1)
c2=cond(B,2)
c3=cond(B,inf)
2、 求矩阵A 的特征值和相应的特征向量。
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=225.05.025.0115.011A
A=[1,1,0.5;1,1,0.25;0.5,0.25,2]
[V ,D]=eig(A)
3、 下面是一个线性方程组:
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解。
(2) 将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相
对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]
B=[0.95,0.67,0.52]
X=inv(A)*b
c1=cond(A,1)
c2=cond(A,2)
c3=cond(A,inf)
4、 利用Matlab 提供的randn 函数生成符合正态分布的10×5随机矩阵A,进行
如下操作:
(1)A 各列元素的均值和标准方差
(2)A 的最大元素和最小元素
(3)求A 每行元素的和以及全部元素之和
(4)分别对A 的每列元素按升序、每行按降序排列
X=randn(10,5)
M=mean(X)
D=std(X)
m=max(X)
n=min(X)
P=sum(X,2)
sum(p)
Ans
5、按要求对指定函数进行插值
(1)按下表用三次样条方法插值计算0~900范围内整数点的正弦值和0~
750范围内整数点的正切值。
表1 特殊角的正弦与正切值表
α(度)0 15 30 45 60 75 90 α
sin0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 α
tan0 0.2679 0.5774 1.0000 1.7320 3.7320
(2)用三次多项式方法插值计算1~100之间整数的平方根
表2 1~100内特殊值的平方根
N 1 4 9 16 25 36 49 64 81 100 N 1 2 3 4 5 6 7 8 9 10 1.
X=0:15*pi/180:pi/2;
sin(X)
tan(X)
Format long
Interp1(x,sin(x),’spline’)
Columns 1 through 4
Columns 5 through 7
2.
N=[1 4 9 16 25 36 49 64 81 100]
n=sqrt(N)
format long
i nterp1(N,n,’cubic’)
6、将10个学生5门功课的成绩存入矩阵P中,进行如下处理:
(1)分别求每门功课的最高分、最低分及相应的学号。
(2)分别求每门功课的平均值和标准方差。
(3) 5门课总分的最高分、最低分及相应的学号。
(4)将5门课总分按从大到小的顺序存入abc中,相应的学生序号存入mmw。
提示:为了避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。
X=45+(95-45)*rand(5,10)
M1=max(x,[],2)
[M1,l1]=max(x,[],2)
M2=min(x,[],2)
[M2,l2]=min(x,[],2)
X1=mean(x)
X2=std(x)
N1=sun(X,2)
N2=sun(X,1)
[n2,l3]=max(x,[],1)
7、某气象站观测某日6:00~8:00之间每隔2h内温度(0C)如实验表1所示
实验表1 室内外温度观测结果(0C)
试用三次样条插值分别求出该日室内外6:30~17:30之间每隔2h各个点的近似温度(0C)。
h=6:2:18;
t1=[18,20,22,25,30,28,24]
t2=[15,19,24,28,34,32,30]
format long
interp1(h,t1,’splime’)
interp1(h,t2,’splime’)
8、已知一组实验数据如下表所示:
i=1:5
X=[165,123,150,123,141]
Y=[187,126,172,125,148]
b=ployfit(x,y,2)
ployfit(x,y,2)
m=ployfit(x,y,2)
n=ployval(m,x)
plot(x,n,’m-’)
9、已知x lg 在【1,101】区间10个整数采样点的函数值如实验表所示:
x lg 在10个整数采样点的函数值
试求x lg 的5次拟合多项式)(x p ,并绘制出x lg 和)(x p 在【1,101】区间的函数曲线。
X=1:10:101
Y=log10(x)
p=polyfit(x,y,5)
plot(p)
plot(y)
10、 已知多项式23)(1+=x x P ,25)(22+-=x x x P ,5.0)(23-=x x P ,求:
(1))()()()(321x P x P x P x P =。
(2)0)(=x P 的全部根。
(3)计算)10,,2,1,0(2.0 ==i i x i 各点上的)(i x P 。
X1=[3,2]
X2=[5,-1,2]
X3=[1,0,-0.5]
C=conv(x1,x2)
D=conv(c,x3)
X=roots(d)
M=[0,0.2i,0.4i,0.6i,0.8i,1.2i,1.4i,1.6i,1.8i,2i] Y=1.0e+0.002*
11、 求函数在指定点的数值导数:
(1)2
,3,4,6,cos sin )(22π
πππ
=+=x x x x f
(2)3,2,1,1)(2=+=x x x f
Syms x
Y=(sin(x))^2+(cos(x))^2;
Dy=diff(y);
X=[pi/6,pi/4,pi/3,pi/2];
Eval(dy)
Syms x
Y=squrt(1+x^2);
Dy=diff(y)
X=1
Eval(dy)
X=2
Eval(dy )
X=3
Eval(dy )
12、 求数值积分:
(1)⎰-++1142
11dx x x
(2)⎰++π02cos 1)
1ln(dx x x
(3)⎰+π
02
1sin dx x x x a=-1,b=1
N=100;h=(b-a)/n; X=a;s=0
F0=(1+x^2)/(1+x^4) For i=1:n
X=x+h
F1=(1+x^2)/(1+x^4) S=s+(f0+f1)*h/2;
F0=f1
A=0;b=pi;
N=1000;h=(b-a)/n
X=a;s=0;
F0=(log2(1+x))/(cos(x))^2) S=s+(f0+f1)*h/2
F0=f1
A=0;b=pi;
N=1000;h=(b-a)/n
X=a;s=0;
F0=(x*sin(x))/(1+x^2) For i=1:n
X=x+h
F1=(x*sin(x))/(1+x^2); S=s+(f0+f1)*h/2
F0=f1
13、 已知0,)(≥=-t e t h t ,取64=N ,对t 从s 50→采样,用FFT 做快速傅立
叶变换,并绘制出相应的振幅和频率图。
T=5
t=linspace(0,T,N)
x=exp(-t)
dt=t(2)-t(1);
f=1/dt
X=fft(x)
F=X(1:N/2+1)
f=f*(0:N/2)
plot(f,abs(F),’-*’)。