MATLAB作业3 - 答案
MATLAB习题及参考答案经典.doc
习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。
(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。
(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
(完整word版)含答案《MATLAB实用教程》
第二章 MATLAB 语言及应用实验项目实验一 MATLAB 数值计算三、实验内容与步骤1.创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a(1(2)用(3)用(42.矩阵的运算(1)利用矩阵除法解线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x 将方程表示为AX=B ,计算X=A\B 。
(2)利用矩阵的基本运算求解矩阵方程。
已知矩阵A 和B 满足关系式A -1BA=6A+BA ,计算矩阵B 。
其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=7/10004/10003/1A ,Ps: format rata=[1/3 0 0;0 1/4 0;0 0 1/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。
已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1104152021X ,计算其特征值和特征向量。
(4)Page:322利用数学函数进行矩阵运算。
已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(1)2(2w )和相频特性Fw=-arctan(2w),w 的范围为[0.01,10],按对数均匀分布。
3.多项式的运算(1)多项式的运算。
已知表达式G(x)=(x-4)(x+5)(x 2-6x+9),展开多项式形式,并计算当x 在[0,20]内变化时G(x)的值,计算出G(x)=0的根。
Page 324(2)多项式的拟合与插值。
将多项式G(x)=x 4-5x 3-17x 2+129x-180,当x 在[0,20]多项式的值上下加上随机数的偏差构成y1,对y1进行拟合。
对G(x)和y1分别进行插值,计算在5.5处的值。
Page 325 四、思考练习题1.使用logspace 函数创建0~4π的行向量,有20个元素,查看其元素分布情况。
Ps: logspace(log10(0),log10(4*pi),20) (2) sort(c,2) %顺序排列 3.1多项式1)f(x)=2x 2+3x+5x+8用向量表示该多项式,并计算f(10)值. 2)根据多项式的根[-0.5 -3+4i -3-4i]创建多项式。
matlab课后习题答案第三章
第3章数值数组及其运算习题3及解答1 要求在闭区间]2,0[ 上产生具有10个等距采样点的一维数组。
试用两种不同的指令实现。
〖目的〗●数值计算中产生自变量采样点的两个常用指令的异同。
〖解答〗%方法一t1=linspace(0,2*pi,10)%方法二t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9.t1 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.2832t2 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.28322 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
〖目的〗●数组下标的不同描述:全下标和单下标。
●sub2ind, int2str, disp的使用。
●随机发生器的状态控制:保证随机数的可复现性。
〖解答〗rng('default')A=rand(3,5)[ri,cj]=find(A>0.5);id=sub2ind(size(A),ri,cj);ri=ri';cj=cj';disp(' ')disp('大于0.5的元素的全下标')disp(['行号 ',int2str(ri)])disp(['列号 ',int2str(cj)])disp(' ')disp('大于0.5的元素的单下标')disp(id')A =0.8147 0.9134 0.2785 0.9649 0.95720.9058 0.6324 0.5469 0.1576 0.48540.1270 0.0975 0.9575 0.9706 0.8003大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3列号 1 1 2 2 3 3 4 4 5 5大于0.5的元素的单下标1 2 4 5 8 9 10 12 13 153 采用默认全局随机流,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。
matlab课后习题答案(附图)
matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。
matlab整理
作业一:P55:1.在一个MATLAB命令中,6+7i和6+7*i有何区别?i和I有何区别?解:在MATLAB中6+7i是一个复数常量,6+7*i则是一个表达式。
i是虚数单位,而I是单位向量。
4.要产生均值为3,方差为1的500个正态分布的随机序列,写出相应的表达式。
解:y=3+sqrt(1)*randn(500)5.求下列矩阵的对角线元素、上三角矩阵、逆矩阵、行列式的值、秩、迹。
(1) A =1 -12 35 1 -4 23 0 5 211 15 0 9(2) B =0.43 43 2-8.9 4 21解:(1)A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9]主对角元素:D=diag(A)上三角矩阵:B=triu(A)下三角矩阵:C=tril(A)逆矩阵:X=inv(A)行列式的值:E=det(A)秩:F=rank(A)逆:G=trace(A)运行结果:A =1 -12 35 1 -4 23 0 5 211 15 0 9主对角元素:D =1159上三角矩阵:B =1 -12 30 1 -4 20 0 5 20 0 0 9下三角矩阵:C =1 0 0 05 1 0 03 0 5 011 15 0 9逆矩阵:X =-0.1758 0.1641 0.2016 -0.0227 -0.1055 -0.1016 -0.0391 0.0664 -0.0508 -0.0859 0.1516 0.0023 0.3906 -0.0313 -0.1813 0.0281 行列式的值:E =1280秩:F =4逆:G =16(2)B = [0.43,43,2;-8.9,4,21]主对角元素:D=diag(B)上三角矩阵:Y=triu(B)下三角矩阵:C=tril(B)逆矩阵:X=pinv(B)行列式的值:E=det(B)秩:F=rank(B)迹:G= trace(B)运行结果:B =0.4300 43.0000 2.0000-8.9000 4.0000 21.0000主对角元素:D =0.43004.0000上三角矩阵:Y =0.4300 43.0000 2.00000 4.0000 21.0000下三角矩阵:C =0.4300 0 0-8.9000 4.0000 0逆矩阵:X =0.0022 -0.01750.0234 -0.0017-0.0035 0.0405行列式的值:E = 1.2526e+003秩:F=3迹:G =5.43006. 当A=[34,NaN,Inf,-Inf,-pi,eps,0]时,求函数all(A)、any(A)、isnan(A)、isinf(A)、isfinite(A)的值。
MATLAB作业
MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。
2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。
在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。
3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。
4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。
5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。
6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。
运⾏过程中产⽣的变量都是全局变量。
运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。
函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。
数学建模作业题+答案
数学建模MATLAB 语言及应用上机作业11. 在matlab 中建立一个矩阵135792468101234501234A ⎡⎤⎢⎥⎢⎥=⎢⎥-----⎢⎥⎣⎦答案:A = [1,3,5,7,9;2,4,6,8,10;-1,-2,-3,-4,-5;0,1,2,3,4]2. 试着利用matlab 求解出下列方程的解(线性代数22页例14)123412423412342583692254760x x x x x x x x x x x x x x +-+=⎧⎪--=⎪⎨-+=-⎪⎪+-+=⎩ 答案:A=[2 ,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6]; B=[8;9;-5;0]; X=A\B 或A=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6] b=[8,9,-5,0]' X=inv(A)*b3. 生成一个5阶服从标准正态分布的随机方阵,并计算出其行列式的值,逆矩阵以及转置矩阵。
答案:A=randn(5) det(A) inv(A) A'4. 利用matlab 求解出110430002A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的特征值和特征向量。
答案:A=[-1,1,0;-4,3,0;0,0,2] [V,D]=eig(A)5.画出衰减振荡曲线3sin3t y et -=在[0,4]π上的图像。
要求,画线颜色调整为黑色,画布底面为白色。
(在实际中,很多打印机时黑白的,因此大多数作图要考虑黑白打印机的效果。
) 给出恰当的x ,y 坐标轴标题,图像x 轴的最大值为4π。
6. 生成一个0-1分布的具有10个元素的随机向量,试着编写程序挑选出向量中大于0.5的元素。
数学建模和Matlab 上机作业2(2016-9-20)跟老师做(不用整合进作业中):上机演示讲解:函数,递归的两个例子的写法。
附:1. Fibonacci Sequence (斐波那契数列)在数学上,费波那西数列是以递归的方法来定义: F1= 1;F2= 1;F (n )=F (n-1)+F (n-2) 2. 阶乘举例:数学描述:n!=1×2×……×n ;计算机描述:n!=n*(n-1)!自己做(需要整合进作业中,提交到系统中):1. 写一个m 文件完成分值百分制到5分制的转换(即输入一个百分制,转换后输出一个5级对应的得分,联系条件控制语句)。
matlab实验三答案详解
实验三选择结构程序设计实验内容1.程序代码function f(x)if x<0&x~=-3y=x*x+x-6;elseif x>0&x<5&x~=2&x~=3y=x*x-5.*x+6;elsey=x*x-x-1endy运行结果>> f(-7)y =36>> f(2.5)y =-0.2500>> f(90)y =80092.程序代码score=input('分数=');if score<=100&score>=0switch fix(score/10)case{9,10}grade='A';case{8}grade='B';case{7}grade='C';case{6}grade='D';otherwisegrade='E';endgradeelsedisp('输入有误,请输入正确的百分制成绩');end运行结果>> 分数=56grade =E>> f分数=345输入有误,请输入正确的百分制成绩3.程序代码time=input('工作时间=');switch timecase{time>120}wage=(time-120)*(1+15/100)*84+120*84;case{time<60}wage=time*84-700;otherwisewage=time*84end运行结果>> f工作时间=150wage =12600>> f工作时间=50wage =4200>> f工作时间=110wage =92404.程序代码A=10+90*rand(5);a=fix(A(3,3))b=fix(A(2,4))x=input('输入一个运算符号','s');switch xcase {'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;otherwisec='无效'endc运行结果>> fa =55b =59输入一个运算符号+c =114>> fa =77b =14输入一个运算符号/c =5.5000>> fa =30b =58输入一个运算符号#c =无效c =无效5.程序代码A=input('输入一个5行6列的矩阵A=');n=input('输入一个正整数n=');if n<5&n>0disp(A(n,:));elsedisp(A(5,:));endlasterr运行结果>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 9 2 2 2 3;11 2 11 9 7 3;2 3 4 5 6 7] 输入一个正整数n=62 3 4 5 6 7ans =Undefined function or variable 'clcl'.>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一个正整数n=32 2 2 2 2 3ans =Undefined function or variable 'clcl'.。
matlab课后习题与答案
习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
因此,矩阵是MATLAB最基本、最重要的数据对象。
2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。
(2)A./B和B.\A的值是否相等?答:相等。
(3)A/B和B\A的值是否相等?答:不相等。
(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。
3.写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。
答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A的第7号元素。
答:A(7)=[](3)将矩阵A的每个元素值加30。
答:A=A+30;(4)求矩阵A的大小和维数。
答:size(A);ndims(A);(5)将向量t的0元素用机器零来代替。
答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成34矩阵。
答:reshape(x,3,4);(7)求一个字符串的ASCII码。
答:abs(‘123’); 或double(‘123’);(8) 求一个ASCII 码所对应的字符。
答:char(49);4. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]L4的值为[4, 5, 6]5. 已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦完成下列操作:(1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32⨯子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。
Matlab实验三答案
Matlab实验三答案实验三 MATLAB语⾔的程序设计⼀、实验⽬的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计⽅法3、函数⽂件的编写和设计4、了解和熟悉跨空间变量传递和赋值⼆、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是⼩数,只须符合数学逻辑。
while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执⾏循环体语勾。
若表达式的值为真,执⾏循环体语句⼀次、在反复执⾏时,每次都要进⾏判断。
若表达式的值为假,则程序执⾏end之后的语句。
2、为了避免因逻辑上的失误,⽽陷⼊死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执⾏。
(执⾏循环体的次数不确定;每⼀次执⾏循环体后,⼀定会改变while 后⾯所跟关系式的值。
)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endelse if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是⼀个条件分⽀语句,若满⾜表达式的条件,则往下执⾏;若不满⾜,则跳出if结构。
2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:每⼀个if都对应⼀个end,即有⼏个if,记就应有⼏个end。
switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后⾯的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后⾯常量表达式的值相等时,就执⾏这个case后⾯的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执⾏otherwise后的执⾏语句。
matlab第三章课后部分答案
习题三3-2从键盘输入一个三位整数,将它反向输出。
如输入639,输出为936程序如下:m=input(,请输入一个三位整数:,);ml=fix(m/100);%求m的百位整数m2=rem(fix(m/10),10);%求m 的十位数字m3=rem(m,10);%求m的个位数字m=m3*100+m2*10+ml%反向输出m3-3输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中90~100分为A, 80~89分为B, 70~79分为C, 60~69分为D, 60分以下为E。
要求:(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
程序如下:(1)if语句c=input(,请输入成绩:’);if c>=90&c<=100disp('A成绩合理,);elseif c>=80&c<=89disp('B成绩合理');elseif c>=70&c<=79disp('C成绩合理');elseif c>=60&c<=69dispfD成绩合理)elseif c<60disp('E成绩合理');elsedisp(城绩错误力end(2)switch 语句c=input(,请输入成绩:');switch fix(c)case num2cell(90:100)disp('A成绩合理');case num2cell(80:89)disp('B成绩合理,);case num2cell(70:79)dispfC成绩合理,);case num2cell(60:69)disp('D成绩合理)case num2cell(0:59)disp('E成绩合理,);otherwisedisp("成绩错误");end3-4建立5*6矩阵,要求输出矩阵第N行元素。
matlab作业3参考答案
matlab作业3参考答案Matlab作业3参考答案Matlab作业3是一个综合性的编程任务,要求学生运用Matlab的各种功能和工具来解决实际问题。
本文将提供Matlab作业3的参考答案,并对其中的关键步骤和思路进行详细解释。
一、问题描述在本次作业中,学生需要解决一个关于图像处理的问题。
具体来说,给定一张彩色图像,学生需要编写Matlab代码来实现以下功能:1. 将彩色图像转换为灰度图像;2. 对灰度图像进行高斯滤波;3. 对滤波后的图像进行边缘检测;4. 对边缘图像进行二值化处理。
二、解决方案1. 将彩色图像转换为灰度图像首先,我们需要读取彩色图像。
可以使用Matlab的imread函数来实现。
然后,使用rgb2gray函数将彩色图像转换为灰度图像。
代码如下:```matlabrgbImage = imread('image.jpg');grayImage = rgb2gray(rgbImage);```2. 对灰度图像进行高斯滤波接下来,我们需要对灰度图像进行高斯滤波。
高斯滤波是一种常用的图像平滑方法,可以有效地去除图像中的噪声。
Matlab提供了fspecial函数来生成高斯滤波器。
代码如下:```matlabh = fspecial('gaussian', [3 3], 1);filteredImage = imfilter(grayImage, h);```3. 对滤波后的图像进行边缘检测在这一步中,我们需要对滤波后的图像进行边缘检测。
边缘检测可以帮助我们找到图像中的边缘和轮廓。
Matlab提供了多种边缘检测算法,如Sobel算子和Canny算子。
代码如下:```matlabedgeImage = edge(filteredImage, 'canny');```4. 对边缘图像进行二值化处理最后,我们需要对边缘图像进行二值化处理,将图像中的边缘转换为黑白两种颜色。
matlab章课后作业
matlab章课后作业MATLAB基础教程1~8章作业Matlab第⼀章1.阐述Matlab的功能Matlab作为⼀种⾼级计算软件,是进⾏算法开发、数据可视化、数据分析以及数值计算的交互式应⽤开发环境,已被⼴泛应⽤于不同领域。
Matlab的基本功能包括:数学计算功能、图形化显⽰功能、M 语⾔编程功能、编译功能、图形⽤户界⾯开发功能、Simulink建模仿真功能、⾃动代码⽣成功能。
Matlab第⼆章1.创建double的变量,并进⾏计算。
(1)a=87,b=190,计算a+b、a-b、a*b。
(2)创建uint8 类型的变量,数值与(1)中相同,进⾏相同的计算。
>> a=87,b=190a =87b =190>> a+bans =277>> a-bans =-103>> a*bans =16530>> c=uint8(87), d=uint8(190)c =87d =190>> c+dans =255>> c-dans =>> c*dans =2552.计算(1)sin(60)(2)e^3(3)cos(3π/4)>> sind(60)ans =0.8660>> exp(3)ans =20.0855>> cos(3*pi/4)ans =-0.70713.设u=2,v=3,计算:(1)(2)(3)>> u=2;>> v=3;>> 4*u*v/log(v)ans =21.8457>> (exp(u)+v)^2/(v^2-u) ans = 15.4189>> sqrt(u-3*v)/(u*v) ans =0 + 0.4410i 4.计算如下表达式:(1)(2)>> (3-5*i)*(4+2*i)ans =22.0000 -14.0000i >> sin(2-8*i) 1.3553e+003 +6.2026e+002i5.判断下⾯语句的运算结果。
MatLab考试题题库(带答案)
MatLab 考试题题库(必做题)(带答案)一,1.请登陆美国MathWorks公司的网站,查看看现在大概有多少本MATLAB-based books (以MATLAB为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-based books最多中文书共有几本答: 1612 本,数学方面的最多,中文书共有37 本。
2.请在 MATLAB 中直接输入下列常数,看它们的值是多少:a.ib.jc.epsd.infe.nanf.pig.realmaxh.realmin依次解为: ans = 0 +ans = 0 +ans =ans =Inf ans = NaN ans =ans = +308ans =3.试写一函数regPolygon(n) ,其功能为画出一个圆心在(0, 0)、半径为 1 的圆,并在圆内画出一个内接正n 边形,其中一顶点位于(0, 1)。
例如regPolygon(8)可以画出如下之正八边型:解:新建文件如下:function y=regPolyfon(n)n=8;%要画的 n 边形R=1; %圆的半径t=0::2*pi;x=R*cos(t);y=R*sin(t);m=linspace(pi/ 2,5/2*pi,n+1);xz=R*cos(m);yz=R*sin(m);hold onplot(x,y,xz,yz);axis 'equal';4.一条参数式的曲线可由下列方程式表示:x= sin(t), y = 1 - cos(t) + t/10当 t 由 0 变化到4*pi时,请写一个MATLAB 的脚本,画出此曲线在XY 平面的轨迹。
解:新建:t = linspace(0, 4*pi);x = sin(t);y = 1-cos(t)+t/10;plot(x, y, '-o');32.521.510.5-1-0.8-0.6-0.4-0.200.20.40.60.815.当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
Matlab上机作业部分参考答案
3. 设A为 数组,B为一个行数大于3的数组,请给出 (1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令; (3)求符号极限 (4)求 的3阶导数
lim tan( mx ) 的命令集; x 0 nx x3 y arctan ln(1 e 2 x ) 的命令集; x2
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
2
4
6
8
10
12
14
某校60名学生的一次考试成绩如下: 93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55 1)计算均值、标准差、极差、偏度、峰度,画出直方图; 2)检验分布的正态性; 3)若检验符合正态分布,估计正态分布的参数并检验参数。 解答: x=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55]; mean(x) std(x) range(x) skewness(x) kurtosis(x) hist(x) h=normplot(x) [muhat,sigmahat,muci,sigmaci]=normfit(x) [H,sig,ci]=ttest(x,80.1)
Matlab作业3(数值分析)答案
Matlab作业3(数值分析)机电工程学院(院、系)专业班组学号姓名实验日期教师评定1.计算多项式乘法(x2+2x+2)(x2+5x+4)。
答:2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。
(2)求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值。
答:(1)(2)3. y=sin(x),x从0到2π,∆x=0.02π,求y的最大值、最小值、均值和标准差。
4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.351.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。
解:x=[0.0 0.3 0.8 1.1 1.62.3]'; %输入变量数据xy=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据yp=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数px1=[0.9 1.2]; %输入点x1y1=polyval(p,x1) %估计x1处对应的y1p =-0.2387 0.9191 0.5318y1 =a) 1.29095.实验数据处理:已知某压力传感器的测试数据如下表p为压力值,u为电压值,试用多项式dcpbpappu+++=23)(来拟合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。
解:>> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9];u=[10,11,13,14,17,18,22,24,29,34,39];x=polyfit(p,u,3) %得多项式系数t=linspace(0,10,100);y=polyval(x,t); %求多项式得值plot(p,u,'*',t,y,'r') %画拟和曲线x =0.0195 -0.0412 1.4469 9.8267。
4.建模作业_MATLAB(3)
《数学建模》课程作业题第七章MATLAB(3)1.MATLAB图形处理的高级技术都有哪些?颜色映像。
1)colormap函数进行调用颜色映像;2)Pcolor、rgbplot、colorbar等函数用户可以条用所定义的颜色映像为图形服务;3)pcolor一般与函数shading相结合,用于以不同方式为图形着色;4)Rgbplot是一种直接显示颜色的函数;5)第三个用来显示颜色映像最常用的函数是colorbar。
视角与光照。
1)视角控制函数view,viewmtx及rotate3D;2)光照控制函数lighting‘光源模式’;3)图像处理。
2.MATLAB图形处理的基本技术都有哪些?1)图像控制坐标控制:axis([xmin,xmax,ymin,ymax])平面坐标网格函数:grid on/grid off2)图形的标注①.坐标轴标注:xlabel(‘标注’,’属性’),ylabel,zlabel②.文本标注:text(x,y,’标注文本及控制字符串’)③.交互式文本标注:gtext④.图例标注:legend (‘标注1’,‘标注2’) 3)图形的保持与子图:hold on,hold off,subplot(m,n,p) 3.3. 编写如下问题的M 文件7.4.1绘制下列曲线.(1) 21100x y +=, 运行程序:clear; clc; x=0:0.1:1; y=100./(1+x.^2); plot(x,y);(2) 2221xe y -=π, 运行程序 clear;clc; x=0:0.01:1;y=(1/(2*pi))*exp(((-x.^2)/2)); plot(x,y);(3) 122=+y x ,ezplot('x^2+y^2=1')(4) ⎩⎨⎧==325ty t x . t=0:1:50; x=t.^2; y=t.^3; plot(x,y)title('参数方程 ');7.4.2绘制下列极坐标图.(1) 4cos 5+=θρ,clear; clc;x=0:0.01*pi:2*pi; y=5*cos(x)+4; polar(x,y)(2) θρ12=,clear; clc;x=0:0.01*pi:2*pi; y=12./sqrt(x); polar(x,y);(3) 7cos 5-=θρ, clear; clc;x=0:0.01*pi:2*pi; y=5./cos(x)-7; polar(x,y)(4) 23θπρ=.clear;clc;x=0:0.01*pi:2*pi; y=pi/3*x.^2; polar(x,y)7.4.3绘制下列三维图形.(1) ⎪⎩⎪⎨⎧===t z t y t x sin cos ,clear; clc;t=0:0.01*pi:2*pi; x=cos(t); y=sin(t); z=t;plot3(x,y,z)(2) ⎪⎩⎪⎨⎧=+=+=u z v u y v u x sin sin )cos 1(cos )cos 1(,u=0:pi/20:10*pi; v=0:pi/20:10*pi; x2=(1+cos(u)).*cos(v); y2=(1+cos(u)).*sin(v); z2=sin(u); plot3(x,y,z)(3) 5=z ,[x3,y3]=meshgrid(-100:100);%形成一个100×100的网格z3=5*ones(size(x3));%将Z与上面网格对应起来mesh(x3,y3,z3)(4) 半径为10的球面.x0=2;y0=3;z0=0;%球心r=10;%半径[x,y,z]=sphere;mesh(r*x+x0,r*y+y0,r*z+z0);axis equal7.4.4在同一图形窗口采用子图形式分别绘制正方形、圆、三角形和六边形.ord=[3 4 6 2^20] for i=1:4 subplot(2,2,i)theta=linspace(pi/ord(i),2*pi+pi/ord(i),ord(i)+1);%%圆等分点 plot(cos(theta),sin(theta));xlim(1.5*[-1,1]);ylim(1.5*[-1,1]);axis equal ; end7.4.5分别用plot 和fplot 函数绘制下列分段函数的曲线:⎪⎩⎪⎨⎧<--+=>+++=0 ,510 ,00 ,51)(342x x x x x x x x ffunction y=work414(x) y=[];%定义空矩阵 for i = x if i > 0y = [y, i^2+(1+i)^0.25+5]; %将算出值与矩阵y 结合形成新矩阵y elseif i == 0 y = [y, 0]; elsey = [y, i^3+sqrt(1-i)-5]; end end endclearclcx=-10:0.5:10;y=work414(x);subplot(2, 1, 1);plot(x,y)grid on; title('plot');subplot(2, 1, 2);fplot(@(x)work414(x),[-5,5])grid on; title('fplot');7.4.6某工厂2005年度各季度产值(单位:万元)分别为:450.6、395.9、410.2、450.9,试绘制折线图和柄状图,并说明图形的实际意义.subplot(1, 1, 1); clear; clc;x = 1 : 4;y = [450.6, 395.9, 410.2, 450.9];subplot(1, 2, 1);plot(x, y);title('折线图-四个季度产值变化'); xlabel('第i个季度'); ylabel('产值/万元'); grid on; axis([0, 5, 360, 480]);subplot(1, 2, 2);pie(y);title('饼图-每个季度占总产值的百分比');意义:第一季度与第四季度产值高,二三季度产值偏低7.4.7绘制一个长方形,将长方形3等份,每等份分别着不同的颜色.vert = [0, 0; 1, 0; 2, 0; 3, 0; 3, 1; 2, 1; 1, 1; 0, 1]; %画最大长方形fac = [1, 8, 7, 2; 2, 7, 6, 3; 3, 6, 5, 4];%区域涂色分割mc = jet(3);patch('Vertices', vert, 'Faces', fac, 'FaceVertexCData', mc, 'FaceColor', 'flat'); %着色函数7.4.8生成一个长方体,每小面着不同颜色,并进行光照和材质处理.clear;clc;vert = [0, 0, 0; 1, 0, 0; 1, 1, 0; 0, 1, 0; 0, 0, 1; 1, 0, 1; 1, 1, 1; 0, 1, 1];fac = [1, 5, 6, 2; 2, 6, 7, 3; 3, 7, 8, 4; 4, 8, 5, 1; 1, 4, 3, 2;5, 8, 7, 6];mc = jet(6);patch('Vertices', vert, 'Faces', fac, 'FaceVertexCData', mc,'FaceColor', 'Flat'); % 顶点集,小面上定点axis([-0.5, 2.5, -0.5, 2.5, -0.5, 2.5]); grid on; axis square;xlabel('x-axis'); ylabel('y-axis'); zlabel('z-axis');title('方块');light('Color', 'b', 'Style', 'local', 'Position', [1, 1, 1]);lighting flat; % 均匀入射光material shiny; % 镜面反射光hold on;plot3(2, 2, 2, 'p'); text(2, 2, 2, 'light');hold off7.4.9气象变换情况的可视化:下表是气象学家测量得到的气象数据,它们分别表示在南半球地区按不同纬度、不同月份的平均气旋数字,根据这些数据,绘制出气旋分布曲面图,并计算2月份在纬度11度处的气旋值.南半球气旋数据表clear;clc;x=1:12;y=5:10:85;z=[2.4 1.6 2.4 3.2 1.0 0.5 0.4 0.2 0.5 0.8 2.4 3.6 ;18.7 21.4 16.2 9.2 2.8 1.7 1.4 2.4 5.8 9.2 10.3 16;20.8 18.5 18.2 16.6 12.9 10.1 8.3 11.2 12.5 21.1 23.9 25.5;22.1 20.1 20.5 25.1 29.2 32.6 33.0 31.0 28.6 32.0 28.1 25.6;37.3 28.8 27.8 37.2 40.3 41.7 46.2 39.9 35.9 40.3 38.2 43.4;48.2 36.6 35.5 40 37.6 35.4 35 34.7 35.7 39.5 40 41.9;25.6 24.2 25.5 24.6 21.1 22.2 20.2 21.2 22.6 28.5 25.3 24.3;5.3 5.3 5.4 4.9 4.9 7.1 5.3 7.3 7 8.66.3 6.6;0.3 0 0 0.3 0 0 0.1 0.2 0.3 0 0.1 0.3];[xi,yi]=meshgrid(1:12,5:1:85);zi=interp2(x,y,z,xi,yi,'cubic');z=interp2(x,y,z,2,11,'cubic')mesh(xi,yi,zi)hold on;plot3(2,11,z,'*r')xlabel('月份'),ylabel('纬度'),zlabel('气旋'),axis([0 12 0 90 0 50])title('南半球气旋可视化图形')红点表示2月份在纬度11度处的气旋值z =16.2040。
MATLAB第三章和第四章作业
习题三1.选择题(1)已知a=4,b='4',下面说法错误的为C 。
A. 变量a比b占用的存储空间大B. 变量a和b可以进行加、减、乘、除运算C. 变量a和b的数据类型相同D. 变量b可以用eval命令执行(2)已知s='显示"hello"',则s的元素个数是B 。
A. 12B. 9C. 7D. 18(3)运行命令>>a=sym('pi','d')则对于变量a的描述D是正确的。
A. a是符号变量B. a显示为10位的数值C. a显示为32位的数值D. a不存在(4)对于符号表达式g=sym('sin(a*z)+cos(w*v)'),如果运行命令diff(g),则求导自变量是D。
A. aB. zC. wD. v(5)运行命令>>a=double(sym('sin(pi/2)')),则变量a是 C。
A. 符号变量B. 字符串'1'C. double型的数值1D. 出错(6)运行命令>>y=dsolve('x*D2y-3*Dy=x^2','t')求解微分方程,则D。
A. Dy是指dy/dxB. 得出的y是通解有一个常数符C1C. D2y是指d2y/dxD. 得出的y是通解有两个常数符C1和C2(7)有一个2行2列的元胞数组c,则c(2)是指C 。
A. 第1行第2列的元素内容B. 第2行第1列的元素内容C. 第1行第2列的元素D. 第2行第1列的元素(8)对于一个2行2列的元胞数组c,如果要删除第二列的元素,应该使用的命令是B 。
A.c{:,2}=[]B.c(:,2)=[]C.A、B两种方式均可D.A、B两种方式均不可(9)有一个3行10列的构架数组student,每个构架有name(姓名)、scores两个字段,其中scores是以1×5数组表示的五门课的成绩,那么要查看第4个学生的第2门课成绩,采用的命令中达不到要求的是。
MATLAB作业3参考答案
MA TLAB 作业三参考答案1、 请将下面给出的矩阵A 和B 输入到MA TLAB 环境中,并将它们转换成符号矩阵。
若某一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。
576516535501232310014325462564206441211346,39636623515212107600774101201724407734737812486721711076815A B ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦【求解】矩阵的输入与转换是很直接的。
>> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A) A =[ 5, 7, 6, 5, 1, 6, 5] [ 2, 3, 1, 0, 0, 1, 4] [ 6, 4, 2, 0, 6, 4, 4] [ 3, 9, 6, 3, 6, 6, 2] [ 10, 7, 6, 0, 0, 7, 7] [ 7, 2, 4, 4, 0, 7, 7] [ 4, 8, 6, 7, 2, 1, 7]>> B=[3,5,5,0,1,2,3; 3,2,5,4,6,2,5; 1,2,1,1,3,4,6; 3,5,1,5,2,1,2; 4,1,0,1,2,0,1; -3,-4,-7,3,7,8,12; 1,-10,7,-6,8,1,5]; B=sym(B) B =[ 3, 5, 5, 0, 1, 2, 3] [ 3, 2, 5, 4, 6, 2, 5] [ 1, 2, 1, 1, 3, 4, 6] [ 3, 5, 1, 5, 2, 1, 2] [ 4, 1, 0, 1, 2, 0, 1][ -3, -4, -7, 3, 7, 8, 12] [ 1, -10, 7, -6, 8, 1, 5]2、 利用MA TLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是否为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 10 8 5
解: (1)Jacobi 迭代法: function y=jacobi(a,b,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); B=D\(L+U); f=D\b; y=B*x0+f; n=1;
while norm(y-x0)>=1.0e-6 x0=y; y=B*x0+f; n=n+1; end n >>a=[10 -1 -2;-1 10 -2;-1 -1 5]; >>b=[72 83 42]; >>jacobi(a,b,[0;0;0]) (2)Gauss-Seidel 迭代法 function y=seidel(a,b,x0) D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1); G=(D-L)\U ;f=(D-L)\b; y=G*x0+f; n=1; while norm(y-x0)>=1.0e-6 x0=y; y=G*x0+f; n=n+1; end n >>a=[10 -1 -2;-1 10 -2;-1 -1 5]; >>b=[72 83 42]; >>seidel(a,b,[0;0;0])
2 1 1 4 0 3 8 4 1 10 5 0 X 0 3 3 2 4 6 3 6 6 8 4 9 5 3
9
3
解 : >>A=[2,-9,3,-2,-1;10,-1,10,5,0;8,-2,-4,-6,3;-5,-6,-6,-8,-4];B=[-1,-4,0;-3,-8,-4;0,3,3;9,-5,3];% 空格换成逗号 >>C=[A B];rank(A),rank(C) >>x=inv(A)*B >>norm(A*x-B) >>x1=inv(sym(A))*B >>norm(double(A*x1-B)) 3、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。
x12 x2 1 0 2 2 ( x1 2) ( x2 0.5) 1 0
解: >>[x1,x2]=solve(‘x1^2-x2-1=0’,’(x1-2)^2+(x2-0.5)^2-1=0’,’x1’,’x2’) >>norm(x1^2-x2-1)
10x1 x2 2 x3 72 4、用 Jacobi 、 Gauss-Seidel 迭 代 法 求 解 方 程 组 x1 10 x2 2 x3 83 , 给 定 初 值 为 x x பைடு நூலகம் 5x 42 3 1 2 x (0) (0, 0, 0)T 。
MATLAB 作业三
1、试求下面齐次方程的基础解系。
6 x1 x2 4 x3 7 x4 3 x5 0 2 x1 7 x2 8 x3 6 x4 0 4 x1 5 x2 x3 6 x4 8 x5 0 34 x 36 x 9 x 21x 49 x 0 1 2 3 4 5 26 x1 12 x2 27 x3 27 x4 17 x5 0
5、 取 1.4, x
(0)
1 2 x1 x2 (1,1,1) , 用超松弛法解方程组 x 1 2 x 2 x 3 0 x 2 x 1.8 2 3
T
解:function y=sor(a,b,w,x0) D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1); M=(D-w*L)\((1-w)*D+w*U); f=(D-w*L)\b*w; y=M*x0+f; n=1; while norm(y-x0)>=1.0e-6 x0=y; y=M*x0+f; n=n+1; end n >>a=[2 -1 0;-1 2 -1;0 -1 2]; >>b=[1;0;1.8]; >>sor(a,b,1.4,[1;1;1])