东华大学matlab数学实验-第六次答案
MATLAB实验答案
MATLAB实验答案实验一:变量和矩阵的赋值、矩阵的初等运算实验目的:1. 熟悉MATLAB的工作环境2. 掌握变量的赋值、矩阵的创建。
3. 掌握矩阵和数组的初等运算。
4. 熟悉和掌握inv、mean、var、randn、rand、ones、zeros、magic、eye函数的使用。
实验内容:1. 菜单栏File→Preferences→Command Window→Font and Colors修改字体,选择Use custom font改为24。
同样方法File→Preferences→Editor/Debugger→Font and Colors 修改字体,选择Use custom font改为24。
点击Apply,OK即可。
2. 在内产生均匀分布的200个点,形成1×200向量赋给变量X。
(结果不必记录)X=linspace(0,2*pi,200);3. 在内每间隔3产生向量Y。
Y=[0:3:10];4. 给矩阵赋值,,打开workspace查看矩阵的赋值。
使用save data A B语句存储到data.mat数据文件中。
输入Clear all命令清空所有变量,再使用load data加载矩阵A 和B。
A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 18];B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];save data A B;clear all;load data;5. 产生8*6阶的正态分布随机数矩阵R,求其各列的平均值和方差,并求全体的平均值和方差。
R=randn(8,6);a=mean(R);b= var(R);c=mean(R(:));d=var(R(:));6. 模拟选号程序,现有10000人,按顺序编号为1,2,…10000号,一次随机选出一个编号,要求随机数均匀分布。
R=round(ceil(rand(10000,1)*10000));7. 产生4*6阶的均匀分布随机数矩阵R,要求其元素在1~16之间取整数值,并求此矩阵前四列组成的方阵的逆阵。
MATLAB全部实验及答案
MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤4、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。
clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B5、 已知⎪⎭⎫⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
MATLAB作业6参考答案(修)
MATLAB 作业6参考答案(修)1、用图解的方式找到下面两个方程构成的联立方程的近似解。
(注:在图上可用局部放大的方法精确读出交点值)2223223,x y xy x x y y +=-=-【求解】这两个方程应该用隐式方程绘制函数ezplot() 来绘制,交点即方程的解。
>> ezplot('x^2+y^2-3*x*y^2');hold onezplot('x^3-x^2=y^2-y')可用局部放大的方法求出更精确的值。
从图上可以精确读出两个交点,(0:4012;¡0:8916),(1:5894; 0:8185)。
试将这两个点分别代入原始方程进行验证。
2、在图形绘制语句中,若函数值为不定式NaN ,则相应的部分不绘制出来,试利用该规律绘制sin()z xy =的表面图,并剪切下2220.5x y +≤的部分。
【求解】给出下面命令可以得出矩形区域的函数值,再找出x 2 + y 2 <=0.5^2 区域的坐标,将其函数值设置成NaN ,最终得出所示的曲面。
>> [x,y]=meshgrid(-1:.1:1); z=sin(x.*y);ii=find(x.^2+y.^2<=0.5^2); z(ii)=NaN; surf(x,y,z)3、试用图解法求解下面的一元和二元方程,并验证得出的结果。
222(1)/2221)()sin(52),2)(,)()x x y xy f x e x f x y x y xy e π-++---=+=++【求解】①中给出的一元方程可以用曲线表示出来,这些曲线和y = 0 线的交点即为方程的 解,可以用图形局部放大的方法读出这些交点的x 值,。
在本图中,xi 均为方程的解,若放大x 轴区域,则可能得出更多的解。
>> ezplot('exp(-(x+1)^2+pi/2)*sin(5*x+2)')②中的二元方程可以由下面的命令用图形的方式显示出来。
数学实验(MATLAB)课后习题答案
数学实验练习2.1画出下列常见曲线的图形。
(其中a=1,b=2,c=3)1、立方抛物线3xy=解:x=-5:0.1:0;y=(-x).^(1/3);y=-y;x=0:0.1:5;y=[y,x.^(1/3)];x=[-5:0.1:0,0:0.1:5];plot(x,y)2、高斯曲线2x e=y-解:fplot('exp(-x.^2)',[-5,5])3、笛卡儿曲线)3(13,1333222axy y x t at y t at x =++=+=解:ezplot('x.^3+y.^3-3*x*y',[-5,5])xyx.3+y.3-3 x y = 0或t=-5:0.1:5; x=3*t./(1+t.^2); y=3*t.^2./(1+t.^2); plot(x,y)4、蔓叶线)(1,1322322xa x y t at y t at x -=+=+=解:ezplot('y.^2-x.^3/(1-x)',[-5,5])xyy.2-x.3/(1-x) = 0或t=-5:0.1:5; x=t.^2./(1+t.^2); y=t.^3./(1+t.^2); plot(x,y)5、摆线)cos 1(),sin (t b y t t a x -=-= 解:t=0:0.1:2*pi;x=t-sin(t); y=2*(1-cos(t)); plot(x,y)6、星形线)(sin ,cos 32323233a y x t a y t a x =+== 解:t=0:0.1:2*pi; x=cos(t).^3; y=sin(t).^3;plot(x,y)或ezplot('x.^(2/3)+y.^(2/3)-1',[-1,1])xyx.2/3+y.2/3-1 = 07、螺旋线ct z t b y t a x ===,sin ,cos 解:t=0:0.1:2*pi; x=cos(t); y=2*sin(t); z=3*t; plot3(x,y,z) grid on8、阿基米德螺线θa r = 解:x =0:0.1:2*pi; r=x; polar(x,r)902701809、对数螺线θa e r = 解:x =0:0.1:2*pi; r=exp(x); polar(x,r)90270180010、双纽线))()((2cos 22222222y x a y x a r -=+=θ 解:x=0:0.1:2*pi; r=sqrt(cos(2*x)); polar(x,r)90270或ezplot('(x.^2+y.^2).^2-(x.^2-y.^2)',[-1,1]) grid onxy(x.2+y.2).2-(x.2-y.2) = 011、双纽线)2)((2sin 222222xy a y x a r =+=θ 解:x=0:0.1:2*pi; r=sqrt(sin(2*x)); polar(x,r)90270或ezplot('(x.^2+y.^2).^2-2*x*y',[-1,1]) grid onxy(x.2+y.2).2-2 x y = 012、心形线)cos 1(θ+=a r 解:x =0:0.1:2*pi; r=1+cos(x); polar(x,r)90270练习2.21、求出下列极限值。
Matlab上机实验答案.docx
实验一MATLAB 运算基础Matlab 上机实验答案1. 先求下列表达式的值,然后显示MATLAB X 作空间的使用情况并保存全部变量。
» z1 =2*sin(85*pi/180)/(1 +exp(2)) z1 =0.2375⑵ z? =*ln(x +Jl + x?),其中 「45 » x=[2 1+2i;・0.45 5];» z2=1/2*log(x+sqrt(1 +x A2)) z2 =0.7114 ・ 0.0253i 0.8968 + 0.3658i 0.2139+ 0.9343i1.1541 ・0.0044ie 0.3asin(a+0.3) + ln^^a = —3Q — 29 2.9,3.0(1)2sin85°» a=-3.0:0.1:3.0;» z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)(» z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1)z3 =Columns 1 through 50.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416i 0.7822 + 3.1416iColumns 6 through 100.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416i 0.6196 + 3.1416i 0.5496 + 3.1416iColumns 11 through 150.4688 + 3.1416i 0.3780 + 3.1416i 0.2775 + 3.1416iColumns 16 through 20-0.0771 + 3.1416i -0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 25-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271+3.1416i -1.8436 + 3.1416iColumns 26 through 30-2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 + O.OOOOi-3.0017 + O.OOOOi -2.3085 + O.OOOOiColumns 31 through 35-1.8971 + O.OOOOi -1.5978 + O.OOOOi -1.3575 + O.OOOOi -1.1531 + O.OOOOi -0.9723 + O.OOOOiColumns 36 through 400.4841 + O.OOOOi0.6474 + O.OOOOi0.6119 + O.OOOOi 0.5777 + O.OOOOi 0.5327 + O.OOOOi-0.8083 + O.OOOOi -0.6567 + O.OOOOi -0.5151 + O.OOOOi-0.3819 + O.OOOOi -0.2561 + O.OOOOiColumns 41 through 45-0.1374 + O.OOOOi -0.0255 + O.OOOOi 0.0792 + O.OOOOi0.1766 + O.OOOOi 0.2663 + O.OOOOiColumns 46 through 500.3478 + O.OOOOi 0.4206 + O.OOOOi0.5379 + O.OOOOi 0.5815 + O.OOOOiColumns 51 through 550.6145 + O.OOOOi 0.6366 + O.OOOOi0.6470 + O.OOOOi 0.6351 + O.OOOOiColumns 56 through 600.4774 + O.OOOOi 0.4126 + O.OOOOiColumn 610.3388 + O.OOOOir 0<r<l(4) z4=< t2 -1 l<t<2 9其中Z=0:0・5:2・ 5尸—2r + l 2<r<3»t=0:0.5:2.5;»z4=(t>=0&t<1 ).*(t.A2)+(t>=1 &t<2).*(t.A2-1 )+(t>=2&t<3).*(t.A2-2.*t+1)z4 =0 0.2500 0 1.2500 1.0000 2.25002.已知:求下列表达式的值:(1) A+6*B和A・B+I (其中I为单位矩阵)(2) A*B 和 A.*B⑶A八3和A/3⑷A/B及B\A(5)[A,B]和[A([1,3],:);B^2]» A=[12 34 -4;34 7 87;3 65 7];» B=[1 3-1;2 0 3;3 -2 7];» A+6*Bans =» A.*Bans =12 102 468 0 2619 ・130 49» A A3 ans =37226 23382424737078688 45414214918848604600766118820»A.A3ans =» B\A ans =ans =12 3 4 11 2067.0000-134.0000 68.00003.设有矩阵A和B(1) 求它们的乘积C。
MATLAB数学实验答案(全)
MATLAB数学实验答案(全)第⼀次练习教学要求:熟练掌握Matlab 软件的基本命令和操作,会作⼆维、三维⼏何图形,能够⽤Matlab 软件解决微积分、线性代数与解析⼏何中的计算问题。
补充命令vpa(x,n) 显⽰x 的n 位有效数字,教材102页fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形在下⾯的题⽬中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin limx mx mx x →-与3sin lim x mx mxx →∞-syms xlimit((902*x-sin(902*x))/x^3) ans =366935404/3limit((902*x-sin(902*x))/x^3,inf)//inf 的意思 ans = 0 1.2 cos1000xmxy e =,求''y syms xdiff(exp(x)*cos(902*x/1000),2)//diff 及其后的2的意思 ans =(46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算221100x y edxdy +??dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1)//双重积分 ans = 2.13941.4 计算4224x dx m x +? syms xint(x^4/(902^2+4*x^2))//不定积分 ans =(91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求//⾼阶导数syms xdiff(exp(x)*cos(902*x),10) ans =-356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x)1.6 0x =的泰勒展式(最⾼次幂为4).syms xtaylor(sqrt(902/1000+x),5,x)//泰勒展式 ans =-(9765625*451^(1/2)*500^(1/2)*x^4)/82743933602 +(15625*451^(1/2)*500^(1/2)*x^3)/91733851-(125*451^(1/2)*500^(1/2)*x^2)/406802 + (451^(1/2)*500^(1/2)*x)/902 +(451^(1/2)*500^(1/2))/500 1.7 Fibonacci 数列{}n x 的定义是121,1x x ==12,(3,4,)n n n x x x n --=+=⽤循环语句编程给出该数列的前20项(要求将结果⽤向量的形式给出)。
(完整版)MATLAB)课后实验答案[1]
(完整版)MATLAB)课后实验答案[1]实验⼀ MATLAB 运算基础1. 先求下列表达式的值,然后显⽰MATLAB ⼯作空间的使⽤情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +??=?- (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--L (4) 2242011122123t t z t t t t t ?≤=-≤,其中t =0:0.5:2.5 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建⽴⼀个字符串向量,删除其中的⼤写字母。
解:(1) 结果:(2). 建⽴⼀个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验⼆ MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对⾓阵,试通过数值计算验证2 2E R RS A O S +??=。
解: M ⽂件如下;5. 下⾯是⼀个线性⽅程组:1231112340.951110.673450.52111456x x x ??=???(1) 求⽅程的解。
(2) 将⽅程右边向量元素b 3改为0.53再求解,并⽐较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M ⽂件如下:123d4e56g9实验三选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ?+-<≠-?=-+≤<≠≠??--?且且及其他⽤if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
解:M ⽂件如下:2. 输⼊⼀个百分制成绩,要求输出成绩等级A、B、C、D、E。
Matlab实验指导书(含答案).doc
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2•学习使用图形凶数计算器命令ftintool及其环境。
二.实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行卜•列计算:1.单函数运算操作。
>求下列苗数的符号导数(1)y=sin(x);(2)y=(l+x)A3*(2-x);>求下列函数的符号积分(1)y=cos(x);(2)y=l/(l+x A2);(3)y=l/sqrt(l-x A2);(4)y=(x-l)/(x4-l)/(x+2);>求反函数(1)y=(x-l)/(2*x+3);(2)y=exp(x);(3)y=log(x+sqrt( 1 +x A2));>代数式的化简(1)(x+1)*(x-l)*(x-2)/(x-3)/(x-4);(2)sin(x)A2+cos(x)A2;(3)x+sin(x)+2*x・3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
>从y=xT通过参数的选择去观察下列函数的图形变化(1)yl=(x+l)A2(2)y2=(x+2)A2(3)y3=2*x A2(4)y4=x A2+2(5)y5=x A4(6)y6=x A2/23•两个函数之间的操作>求和(1)sin(x)+cos(x)(2)14-X+X A2+X A3+X A4+X A5A乘积(1) exp(-x)*sin(x)(2) sin(x)*x>商(1) sin(x)/cos(x);(2) x/(l+x A 2);(3) l/(x-l)/(x-2); 求复合函数(1) y=exp(u) ⑵ y=sqrt(u)(3) y=sin(u)(4) y=sinh(u)三. 设计提示1. 初次接触Matlab 应该注意函数表达式的文本式描述。
matlab实验内容答案
m a t l a b实验内容答案(总16页) -本页仅作为预览文档封面,使用时请删除本页-实验报告说明:matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。
第一次实验内容:实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MATLAB 的方法。
2.熟悉MATLAB 命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1)22sin8511z e ︒=+ (2)12ln(2z x =,其中2120.455i +⎡⎤=⎢⎥-⎣⎦(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0::提示:用逻辑表达式求分段函数值。
2.已知12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(1) A+6=B 和A-B+I(其中I 为单位矩阵)。
(2) A*B 和A.*B 。
(3) A^3和A^.3 。
(4) A/B 和B\A 。
(5)[A ,B]和[A([1,3],;);B^2] 。
3.设有矩阵A 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D(3) 查看MATLAB 工作空间使用情况。
matlab实验指导答案详解(非常详细正确)
matlab实验指导答案详解(⾮常详细正确)实验⼀ MATLAB ⼯作环境熟悉及简单命令的执⾏⼀、实验⽬的:熟悉MATLAB 的⼯作环境,学会使⽤MATLAB 进⾏⼀些简单的运算。
⼆、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌⾯(Desktop ),包括菜单(Menu )、⼯具条(Toolbar )、命令窗⼝(Command Window)、历史命令窗⼝、⼯作空间(Workspace)等;完成⼀些基本的矩阵操作;学习使⽤在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌⾯。
2、在命令窗⼝执⾏命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-52?2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667(2)>>area=pi*2.5^2 area = 19.6350(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= >>x=3 >>y=4>>z = x ^2 * y ^3 / (x - y) ^2 z = 576(4)将下⾯的矩阵赋值给变量m1,在workspace 中察看m1在内存中占⽤的字节数。
m1=11514412679810115133216 执⾏以下命令>>m1 =[16 2 3 13 ; 5 11 10 8 ; 9 7 6 12 ; 4 14 15 1 ] >>m1( 2 , 3 ) ans = 10 >>m1( 11 ) ans = 6>>m1( : , 3 ) ans =3 10 6 15>>m1( 2 : 3 , 1 : 3 ) ans =5 11 10 9 7 6>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) ans = 34(5)执⾏命令>>help abs查看函数abs 的⽤法及⽤途,计算abs( 3 + 4i ) (6)执⾏命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(6)运⾏MATLAB 的演⽰程序,>>demo ,以便对MATLAB 有⼀个总体了解。
matlab数学实验考试题及答案
matlab数学实验考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于生成0到1之间均匀分布的随机数的函数是?A. randB. randiC. randnD. randperm答案:A2. 下列哪个命令可以计算矩阵的行列式?A. detB. rankC. eigD. inv答案:A3. MATLAB中用于求解线性方程组的命令是?A. solveB. linsolveC. fsolveD. ode45答案:A4. 在MATLAB中,如何创建一个3x3的单位矩阵?A. eye(3)B. ones(3)C. zeros(3)D. identity(3)答案:A5. MATLAB中用于绘制二维图形的函数是?A. plotB. surfC. meshD. contour答案:A二、填空题(每题3分,共15分)1. MATLAB中,使用________函数可以计算矩阵的迹。
答案:trace2. 若要在MATLAB中创建一个从1到10的向量,可以使用________函数。
答案:1:103. MATLAB中,使用________函数可以计算矩阵的特征值。
答案:eig4. 若要在MATLAB中绘制一个正弦波,可以使用________函数。
答案:sin5. MATLAB中,使用________函数可以计算矩阵的逆。
答案:inv三、简答题(每题10分,共20分)1. 描述MATLAB中如何使用循环结构来计算并打印1到100之间所有奇数的和。
答案:可以使用for循环结构,初始化一个变量sum为0,然后遍历1到100之间的每个数,使用模运算符判断是否为奇数,如果是,则将其加到sum上,最后打印sum的值。
2. 简述MATLAB中如何使用条件语句来检查一个数是否为素数,并打印出所有小于100的素数。
答案:可以使用for循环遍历2到99之间的每个数,对于每个数,使用一个while循环检查它是否有除1和它本身之外的因数,如果没有,则使用if语句判断该数是否为素数,如果是,则打印该数。
MATLAB)课后实验答案
A = 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 0.5383 0.9961 0.0782 1.0000 0 0.4427 0.1067 0.9619 0 2.0000
a = 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 1.0767 1.9923 0.1564 1.0000 0 1.3280 0.3200 2.8857 0 4.0000
P= 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 1 5 15 35
1
5
15
35Βιβλιοθήκη 70Hh = 3.7493e-012
Hp = 1
Th = 4.7661e+005
Tp = 8.5175e+003 因为它们的条件数 Th>>Tp,所以 pascal 矩阵性能更好。 3. 建立一个 5×5 矩阵,求它的行列式值、迹、秩和范数。 解: M 文件如下:
实验一
MATLAB 运算基础
1. 先求下列表达式的值,然后显示 MATLAB 工作空间的使用情 况并保存全部变量。 (1) z1
2sin 850 1 e2
1 2
1 2i 2 5 0.45
(2) z2 ln( x 1 x 2 ) ,其中 x (3) z3
用 if 语句实现,分别输出 x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的 y 值。 解:M 文件如下:
运算结果有: f(-5) y= 14 >> f(-3)
y= 11 >> f(1) y= 2 >> f(2) y= 1 >> f(2.5) y= -0.2500 >> f(3) y= 5 >> f(5) y= 19
matlab课后答案完整版
ones表示1矩阵zeros表示0矩阵ones(4)表示4x4的1矩阵zeros(4)表示4x4的0矩阵zeros(4,5)表示4x5的矩阵eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵det(a)表示计算a的行列式inv(a)表示计算a的逆矩阵Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩[v,d]=eig(a)对角矩阵b=a’表示求a矩阵的转置矩阵sqrt表示求平方根exp表示自然指数函数log自然对数函数abs绝对值第一章一、5(1)b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12];>> d=[65 5;-23 -59;54 7];>> e=b*ce =5271 11574-11336 6641978 3112(2)a=50:1:100二、1 、x=-74;y=-27;z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z =2、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)3、x=[2 4;-0.45 5];y=log(x+sqrt(1+x.^2))/2y = 4、a*b表示a矩阵和b矩阵相乘a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列A(m,:)表示取a矩阵第m行的全部元素A(:,n)表示取a矩阵的第n列全部元素A./B表示a矩阵除以b矩阵的对应元素,B.\A等价于A./BA.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方A^2表示A*A例:x=[1,2,3];y=[4,5,6];z=x.^yz=1 32 729指数可以是标量(如y=2).底数也可以是标量(如x=2)5、a=1+2i;>> b=3+4i;>> c=exp((pi*i)/6)c =d=c+a*b/(a+b)d =第二章二、4、(1)y=0;k=0;>> while y<3k=k+1;y=y+1/(2*k-1);end>> display([k-1,y-1/(2*k-1)])ans =第三章二1(1)x=0:pi/10:2*pi;>> y=x-x.^3/6;>> plot(x,y)(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)(3)x=-8:0.01:8;y=sqrt((64-x.^2)/2);plot(x,y)(4)t=0:0.1:8*pi; >> x=t.*sin(t);>> y=t.*cos(t); >> plot(x,y)x=0:pi/100:2*pi;y1=exp(-0.5*x);y2=exp(-0.5*x).*sin(2*x);plot(x,y1,x,y2)>> title('x from 0 to 2{\pi} ');>> xlabel('variable x');>> ylabel('variable y');>> text(1.5,0.5,'曲线y1=e^(-0.5x)');>> text(3,0.1,'曲线y2=cos(4{\pi}x)e^{-0.5x}');>> legend('y1','y2')variable xvariabley2、(1)y1=2*x-0.5;t=linspace(0,pi,100);x=sin(3*t).*cos(t);y=sin(3*t).*sin(t);>> k=find(abs(y-x)<1e-2);>> t1=t(k)t1 =>> z=sin(3.*(t1)).*cos(t1) z =>> plot(t,x,t,y,'k:',t1,z,'bp');(2)subplot(1,2,1);>> scatter(x1,y1,10);>> title('y=2x-0.5');>> subplot(1,2,2);>> scatter(x,y,10)3、subplot(1,2,1);x=0:0.01:pi;y=sin(1./x);plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])4、t=0:pi:2*pi;y=1./(1+exp(-t));subplot(2,2,1);%图形窗口的分割bar(t,'group'); %绘制柱形图(分组)subplot(2,2,2);barh(t,'stack'); %绘制柱形图(堆积)subplot(2,2,3);loglog(t,y); %函数使用全对数坐标,x,y均采用常用对数刻度subplot(2,2,4);semilogy(t,y); %函数使用半对数坐标,y轴为常用对数刻度,x轴仍为线性刻度101010101010105、(1)theta=linspace(-pi,pi,100);ro=5.*cos(theta)+4;polar(theta,ro);(2)x=linspace(0,2*pi,100);a=1>> r=a.*(1+cos(x));polar(x,r);2706、(1)t=0:pi/10:2*pi;>> x=exp((-t)/20).*cos(t);>> y=exp((-t)/20).*sin(t);>> z=t;>> plot3(x,y,z);(2)t=0:0.01:1;x=t;>> y=t.^2;>> z=t.^3;>> plot3(x,y,z);7、x=-30:0.1:0;>> y=0:0.1:30;>> [x,y]=meshgrid(x,y);>>z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2 );>> meshc(x,y,z);绘制曲面图和等高线8、x=linspace(-3,3,100);>> y=linspace(-3,3,100);>> [x y]=meshgrid(x,y); %可以将向量转化为矩阵>> fxy=-5./(1+x.^2+y.^2);>> i=find(abs(x)<=0.8 & abs(y)<=0.5); >> fxy(i)=NaN;>>surf(x,y,fxy) %绘制三维曲面图9、u=linspace(1,10,100);v=linspace(-pi,pi,100);[u v]=meshgrid(u,v); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4*u.^2; surf(x,y,z); shading interp;第五章二1、a=rand(1,30000);mean(a) %求平均数 ans = >>b=std(a) %求标准差 b =>> c=max(a) c =>> d=min(a) d =size(find(a>0.5))/size(a)ans =2、h=[466,715,950,1422,1635]; >> w=[7.04,4.28,3.40,2.52,2.13]; >> hh=[500,900,1500];>> ww=interp1(h,w,hh,'spline')ww =3、x=linspace(1,10,50); y=log(x);f=polyfit(x,y,5); %求曲线的拟合 >> yy=polyval(f,x); >> plot(x,y,'r-',x,yy,'g.')5、(1)、(2) p1=[1,2,0,7]; p2=[1,-2]; p3=[1,0,5,1]; p12=conv(p1,p2); >>p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; >> roots(p) ans =-3.46561.2400(3) a=[-1,4,3;2,1,5;0,5,6]; >>y1=polyval(p,a) %以矩阵a 的每一个元素为自变量 y1 =-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a) %以矩阵a 为自变量 y2 =391 2084 3273502 2693 4207720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根z =第八章二、2t=0:pi/20:2*pi;x=sin(t);y=cos(t);x1=sin(7*t);y1=cos(7*t);h=plot(x,y,x1,y1);set(h,'marker','x','linewidth',2);set(gca,'xtick',-1:0.1:1);title('篮筐')3、x=0:pi/10:5*pi;y=exp(-0.2*x).*cos(x)+2;h=plot(x,y);set(gca,'color','red','linestyle','-','linewidth',3) ;text(5,2.4,'y=exp(-0.2*x).*cos(x)+2'); 4、t=-pi:pi/100:pi;x=cos(t);y=sin(t);z=t;h=plot(t,x,t,y,t,z);set(h,'linestyle','-','linewidth',3);字符串例ch='Welcome to Beijing';subch=ch(12:18) 选12~18个字符串(空格也算)subch =Beijing>> k=find(ch>='a'&ch<='z'); 找到所有的小写字母的位置>> ch(k)=ch(k)-('a'-'A'); 将小写字母变成大写字母>> char(ch)ans =WELCOME TO BEIJING>> length(k) 统计小写字母的个数ans =14例:已知y=1-1/2+1/3-1/4.........-1/100求y 的值y=0;>> n=100;>> for i=1:100;y=y+(-1)^(i-1)/i;end>> disp(y)绘制二维曲线图x=0:pi/100:2*pi;>> y1=0.2*exp(-0.5*x).*cos(4*pi*x);>> y2=1.5*exp(-0.5*x).*cos(pi*x);>> plotyy(x,y1,x,y2);绘制三维图像例:x=sint+tcosty=cost-tsintz=tt=0:pi/10:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t);z=t;plot3(x,y,z);axis([-30 30 -30 30 0 35]); 坐标轴的最大值与最小值title('line in 3-D space'); 图形的题目>> xlabel('x');ylabel('y');zlabel('z'); 标注坐标>> grid on; 加网格线xz三维例]2/,0[],,0[,cossin22ππ∈∈+=yxyxz[x,y]=meshgrid(0:pi/100:pi,0:pi/100:pi/ 2);>> z=sin(x.^2)+cos(y.^2);>> mesh(x,y,z);>> axis([0 4 0 1.8 -1.5 1.5]);t=0:pi/20:2*pi;subplot(1,2,1);[x,y,z]=cylinder(sin(t),30);surf(x,y,z); 绘制三维曲面图subplot(1,2,2);>> [x,y,z]=peaks(100);>> mesh(x,y,z); 绘制三维网格图多项式求导例:f(x)=1/x^2+5p=[1];>> q=[1,0,5];>> [p,q]=polyder(p,q)注:c=conv(a,b) 表示a多项式与b 多项式乘积[p,r]=deconv(a,b) 表示a多项式与b 多项式相除其中p为商向量r为余数向量p=polyder(p) 表示求p的导数p=poleder(p,q) 表示求p乘以q的导数[p,q]=poleder(p,q) 表示p除以q的导数多项式求根例:f(x)=2x^4-12x^3+3x^2+5p=[2,-12,3,0,5];>> x=roots(p);>> p=[2,-12,3,0,5];x=roots(p) 求方程f(x)=0的根x =5.72460.8997>> g=poly(x) 已知多项式的根求多项式g =符号求导x=a(t-tsint)y=b(1-cost) 求y对x的一阶导数syms x y a b t;>> f21=a*(t-sin(t));>> f22=b*(1-cos(t));>> diff(f22)/diff(f21) 求y对x的一阶导数ans =b*sin(t)/a/(1-cos(t))注:diff(f1,x,2) 表示f1对x的二阶导数diff(f3,x)表示z对x的偏导diff(f3,y)表示z对y的偏导求不定积分int(f) 求f的不定积分f1=int(f,a,b) 求f在a,b之间的定积分eval(f1)计算积分值符号求极限syms x h>> f=(sin(x+h)-sin(x))/h;>> limit(f,h,0) h趋向于0ans =cos(x) 例2f=sym('(1+t/x)^x');limit(f,inf) f 趋向于无穷 ans = exp(t) 例3f=sym('x*(sqrt(x^2+1)-x)');limit(f,sym('x'),inf,'left') x 趋向于正无穷ans = 1/2 大小写ch='Welcome to Beijing'; subch=ch(12:18)subch =Beijing>> k=find(ch>='A'&ch<='Z'); ch(k)=ch(k)-('A'-'a'); >> char(ch)ans =welcome to beijing>> length(k)ans =2课堂习题2一、求方程组⎪⎩⎪⎨⎧=-+=++=-+234326454510243z y x z y x z y x 的解,用三种方法。
09Matlab实验六答案
Matlab实验六1、给定正整数n,若n不被小于等于sqrt(n)的正整数整除,则n必定为素数,用此方法求出小于等于10000的全体素数。
解:function text2(x)count=0;for i=2:xflag=1;a=sqrt(i);for j=2:aif rem(i,j)==0flag=0;endendif flag==1fprintf('%6d',i)count=count+1;if rem(count,13)==0fprintf('\n')endendend>> text2(10000)2 3 5 7 11 13 17 19 23 29 31 37 4143 47 53 59 61 67 71 73 79 83 89 97 101103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1009 1013 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223 1229 1231 1237 1249 1259 1277 1279 1283 1289 1291 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511 1523 1531 1543 1549 1553 1559 15671571 1579 1583 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811 1823 1831 1847 1861 1867 1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2069 2081 2083 2087 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2179 2203 2207 2213 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 2297 2309 2311 2333 2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571 3581 3583 3593 3607 3613 3617 3623 3631 3637 3643 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733 3739 3761 3767 3769 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3877 3881 3889 3907 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 4003 4007 4013 4019 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 4111 4127 4129 4133 4139 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751 4759 4783 4787 4789 4793 4799 4801 4813 4817 4831 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387 5393 5399 5407 5413 5417 5419 5431 5437 5441 5443 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657 5659 5669 5683 5689 5693 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 5807 5813 5821 5827 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 5897 5903 5923 5927 5939 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133 6143 6151 6163 6173 6197 6199 6203 6211 6217 6221 6229 6247 6257 6263 6269 6271 6277 6287 62996301 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571 6577 6581 6599 6607 6619 6637 6653 6659 6661 6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919 7927 7933 7937 7949 7951 7963 7993 8009 8011 8017 8039 8053 8059 8069 8081 8087 8089 8093 8101 8111 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219 8221 8231 8233 8237 8243 8263 8269 8273 8287 8291 8293 8297 8311 8317 8329 8353 8363 8369 8377 8387 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501 8513 8521 8527 8537 8539 8543 8563 8573 8581 8597 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677 8681 8689 8693 8699 8707 8713 8719 8731 8737 8741 8747 8753 8761 8779 8783 8803 8807 8819 8821 8831 8837 8839 8849 8861 8863 8867 8887 8893 8923 8929 8933 8941 8951 8963 8969 8971 8999 9001 9007 9011 9013 9029 9041 9043 9049 9059 9067 9091 9103 9109 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199 9203 9209 9221 9227 9239 9241 9257 9277 9281 9283 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377 9391 9397 9403 9413 9419 9421 9431 9433 9437 9439 9461 9463 9467 9473 9479 9491 9497 9511 9521 9533 9539 9547 9551 9587 9601 9613 9619 9623 9629 9631 9643 9649 9661 9677 9679 9689 9697 9719 9721 9733 9739 9743 9749 9767 9769 9781 9787 9791 9803 9811 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887 9901 9907 9923 9929 9931 9941 9949 9967 99732、由介值定理,若一个函数在某个区间的两端点异号,则该函数在该区间内有根存在。
matlab答案第六章
第六章1. 利用MATLAB提供的randn函数生成符合正态分布的10×5随机矩阵A,进行如下操作:(1) A各列元素的均值和标准方差。
(2) A的最大元素和最小元素。
(3) 求A每行元素的和以及全部元素之和。
(4) 分别对A的每列元素按升序、每行元素按降序排列。
答:clear all; close all; clc;A=randn(10, 5);meanA=mean(A); %(1)A各列元素的均值stdA=std(A); %(1)A各列元素的标准方差maxA=max(max(A)); %(2)A的最大元素minA=min(min(A)); %(2)A的最小元素rowsumA=sum(A, 2); %(3)A每行元素的和sumA=sum(rowsumA); %(3)A全部元素之和sort1=sort(A); %(4)A的每列元素按升序排列sort2=sort(A, 2, 'descend'); %(4)A的每行元素按降序排列2. 按要求对指定函数进行插值和拟合。
(1) 按表6.1用3次样条方法插值计算0~90D范围内整数点的正弦值和0~75D范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。
表6.1 特殊角的正弦和正切值表α度0 15 30 4560 75 90sinα0 0.2588 0.50000.7071 0.8660 0.9659 1.0000 tanα0 0.2679 0.57741.0000 1.7320 3.7320(2) 按表6.2用3次多项式方法插值计算1~100之间整数的平方根。
表6.2 1~100内特殊值的平方根表N 1 4 9 16 25 36 49 64 81 100N的平方根 1 2 3 4 5 6 7 8 9 10答:(1) 程序设计:clear all; close all; clc;alpha1=0:15:90;sin_alpha1=sin(alpha1*pi/180); %精确正弦值plot(alpha1, sin_alpha1, 'k:p'); hold on; %绘精确正弦曲线alpha2=0:90;sin_Y1=interp1(alpha1, sin_alpha1, alpha2, 'spline'); %3次样条正弦插值plot(alpha2, sin_Y1, 'r-*'); hold on; %绘3次样条插值正弦曲线P1=polyfit(alpha1, sin_alpha1, 5); %5次多项式拟合sin_Y2= polyval(P1, alpha2); %5次多项式求值plot(alpha2, sin_Y2, 'b-o'); %绘5次多项式插值正弦曲线legend('精确正弦值', '3次样条正弦插值', '5次多项式正弦插值'); title('正弦值比较'); alpha3=0:15:75;tan_alpha3=tan(alpha3*pi/180); %精确正切值figure, plot(alpha3, tan_alpha3, 'k:p'); hold on; %绘精确正切曲线alpha4=0:75;tan_Y1=interp1(alpha3, tan_alpha3, alpha4, 'spline'); %3次样条正切插值plot(alpha4, tan_Y1,'r-*'); hold on; %绘3次样条正切曲线P2=polyfit(alpha3, tan_alpha3, 5); %5次多项式拟合tan_Y2= polyval(P2, alpha4); %5次多项式求值plot(alpha4, tan_Y2, 'b-o'); %绘5次多项式插值正弦曲线legend('精确正切值', '3次样条正切插值', '5次多项式正切插值'); title('正切值比较');(2)程序设计:clear all; close all; clc;X=[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]; Y=1:10;X1=1:100; Y1=interp1(X, Y, X1,'cubic');plot(X, Y, 'r:o'); hold on; %绘精确平方根曲线plot(X1, Y1, 'k-x'); %绘3次多项式插值平方根曲线legend('精确平方根', '3次多项式插值');3. 已知一组实验数据如表6.3所示。
MATLAB程序设计与应用 实验答案 第六章 刘卫国
1.(1)A=randn(10,5)A =-0.4326 -0.1867 0.2944 -0.3999 -1.6041 -1.6656 0.7258 -1.3362 0.6900 0.2573 0.1253 -0.5883 0.7143 0.8156 -1.0565 0.2877 2.1832 1.6236 0.7119 1.4151 -1.1465 -0.1364 -0.6918 1.2902 -0.8051 1.1909 0.1139 0.8580 0.6686 0.5287 1.1892 1.0668 1.2540 1.1908 0.2193 -0.0376 0.0593 -1.5937 -1.2025 -0.9219 0.3273 -0.0956 -1.4410 -0.0198 -2.1707 0.1746 -0.8323 0.5711 -0.1567 -0.0592 B=mean(A)B =0.0013 0.2310 0.0253 0.3588 -0.4197 C=std(A)C =0.9034 0.8829 1.1898 0.7832 1.0821 (2)D=max(max(A))D =2.1832E=min(min(A))E =-2.1707(3)F=sum(A,2)F =-2.3288-1.32870.01056.2215-1.48953.36024.9201-3.6964-3.3998-0.3025G=sum(sum(A))G =1.9666(4)H=sort(A)H =-1.6656 -0.8323 -1.5937 -1.2025 -2.1707-1.1465 -0.5883 -1.4410 -0.3999 -1.6041-0.4326 -0.1867 -1.3362 -0.1567 -1.0565-0.0376 -0.1364 -0.6918 -0.0198 -0.92190.1253 -0.0956 0.2944 0.6686 -0.80510.1746 0.0593 0.5711 0.6900 -0.05920.2877 0.1139 0.7143 0.7119 0.21930.3273 0.7258 0.8580 0.8156 0.25731.1892 1.0668 1.2540 1.1908 0.52871.19092.1832 1.6236 1.2902 1.4151L=-sort(-A,2,'descend')L =-1.6041 -0.4326 -0.3999 -0.1867 0.2944-1.6656 -1.3362 0.2573 0.6900 0.7258-1.0565 -0.5883 0.1253 0.7143 0.81560.2877 0.7119 1.4151 1.6236 2.1832-1.1465 -0.8051 -0.6918 -0.1364 1.29020.1139 0.5287 0.6686 0.8580 1.19090.2193 1.0668 1.1892 1.1908 1.2540-1.5937 -1.2025 -0.9219 -0.0376 0.0593-2.1707 -1.4410 -0.0956 -0.0198 0.3273-0.8323 -0.1567 -0.0592 0.1746 0.57112.(1)x=[0 15 30 45 60 75 90];y=[0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000];x1=0:90;y1=interp1(x,y,x1,'spline')y1 =Columns 1 through 110 0.0175 0.0349 0.0524 0.0698 0.0872 0.1045 0.1219 0.1392 0.1564 0.1737Columns 12 through 220.1908 0.2079 0.2249 0.2419 0.2588 0.2756 0.2923 0.3090 0.3255 0.3420 0.3583Columns 23 through 330.3746 0.3907 0.4067 0.4226 0.4384 0.4540 0.4695 0.4848 0.5000 0.5150 0.5299Columns 34 through 440.5446 0.5592 0.5736 0.5878 0.6018 0.6157 0.6293 0.6428 0.6561 0.6691 0.6820Columns 45 through 550.6947 0.7071 0.7193 0.7313 0.7431 0.7547 0.7660 0.7771 0.7880 0.7986 0.8090Columns 56 through 660.8191 0.8290 0.8387 0.8480 0.8571 0.8660 0.8746 0.8829 0.8910 0.8987 0.9062Columns 67 through 770.9135 0.9204 0.9271 0.9335 0.9396 0.9454 0.9510 0.9563 0.9612 0.9659 0.9703Columns 78 through 880.9744 0.9782 0.9817 0.9849 0.9878 0.9904 0.9927 0.9946 0.9963 0.9977 0.9987Columns 89 through 910.9995 0.9999 1.0000x=[0 15 30 45 60 75];y=[0 0.2679 0.5774 1.0000 1.7320 3.7320];x1=0:75;y1=interp1(x,y,x1,'spline')y1 =Columns 1 through 110 0.0184 0.0365 0.0545 0.0724 0.0902 0.1079 0.1255 0.1431 0.1607 0.1784Columns 12 through 220.1961 0.2138 0.2317 0.2497 0.2679 0.2863 0.3048 0.3236 0.3427 0.3620 0.3817Columns 23 through 330.4017 0.4221 0.4429 0.4641 0.4858 0.5079 0.5305 0.5537 0.5774 0.6017 0.6266Columns 34 through 440.6520 0.6780 0.7046 0.7317 0.7593 0.7876 0.8163 0.8456 0.8754 0.9058 0.9367Columns 45 through 550.9681 1.0000 1.0325 1.0658 1.1003 1.1364 1.17431.2145 1.2572 1.3028 1.3516Columns 56 through 661.4041 1.4604 1.5211 1.5863 1.6565 1.7320 1.8131 1.9002 1.99362.0937 2.2008Columns 67 through 762.3152 2.4374 2.5675 2.7060 2.85323.0095 3.17523.3506 3.5361 3.7320x=[0 15 30 45 60 75 90];y=[0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000];y1=polyfit(x,y,5)y1 =0.0000 0.0000 -0.0000 0.0000 0.0174 0.0000x=[0 15 30 45 60 75];y=[0 0.2679 0.5774 1.0000 1.7320 3.7320];y1=polyfit(x,y,5)y1 =0.0000 -0.0000 0.0000 -0.0010 0.0245 0.0000(2)x=[1 4 9 16 25 36 49 64 81 100];y=1:10;x1=1:100;y1=interp1(x,y,x1,'cubic')y1 =Columns 1 through 111.0000 1.3729 1.71252.0000 2.2405 2.4551 2.64942.82923.0000 3.1636 3.3186Columns 12 through 223.4661 3.6069 3.7422 3.87294.0000 4.1237 4.24354.3599 4.4730 4.5832 4.6907Columns 23 through 334.7958 4.89885.0000 5.0993 5.1966 5.2921 5.38575.4777 5.5681 5.6570 5.7446Columns 34 through 445.8309 5.91606.0000 6.0829 6.1647 6.2454 6.32496.4035 6.4810 6.5577 6.6334Columns 45 through 556.7082 6.7823 6.8556 6.92817.0000 7.0712 7.14167.2113 7.2804 7.3487 7.4164Columns 56 through 667.4835 7.5500 7.6159 7.6812 7.7459 7.8102 7.8739 7.9372 8.0000 8.0623 8.1242Columns 67 through 778.1855 8.2464 8.3068 8.3668 8.4263 8.4854 8.5441 8.6024 8.6603 8.7178 8.7749Columns 78 through 888.8317 8.8881 8.9442 9.0000 9.0555 9.1107 9.16559.2201 9.2744 9.3284 9.3821Columns 89 through 999.4354 9.4884 9.5412 9.5935 9.6456 9.6973 9.7486 9.7996 9.8502 9.9005 9.9505Column 10010.00003.xi=[165 123 150 123 141];yi=[187 126 172 125 148];P=polyfit(xi,yi,3)P =1.0e+003 *-0.0000 0.0013 -0.1779 8.4330线性拟合曲线为:p(x)=1.3x^2—177.9x+84334.(1)P1=[0,3,2];P2=[5,-1,2];P3=[1,0,-0.5];P=conv(P1,conv(P2,P3))P =0 15.0000 7.0000 -3.5000 0.5000 -2.0000 -2.0000 (2)P1=[0,3,2];P2=[5,-1,2];P3=[1,0,-0.5];P=conv(P1,conv(P2,P3));Y=roots(P)Y =0.70710.1000 + 0.6245i0.1000 - 0.6245i-0.7071-0.6667(3)P1=[0,3,2];P2=[5,-1,2];P3=[1,0,-0.5];P=conv(P1,conv(P2,P3));k=0:10;xi=0.2*k;Y=polyval(P,xi)Y =-2.0000 -2.3920 -2.6112 -1.7024 2.7104 15.0000 42.1120 94.1408 184.9056 332.5264 560.00005.(1)[U,fmin]=fminsearch('xiti651',[1,1])U =1.0e-004 *-0.0675 0.1715fmin =1.9920e-010(2)f=inline('-sin(x)-cos(x.^2)');fminbnd(f,0,pi)ans =0.73106.(1)x=[pi/6 pi/4 pi/3 pi/2];f=inline('sin(x).^2+cos(x).^2');dx=diff(f([x,5*pi/12]))/(pi/12)dx =0 0 0 0(2)x=1:3;f=inline('sqrt(x.^2+1)');dx=diff(f([x,4]))dx =0.8219 0.9262 0.96087.(1)g=inline('sin(x).^5.*sin(5*x)');I=quadl(g,0,pi)I =0.0982(2)g=inline('(1+x.^2)./(1+x.^4)');I=quad(g,-1,1)I =2.2214(3)g=inline('(x.*sin(x))./(1+cos(x).^2)'); I=quadl(g,0,pi)I =2.4674(4)f=inline('abs(cos(x+y))');dblquad(f,0,pi,0,pi)ans =6.28329.(1)矩阵求逆法:A=[2,3,5;3,7,4;1,-7,1];b=[10;3;5];x=inv(A)*bx =-1.8060-0.53733.0448矩阵除法:A=[2,3,5;3,7,4;1,-7,1];b=[10;3;5];x=A\bx =-1.8060-0.53733.0448矩阵分解法:A=[2,3,5;3,7,4;1,-7,1];b=[10;3;5];[Q,R]=qr(A);x=R\(Q\b)x =-1.8060-0.53733.0448(2)矩阵求逆法:A=[5,1,-1,0;1,0,3,-1;-1,-1,0,5;0,0,2,4]; b=[1;2;3;-1];x=inv(A)*bx =1.4000-5.90000.1000-0.3000矩阵除法:A=[5,1,-1,0;1,0,3,-1;-1,-1,0,5;0,0,2,4]; b=[1;2;3;-1];x=A\bx =1.4000-5.90000.1000-0.3000矩阵分解法:A=[5,1,-1,0;1,0,3,-1;-1,-1,0,5;0,0,2,4];b=[1;2;3;-1];[Q,R]=qr(A);x=R\(Q\b)x =1.4000-5.90000.1000-0.300010.A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1];b=[1;2;1];[x,y]=line_solution(A,b)原方程组有无穷个解,特解为x,齐次方程组的基础解系为yWarning: Rank deficient, rank = 2, tol = 4.3512e-015. > In line_solution at 11方程组无解x =[]y =-0.5000 0.50001.0000 00 1.00000 011.(1)f=inline('x-sin(x)./x');x=fzero(f,0.5)x =0.8767(2)f=inline('(sin(x).^2).*exp(-0.1.*x)-0.5.*abs(x)');x=fzero(f,1.5)x =1.673812.x=fsolve('xiti612',[0.5,0.5],optimset('Display','off')) x =0.5000y =0.5000f =-0.0509f =-0.0509 0.1173 x =0.5000y =0.5000f =-0.0509f =-0.0509 0.1173 x =0.5000y =0.5000f =-0.0509f =-0.0509 0.1173 x =0.6459y =0.3739f =0.0055f =0.0055 0.0044 x =0.6459y =0.3739f =0.0055f =0.0055 0.0044 x =0.6459y =0.3739f =0.0055f =0.0055 0.0044 x =0.6355y =0.3734f =1.9417e-005f =1.0e-004 *0.1942 0.2589 x =0.6355y =0.3734f =1.9425e-005f =1.0e-004 *0.1942 0.2589x =0.6355y =0.3734f =1.9419e-005f =1.0e-004 *0.1942 0.2591x =0.6354y =0.3734f =2.3754e-010f =1.0e-009 *0.2375 0.2957x =0.6354y =0.3734f =7.9432e-009f =1.0e-008 *0.7943 0.5602x =0.6354y =0.3734f =1.8684e-009f =1.0e-007 *0.0187 0.1936x =0.6354 0.373413.x0=0;xf=20;y1=0;[x,y]=ode45('xiti6131',[x0,xf],y1) x =0.50001.00001.50002.00002.50003.00003.50004.00004.50005.00005.50006.00006.50007.00007.50008.00008.50009.00009.500010.000010.500011.000011.500012.000012.500013.000013.500014.000014.500015.000015.500016.000016.500017.000017.500018.000018.500019.000019.500020.0000 y =NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN(2)x0=0;xf=20;[x,y]=ode45('xiti6132',[x0,xf],[-3,2])[x,y]此题结果过长,疑似错误或不会做。
MATLAB数学实验课后答案
数学实验MATLAB参考答案(重要部分)P20,ex1(5) 等于[exp(1),exp(2);exp(3),exp(4)](7) 3=1*3, 8=2*4(8) a为各列最小值,b为最小值所在的行号(10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture(11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)(12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)P20, ex2(1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码P20,ex3>> r=2;p=0.5;n=12;>> T=log(r)/n/log(1+0.01*p)T =11.5813P20,ex4>> x=-2:0.05:2;f=x.^4-2.^x;>> [fmin,min_index]=min(f)fmin =-1.3907 %最小值min_index =54 %最小值点编址>> x(min_index)ans =0.6500 %最小值点>> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点f1 =0.0328x1_index =24>> x(x1_index)ans =-0.8500>> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点f2 =0.0630x2_index =65>> x(x2_index)ans =1.2500P20,ex5>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59>> sum(z)ans =505 505 505 505 505 505 505 505 505 505 >> sum(diag(z))ans =505>> z(:,2)/sqrt(3)ans =57.157746.188046.765450.229553.693613.85642.88683.46416.928210.3923>> z(8,:)=z(8,:)+z(3,:)z =92 99 1 8 15 67 74 51 58 40 98 80 7 14 16 73 55 57 64 41 4 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 34 17 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6683 87 101 115 119 83 87 101 115 11910 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59P 40 ex1先在编辑器窗口写下列M函数,保存为eg2_1.m function [xbar,s]=ex2_1(x)n=length(x);xbar=sum(x)/n;s=sqrt((sum(x.^2)-n*xbar^2)/(n-1));例如>>x=[81 70 65 51 76 66 90 87 61 77];>>[xbar,s]=ex2_1(x)xbar =72.4000s =12.1124P 40 ex2s=log(1);n=0;while s<=100n=n+1;s=s+log(1+n);endm=n计算结果m=37P 40 ex3clear;F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1;F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1); enda,x,k计算至k=21可满足精度P 40 ex4clear;tic;s=0;for i=1:1000000s=s+sqrt(3)/2^i;ends,toctic;s=0;i=1;while i<=1000000s=s+sqrt(3)/2^i;i=i+1;ends,toctic;s=0;i=1:1000000;s=sqrt(3)*sum(1./2.^i);s,tocP 40 ex5t=0:24;c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...31 32 31 29 27 25 24 22 20 18 17 16];plot(t,c)P 40 ex6(1)clear;fplot('x^2*sin(x^2-x-2)',[-2,2])x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2]) (2)参数方法t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t); plot(x,y)(3)x=-3:0.1:3;y=x;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)(4)x=-3:0.1:3;y=-3:0.1:13;[x,y]=meshgrid(x,y);z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;surf(x,y,z)(5)t=0:0.01:2*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z)(6)theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20); [theta,fai]=meshgrid(theta,fai);x=2*sin(fai).*cos(theta);y=2*sin(fai).*sin(theta);z=2*cos(fai);surf(x,y,z)(7)x=linspace(0,pi,100);y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)page41, ex7x=-1.5:0.05:1.5;y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);plot(x,y)page41,ex8分别使用which trapz, type trapz, dir C:\MATLAB7\toolbox\matlab\datafun\page41,ex9clear;close;x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y);a=0.5457;b=0.7575;p=a*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);p=p+b*exp(-y.^2-6*x.^2).*(x+y>-1).*(x+y<=1);p=p+a*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);mesh(x,y,p)page41, ex10lookfor lyapunovhelp lyap>> A=[1 2 3;4 5 6;7 8 0];C=[2 -5 -22;-5 -24 -56;-22 -56 -16]; >> X=lyap(A,C)X =1.0000 -1.0000 -0.0000-1.0000 2.0000 1.0000-0.0000 1.0000 7.0000Chapter 3%Exercise 1>> a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\bans =0.5000 0.5000 1.0000ans =2 2 1ans =0.6552 %一元方程组x[2,4,3]=[1,2,3]的近似解ans =0 0 00 0 00.6667 1.3333 1.0000%矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解Exercise 2(1)>> A=[4 1 -1;3 2 -6;1 -5 3];b=[9;-2;1];>> rank(A), rank([A,b]) %[A,b]为增广矩阵ans =3ans =3 %可见方程组唯一解>> x=A\bx =2.38301.48942.0213Exercise 2(2)>> A=[4 -3 3;3 2 -6;1 -5 3];b=[-1;-2;1]; >> rank(A), rank([A,b])ans =3ans =3 %可见方程组唯一解>> x=A\bx =-0.4706-0.2941Exercise 2(3)>> A=[4 1;3 2;1 -5];b=[1;1;1];>> rank(A), rank([A,b])ans =2ans =3 %可见方程组无解>> x=A\bx =0.3311-0.1219 %最小二乘近似解Exercise 2(4)>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1 2 3]';%注意b的写法>> rank(a),rank([a,b])ans =3ans =3 %rank(a)==rank([a,b])<4说明有无穷多解>> a\bans =110 %一个特解Exercise 3>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]'; >> x=null(a),x0=a\bx =-0.62550.6255-0.20850.4170x0 =11%通解kx+x0Exercise 4>> x0=[0.2 0.8]';a=[0.99 0.05;0.01 0.95]; >> x1=a*x, x2=a^2*x, x10=a^10*x >> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> x0=[0.8 0.2]';>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> [v,e]=eig(a)v =0.9806 -0.70710.1961 0.7071e =1.0000 00 0.9400>> v(:,1)./xans =1.17671.1767 %成比例,说明x是最大特征值对应的特征向量Exercise 5%用到公式(3.11)(3.12)>> B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25 5 20]';>> C=B/diag(x)C =0.2400 0.4000 0.05000.0900 0.2000 0.01000.1200 0.0400 0.0900>> A=eye(3,3)-CA =0.7600 -0.4000 -0.0500-0.0900 0.8000 -0.0100-0.1200 -0.0400 0.9100>> D=[17 17 17]';x=A\Dx =37.569625.786224.7690%Exercise 6(1)>> a=[4 1 -1;3 2 -6;1 -5 3];det(a),inv(a),[v,d]=eig(a) ans =-94ans =0.2553 -0.0213 0.04260.1596 -0.1383 -0.22340.1809 -0.2234 -0.0532v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766%Exercise 6(2)>> a=[1 1 -1;0 2 -1;-1 2 0];det(a),inv(a),[v,d]=eig(a) ans =1ans =2.0000 -2.0000 1.00001.0000 -1.0000 1.00002.0000 -3.0000 2.0000v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i -0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i%Exercise 6(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> det(A),inv(A), [v,d]=eig(A)ans =1ans =68.0000 -41.0000 -17.0000 10.0000 -41.0000 25.0000 10.0000 -6.0000 -17.0000 10.0000 5.0000 -3.0000 10.0000 -6.0000 -3.0000 2.0000v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887%Exercise 6(4)、(以n=5为例)%关键是矩阵的定义%方法一(三个for)n=5;for i=1:n, a(i,i)=5;endfor i=1:(n-1),a(i,i+1)=6;endfor i=1:(n-1),a(i+1,i)=1;enda%方法二(一个for)n=5;a=zeros(n,n);a(1,1:2)=[5 6];for i=2:(n-1),a(i,[i-1,i,i+1])=[1 5 6];enda(n,[n-1 n])=[1 5];a%方法三(不用for)n=5;a=diag(5*ones(n,1));b=diag(6*ones(n-1,1));c=diag(ones(n-1,1));a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)] %下列计算>> det(a)ans =665>> inv(a)ans =0.3173 -0.5865 1.0286 -1.6241 1.9489-0.0977 0.4887 -0.8571 1.3534 -1.62410.0286 -0.1429 0.5429 -0.8571 1.0286 -0.0075 0.0376 -0.1429 0.4887 -0.5865 0.0015 -0.0075 0.0286 -0.0977 0.3173 >> [v,d]=eig(a)v =-0.7843 -0.7843 -0.9237 0.9860 -0.9237 0.5546 -0.5546 -0.3771 -0.0000 0.3771 -0.2614 -0.2614 0.0000 -0.1643 0.0000 0.0924 -0.0924 0.0628 -0.0000 -0.0628 -0.0218 -0.0218 0.0257 0.0274 0.0257d =0.7574 0 0 0 00 9.2426 0 0 00 0 7.4495 0 00 0 0 5.0000 00 0 0 0 2.5505%Exercise 7(1)>> a=[4 1 -1;3 2 -6;1 -5 3];[v,d]=eig(a) v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766>> det(v)ans =-0.9255 %v行列式正常, 特征向量线性相关,可对角化>> inv(v)*a*v %验算ans =-3.0527 0.0000 -0.00000.0000 3.6760 -0.0000-0.0000 -0.0000 8.3766>> [v2,d2]=jordan(a) %也可用jordanv2 =0.0798 0.0076 0.91270.1886 -0.3141 0.1256-0.1605 -0.2607 0.4213 %特征向量不同d2 =8.3766 0 00 -3.0527 - 0.0000i 00 0 3.6760 + 0.0000i>> v2\a*v2ans =8.3766 0 0.00000.0000 -3.0527 0.00000.0000 0.0000 3.6760>> v(:,1)./v2(:,2) %对应相同特征值的特征向量成比例ans =2.44912.44912.4491%Exercise 7(2)>> a=[1 1 -1;0 2 -1;-1 2 0];[v,d]=eig(a)v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i>> det(v)ans =-5.0566e-028 -5.1918e-017i %v的行列式接近0, 特征向量线性相关,不可对角化>> [v,d]=jordan(a)v =1 0 11 0 01 -1 0d =1 1 00 1 10 0 1 %jordan标准形不是对角的,所以不可对角化%Exercise 7(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> [v,d]=eig(A)v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887>> inv(v)*A*vans =0.0102 0.0000 -0.0000 0.00000.0000 0.8431 -0.0000 -0.0000-0.0000 0.0000 3.8581 -0.0000-0.0000 -0.0000 0 30.2887%本题用jordan不行, 原因未知%Exercise 7(4)参考6(4)和7(1), 略%Exercise 8 只有(3)对称, 且特征值全部大于零, 所以是正定矩阵. %Exercise 9(1)>> a=[4 -3 1 3;2 -1 3 5;1 -1 -1 -1;3 -2 3 4;7 -6 -7 0]>> rank(a)ans =3>> rank(a(1:3,:))ans =2>> rank(a([1 2 4],:)) %1,2,4行为最大无关组ans =3>> b=a([1 2 4],:)';c=a([3 5],:)';>> b\c %线性表示的系数ans =0.5000 5.0000-0.5000 1.00000 -5.0000%Exercise 10>> a=[1 -2 2;-2 -2 4;2 4 -2]>> [v,d]=eig(a)v =0.3333 0.9339 -0.12930.6667 -0.3304 -0.6681-0.6667 0.1365 -0.7327d =-7.0000 0 00 2.0000 00 0 2.0000>> v'*vans =1.0000 0.0000 0.00000.0000 1.0000 00.0000 0 1.0000 %v确实是正交矩阵%Exercise 11%设经过6个电阻的电流分别为i1, ..., i6. 列方程组如下%20-2i1=a; 5-3i2=c; a-3i3=c; a-4i4=b; c-5i5=b; b-3i6=0; %i1=i3+i4;i5=i2+i3;i6=i4+i5;%计算如下>> A=[1 0 0 2 0 0 0 0 0;0 0 1 0 3 0 0 0 0;1 0 -1 0 0 -3 0 0 0;1 -1 0 0 0 0 -4 0 0;0 -1 1 0 0 0 0 -5 0;0 1 0 0 0 0 0 0 -3;0 0 0 1 0 -1 -1 0 0;0 0 0 0 -1 -1 0 1 0;0 0 0 0 0 0 -1 -1 1];>>b=[20 5 0 0 0 0 0 0 0]'; A\b ans =13.34536.44018.54203.3274-1.18071.60111.72630.42042.1467>> A=[1 2 3;4 5 6;7 8 0];>> left=sum(eig(A)), right=sum(trace(A))left =6.0000right =6>> left=prod(eig(A)), right=det(A) %原题有错, (-1)^n应删去left =27.0000right =27>> fA=(A-p(1)*eye(3,3))*(A-p(2)*eye(3,3))*(A-p(3)*eye(3,3)) fA =1.0e-012 *0.0853 0.1421 0.02840.1421 0.1421 0-0.0568 -0.1137 0.1705>> norm(fA) %f(A)范数接近0ans =2.9536e-013roots([1 1 1])%Exercise 1(2)roots([3 0 -4 0 2 -1])%Exercise 1(3)p=zeros(1,24);p([1 17 18 22])=[5 -6 8 -5];roots(p)%Exercise 1(4)p1=[2 3];p2=conv(p1, p1);p3=conv(p1, p2);p3(end)=p3(end)-4; %原p3最后一个分量-4roots(p3)%Exercise 2fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x'); fzero(fun,2)】%Exercise 3fun=inline('x^4-2^x');fplot(fun,[-2 2]);grid on;fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)%Exercise 4fun=inline('x*sin(1/x)','x');fplot(fun, [-0.1 0.1]);x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;x=[x,-x]%Exercise 5fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);1 6*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2]','x');[a,b,c]=fsolve(fun,[0 0 0])%Exercise 6fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))]; [a,b,c]=fsolve(fun,[0.5 0.5])%Exercise 7clear; close; t=0:pi/100:2*pi;x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t);x2=3+sqrt(2)*cos(t); y2=6*sin(t);plot(x1,y1,x2,y2); grid on; %作图发现4个解的大致位置,然后分别求解y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 1.5,2])y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 1.8,-2])y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 3.5,-5])y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 4,-4])%Exercise 8(1)clear;fun=inline('x.^2.*sin(x.^2-x-2)');fplot(fun,[-2 2]);grid on; %作图观察x(1)=-2;x(3)=fminbnd(fun,-1,-0.5);x(5)=fminbnd(fun,1,2);fun2=inline('-x.^2.*sin(x.^2-x-2)');x(2)=fminbnd(fun2,-2,-1);x(4)=fminbnd(fun2,-0.5,0.5);x(6)=2feval(fun,x)%答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小,x(2)最大。
matlab练习题和答案
matlab 练习题和答案控制系统仿真切验Matlab部分实验结果目录实验一MATLAB基本操作..................................................................... ....................... 1实验二Matlab编程..................................................................... ............................... 5实验三Matlab基层图形控制..................................................................... ..................... 6实验四控制系统古典分析 ...................................................................... .......................12实验五控制系统现代分析..................................................................... . (15)实验六PID控制器的设计..................................................................... ......................19实验七系统状态空间设计 ...................................................................... .......................23实验九直流双闭环调速系统仿真..................................................................... . (25)实验一MATLAB基本操作1用 MATLAB能够识其他格式输入下边两个矩阵1233,, 1443678, i ,, ,,2357,,,,2335542,i,,,, A,1357B,,,2675342,i,,3239,,,,189543,, ,,1894 ,,再求出它们的乘积矩阵C,并将 C矩阵的右下角 2×3子矩阵赋给 D矩阵。