MATLAB实验题答案
- 格式:doc
- 大小:81.80 KB
- 文档页数:7
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之间取整数值,并求此矩阵前四列组成的方阵的逆阵。
第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clcclearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3)y1=diff(y)subplot(2,1,1)plot(x,y)subplot(2,1,2)plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clccleara=10;b=pi/2;n=5;theta=0:pi/100:2*pi;rho=a*cos(b+n*theta);polar(theta,rho)3. 列出求下列空间曲面交线的程序clcclearx=[-5:0.5:5];[X,Y]=meshgrid(x);z1=X.^2-2*Y.^2;z2=X.*2-Y.*3;xlabel('x')ylabel('y')zlabel('z')surf(X,Y,z1)hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5);x1=X(k)y1=Y(k)z3=x1.^2-2*y1.^2hold onplot3(x1,y1,z3,'*')⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t ()θρn b a +=cos 2212y x z -=y x z 322-=4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线,要求有图形标注。
clcclearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2));plot(x,y,'b*-');title('绘图');xlabel('x 坐标');ylabel('y 坐标');legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x clccleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];b=[4,-3,9,-8];c=b/a;x=c(1,1)y=c(1,2)z=c(1,3)w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
“MATLAB”练习题要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。
1、求230x e x -=的所有根.(先画图后求解)(要求贴图)>> solve('exp(x)—3*x^2',0)ans =—2*lambertw (—1/6*3^(1/2))-2*lambertw(—1,—1/6*3^(1/2))—2*lambertw (1/6*3^(1/2))3、求解下列各题:1)30sin lim x x x x ->->> sym x ;〉> limit((x-sin (x))/x^3)ans =1/62) (10)cos ,x y e x y =求>> sym x;>> diff (exp(x )*cos(x),10)ans =(-32)*exp(x)*sin (x)3)21/20(17x e dx ⎰精确到位有效数字)〉〉 sym x;〉〉 vpa((int(exp(x^2),x,0,1/2)),17)ans =0.544987104183622224)42254x dx x+⎰〉> sym x ;>〉 int (x^4/(25+x^2),x)ans =125*atan (x/5) - 25*x + x^3/35)求由参数方程arctan x y t⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。
〉> sym t;>> x=log(sqrt (1+t^2));y=atan(t);〉> diff (y ,t )/diff (x ,t)ans =1/t6)设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x ).>> syms x y ;f=x *y+exp(y )—exp (1);〉> -diff(f,x )/diff (f,y)ans =-y/(x + exp (y))7)0sin 2x e xdx +∞-⎰>〉 syms x ;>〉 y=exp(-x)*sin(2*x );〉> int(y ,0,inf )ans =2/58) 08x =展开(最高次幂为)〉> syms xf=sqrt(1+x);taylor(f,0,9)ans =— (429*x^8)/32768 + (33*x^7)/2048 — (21*x^6)/1024 +(7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + x/2 + 19) 1sin (3)(2)x y e y =求〉> syms x y ;>〉 y=exp(sin (1/x));>〉 dy=subs (diff(y,3),x ,2)dy =—0.582610)求变上限函数2x x ⎰对变量x 的导数.>> syms a t ;>〉 diff (int(sqrt(a+t),t,x ,x^2))Warning: Explicit integral could not be found 。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x 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 --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) 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)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(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.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))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)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))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)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.47740.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.2500 2. 已知:求下列表达式的值:(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]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[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.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C。
1:用以上两种形式计算56+sin^ + e 3算术运算结果。
» 5A 6+sin(pi)+exp(3)ans =1.5645e+004» x=5A 6+sin(pi)+exp(3)»A=[1 2;1 2];» B=[l 1;2 2];» C=(A<B)&(A==B)C =0 0 03:对数d = 5 + sin7用五位定点、十五位定点以及有理数形式表示出来。
»a=5+sin(7); format short,a 5.6570» a=5+sin(7);» format long,aa =» A=[l 2 3;4 15 60;7 8 9]A =12 3 415 60 7 8 9 n i n i i i5:输入矩阵U 1 1丿。
%利用MATLAB 命令直接输入矩阵OneMatrix=ones(33J)OneMatrix =8 10 9 101 1 11 1 11 1 1‘0 0 0 0 0、c养」0 0 0 0 0,» OneMatrix=ones(2,5;l);ZeroMatrix=zeros(size(OneMatrix)) ZeroMatrix =0 0 0 0 00 0 0 0 07:生成3阶魔方矩阵。
» magic(3) ans =8 1 63 5 749 28:操作符冒号”:”的应用a)步长为1的等差数列b)步长为2的等差数列c)步长为-2的等差、递减数列» 0:1:10 ans =» 0:2:10 ans =» 10:(-2):0C)取矩阵A 的A (2), A (3), A (4)d)取矩阵A的第一行e)取矩阵A的第三列D把矩阵A的第一行第三列元素赋值给变吊: g)把矩阵A的第二行第列元素修改为100» A=[l 23 56;sin(3) 7 9;log(2) 6 1]» A(2,3)fl 3 100) c 二,利用A 与B 生成矩阵V 6 9 0 A ans = ans =23 » A ⑵,A ⑶,A(4)ans =0.141120008059867ans =0.693147180559945 ans =23»A(1,:)ans =1 23 56» A(:,3)ans =5691» x=A(l,3)56 » A(2,1)=100L0000 100.0000 0.6931 23.0000 7.0000 6.000056.00009.00001.00001 3 A =6 9 io :己知矩阵 L° R _(A 0) D = (A B)曲=〔0 B 丿»A=[13;6 9];B=[1 5;0 8]; » C=[AB(:,1)];» C(l,3)=100c =1 3 1006 9 0» A=[l 3;6 9];B=[1 5;0 8];D=[A B]D =公比为10°" » A=[l 23 56;sin(3) 7 9;log(2) 6 1];»A(1,:)=[]A =0.1411 7.0000 9.00000.6931 6.0000 1.000012: 1 inspace(0, 1, 6) / %给出区间[0, 1]的6个等分点数据logspace(0, 1,6) / %给出区间的6个等比点数据,»linspace(0J,6) ans =» a=l:5 b=3:2:ll c=a>*a a = 1 2b = 3 5c = 1 4» a.*bans = 3 103 4 57 9 119 16 2521 36 55■兀 . sm(k ——),k = ±2, ±1,014:计算 2 的值。
第一次练习教学要求:熟练掌握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 limx 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 计算2211x 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)课后实验答案-精简版实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。
(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.022aaee a z a a --+=++=--(4) 2242011122123t t z t t t t t ?≤<?=-≤<??-+≤<?,其中t =0:0.5:2.52. 已知:1234413134787,2033657327A B --??==-??求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]3. 设有矩阵A 和B 123453 0166789101769,1112 1314150234 1617181920970212223242541311A B ??-?==-?(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MA TLAB 工作空间的使用情况。
4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R R S A OS +??=。
解: M 文件如下;输出结果:S =1 0 02 A =1.0000 0 0 0.5383 0.4427 0 1.0000 0 0.9961 0.1067 0 0 1.0000 0.0782 0.9619 0 0 0 1.0000 0 0 0 0 02.0000 a =1.0000 0 0 1.0767 1.3280 0 1.0000 0 1.9923 0.3200 0 0 1.0000 0.15642.8857 0 0 0 1.0000 0 0 0 0 0 4.0000 ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0由ans,所以22E R R S A O S +??=?2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。
2,(1)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(3) 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 ];B=A([1,2],[3]),C=A(2:end, : )(5) M=magic(4),M(:,4)=[]3,(1) p1=[1 0 2 4];PS1=poly2str(p1,'x')r=roots(p1)(2) p=poly(A)polyval(p,20)poly2str(p,’A’)4,(1) t=0:.1:2*pi;y=cos(t);plot(t,y),grid(2) t=0:.1:2*pi;y1=cos(t-0.25);y2=sin(t-0.25);plot(t,y1,t,y2)gridt=0:.01:4*pi;y=10*sin(t);plot(t,y,'r:+')gridaxis([0,10,-15,15])xlabel('x','FontSize',16)ylabel('y','FontSize',16)title('正弦函数')6,(1)sum=0;i=1;while(sum<2000)sum=sum+i;i=i+1;endn=i-2{ n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1}(2)解法1:function [ s i ] = mitifang1(n)s=0;for i=0:ns=s+2^i; if(i>n), break;endends,n解法2:function [ s i ] = mitifang2(n)s=0;i=0;while(i<=n) ,s=s+2^i;i=i+1;ends,n(3)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)elsedisp('shu ru you wu')endreply=input('ÇëÊäÈë:','s');enddisp('shu ru you wu ')试验二1,(1)num=5*[1 5 6];den=[1 6 10 8];G=tf(num,den)step(G)impulse(G)num=5*[1 5 6];den=[1 6 10 8];G=tf(num,den)[A B C D]=tf2ss(num,den)x=[1 1 0]'initial(A,B,C,D,x)(2)wn=[2:2:12];z=0.7;t=0:0.1:12;hold onfor i=1:length(wn)Gc=tf(wn(i)^2,[1,2*z*wn(i),wn(i)^2]); step(Gc,t)endgrid onhold on(3)z=[0.2:0.2:2.0];wn=6;t=0:0.1:12;hold onfor i=1:length(z)Gc=tf(wn^2,[1,2*z(i)*wn,wn^2]); step(Gc,t)endgrid onhold on2,(1)wn=[2:2:12];z=0.7;hold onfor i=1:length(wn)num=wn(i)^2;den=[1,2*z*wn(i),wn(i)^2]; bode(num,den);endgrid onhold on(2)z=[0.2:0.2:2.0];wn=6;hold onfor i=1:length(z)num=wn^2;den=[1,2*z(i)*wn,wn^2];bode(num,den);endgrid onhold on3,num=[1];den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den);rlocus(sys)[x,y]=ginput(3);p=x+i*yK=rlocfind(sys,p)实验三1,(1)k=100;p=[0,-1,-20];z=-2;sys=zpk(z,p,k)sys=tf(sys)G_c=feedback(sys,1);%转换为闭环传递函数roots(G_c.den{1})%求闭环特征方程的根[rtab,msg]=routh(G_c.den{1})(2)sys=tf([1,3],conv(conv([1,0],[1,5]),conv([1,6],[1,2,2]))) rlocus(sys)[K,poles]=rlocfind(sys)(3)sys1=tf(2.7,[1 5 4 0])margin(sys1);%画出波特图[Gm,Pm,Wcg,Wcp]=margin(sys1)G_c=feedback(sys,1)step(G_c)%验证阶跃响应是否稳定Grid2,[A,B,C,D]=tf2ss([1,-1],[1,10,27,18])%取0,1时同理Tc=ctrb(A,B)rank(Tc)To=obsv(A,C)rank(To)3, b=[2 3 4 0];a=[1 3 3 2];n=2^3;Fs=40;[h,f]=freqz(b,a,n,Fs);plot(f,abs(h))grid ontitle('离散系统幅频特性曲线')p=angle(h);ph=p*180/pi;plot(f,ph)grid ontitle('离散系统相频特性曲线')t=1;dbode(b,a,t)[mag,phase,w]=dbode(b,a,t)figure(7)[gm,pm,wg,wp]=margin(mag,phase,w) dnyquist(b,a,t)。
实验一:变量和矩阵的赋值、矩阵的初等运算实验目的: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之间取整数值,并求此矩阵前四列组成的方阵的逆阵。
这些答案不一定正确,大家可以参考参考,还有部分没完成的,希望有人能快点做出来。
实验一1、(1)>> z1=(2*sin(85*pi/180))/(1+exp(2))z1 =0.2375(2)>> x=[2,1+2i;-0.45,5]x =2.0000 1.0000 + 2.0000i-0.4500 5.0000>> z2=1/2*log(1+sqrt(1+x^2))z2 =0.5738 - 0.0333i 0.7952 + 0.2117i0.2869 + 0.4861i 0.9005 - 0.0073i2、>> A=[12,34,-4;34,7,87;3,65,7]A =12 34 -434 7 873 65 7>> B=[1,3,-1;2,0,3;3,-2,7]B =1 3 -12 0 33 -2 7>> I=eye(3)I =1 0 00 1 00 0 1>> A+6*Bans =18 52 -1046 7 10521 53 49>> A-B+Ians =12 31 -332 8 840 67 1>> A*Bans =68 44 62309 -72 596154 -5 241>> A.*Bans =12 102 468 0 2619 -130 49>> A^3ans =37226 233824 48604247370 149188 60076678688 454142 118820>> A.^3ans =1728 39304 -6439304 343 65850327 274625 343 >> A/Bans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000>> B\Aans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000>> [A,B]ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7 >> [A([1,3],:);B^2]ans =12 34 -43 65 74 5 111 0 1920 -5 40>>3、>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25]A =1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25>> B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]B =3 0 1617 -6 90 23 -49 7 04 13 11>> C=A*BC =93 150 77258 335 237423 520 397588 705 557753 890 717>> D=C(3:5,2:3)D =520 397705 557890 717实验二2、(1)>> syms xs=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/(sin(x)^3) Lsk=limit(s,x,0)s =(x*(exp(sin(x)) + 1) - 2*exp(tan(x)) + 2)/sin(x)^3 Lsk =-1/2(2)>> syms a t x>> A=[a^x,t^3;t*cos(x),log(x)]A =[ a^x, t^3][ t*cos(x), log(x)]>> df=diff(A)dfdt2=diff(A,t,2)dfdxdt=diff(diff(A,x),t)df =[ a^x*log(a), 0][ -t*sin(x), 1/x]dfdt2 =[ 0, 6*t][ 0, 0]dfdxdt =[ 0, 0][ -sin(x), 0]>>实验三1、(3)>> a=-3.0:0.1:3.0z3=exp(0.3*a).*sin(a+0.3)a =Columns 1 through 8-3.0000 -2.9000 -2.8000 -2.7000 -2.6000 -2.5000 -2.4000 -2.3000Columns 9 through 16-2.2000 -2.1000 -2.0000 -1.9000 -1.8000 -1.7000 -1.6000 -1.5000Columns 17 through 24-1.4000 -1.3000 -1.2000 -1.1000 -1.0000 -0.9000 -0.8000 -0.7000Columns 25 through 32-0.6000 -0.5000 -0.4000 -0.3000 -0.2000 -0.1000 0 0.1000Columns 33 through 400.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000Columns 41 through 481.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000Columns 49 through 561.8000 1.90002.0000 2.1000 2.2000 2.3000 2.40002.5000Columns 57 through 612.6000 2.7000 2.8000 2.90003.0000z3 =Columns 1 through 8-0.1738 -0.2160 -0.2584 -0.3005 -0.3418 -0.3819 -0.4202 -0.4561Columns 9 through 16-0.4891 -0.5187 -0.5442 -0.5653 -0.5813 -0.5918 -0.5962 -0.5943Columns 17 through 24-0.5856 -0.5697 -0.5465 -0.5157 -0.4772 -0.4310 -0.3771 -0.3157Columns 25 through 32-0.2468 -0.1710 -0.0885 0.0000 0.0940 0.1928 0.2955 0.4013Columns 33 through 400.5091 0.6178 0.7264 0.8334 0.9378 1.0381 1.13291.2209Columns 41 through 481.3007 1.3707 1.4297 1.4764 1.5093 1.5273 1.5293 1.5142Columns 49 through 561.4813 1.4296 1.3588 1.2683 1.1579 1.0278 0.8780 0.7092Columns 57 through 610.5219 0.3172 0.0963 -0.1393 -0.3880>>(4)>> syms tt=0:0.5:2.5if t>=0t<1z4=t.^2;elseif t>=1t<2z4=t.^2-1;elseif t>=2t<3z4=t.^2-2.*t+1;endt =0 0.5000 1.0000 1.5000 2.0000 2.5000 ans =1 1 0 0 0 0>>4(1)>> m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2)>> M=100+magic(5)M =117 124 101 108 115123 105 107 114 116104 106 113 120 122110 112 119 121 103111 118 125 102 109实验四1、>> x=rand(1,30000); mu=mean(x)sig=std(x)[max_num,weizhi1]=max(x) [min_num,weizhi2]=min(x)y=length(find(x>0.5));p=y/30000mu =0.5020sig =0.2893max_num =1.0000weizhi1 =731min_num =1.2354e-004weizhi2 =9617p =0.5017>>2、>> t=45+50*rand(100,5);P=fix(t);[x,l]=max(P)[y,k]=min(P)mu=mean(P)sig=std(P)s=sum(P,2)[X,m]=max(s)[Y,n]=min(s)[zcj,xsxh]=sort(s)x =94 94 94 92 94l =12 25 6 17 42y =45 45 45 45 45k =1 24 18 80 46mu =68.1300 70.4700 69.1900 67.1900 70.6800 sig =14.7290 14.5806 15.2532 13.8285 13.2702 s =326 342 338 376 375 333 394 339 317 359 338 380 302 379 369 391 378 342 366 363 315 348 383 303 335 313 334 302 296 370 319 350 329 322 365 399 326 391 318 328 335 374 305352 293 363 380 348 336 353 364 342 381 369 349 285 398 344 379 373 359 324 356 332 327 294 311 319 361 357 379 353 366 318 351 327 330 390 329 329 292 348 360 323 297 349335371323372358343363336393332337354 X =399 m =36 Y =285 n =57 zcj =285292293294296297302303 305 311 313 315 317 318 318 319 319 322 323 323 324 326 326 327 327 328 329 329 329 330 332 332 333 334 335 335 335 336 336 337 338 338 339 342 342 342 343 344 345 347348 348 349 349 350 351 352 353 353 354 356 357 358 359 359 360 361 363 363 363 364 365 366 366 369 369 370 371 372 373 374 375 376 378 379 379 379 380 380 381 383 390 391393394398399 xsxh =578246672986132824436826219397531693485916313766774033808178659862741 89 50 96 99 3 11 8 2 18 53 94 59 88 44 22 49 83 56 87 32 76 45 51 73 100 64 71 93 10 62 84 70 20 47 95 52 35 19 74 15 55 309261425417146072124854237916389775836>>3、>> A=randn(10,5)mu=mean(A)sig=std(A)m=max(A)n=min(A)p=sum(A,2)sum(p)A =-0.3316 -1.9682 -0.9379 0.0635 -0.19361.2900 0.8745 -0.3664 0.3067 -0.3796-0.3743 1.2308 -0.9529 1.2654 -0.0922 -0.8671 -0.3518 0.1797 0.9860 1.26620.7588 0.5268 0.1264 -1.2862 -0.0425-1.9617 1.0806 0.2758 1.0919 -2.9548 -0.3597 -0.3459 1.0738 1.0266 -0.44910.1221 -0.1111 0.4171 -0.9018 0.8893-1.5787 -0.1213 0.4899 0.8433 -0.5266-1.5737 1.2627 -1.3792 -1.2064 -0.3800 mu =-0.4876 0.2077 -0.1074 0.2189 -0.2863 sig =1.0449 1.0018 0.7746 1.0040 1.1116 m =1.2900 1.2627 1.0738 1.2654 1.2662 n =-1.9617 -1.9682 -1.3792 -1.2862 -2.9548 p =-3.36781.72511.07681.21300.0832-2.46820.94570.4156-0.8935-3.2766ans =-4.5466>>4、>> x=0:15*pi/180:pi/2;>> sin(x)ans =0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000>> tan(x)ans =1.0e+016 *0 0.0000 0.0000 0.0000 0.0000 0.0000 1.6331>> format long>> interp1(x,sin(x),'spline')ans =Columns 1 through 4-0.261799387799149 -0.194040720240549 -0.130899693899575 -0.076679265375884Columns 5 through 7-0.035074467269872 -0.008920597817284 0>> interp1(x,tan(x),'spline')ans =1.0e+032 *Columns 1 through 4-0.000000000000000 -0.000000000000000 -0.000000000000000 -0.000000000000000Columns 5 through 70.000000000000000 0.000000000000000 7.2536888214463725、>> N=[1 4 9 16 25 36 49 64 81 100]N =1 4 9 16 25 36 49 64 81 100>> n=sqrt(N)n =1 2 3 4 5 6 7 8 9 10>> format long>> interp1(N,n,'cubic')ans =1 4 9 16 25 36 49 64 81 100>>6(1)>> syms x>> y=(sin(x))^2+(cos(x))^2;>> dy=diff(y);>> x=[pi/6,pi/4,pi/3,pi/2];>> eval(dy)ans =(2)>> syms x>> y=sqrt(1+x^2);>> dy=diff(y);>> x=1x =1>> eval(dy)ans =0.7071 >> x=2x =2>> eval(dy) ans =0.8944 >> x=3x =3>> eval(dy) ans =0.9487 >>实验五1、>> x1=-2:0.1:2;y1=exp(x1);x2=0.1:0.1:5;y2=log(x2);plot(x1,y1,'r',x2,y2,'g');title('二维图');legend('y=exp(x)','y=logx');xlabel('X轴数据');ylabel('Y轴数据'); grid on;>>3、>> t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*sin(t).*sin(t);plot(x,y);title(date);legend(strvcat('x=tcos(3t)','y=tsin2t')); xlabel('T轴数据');ylabel('X,Y轴数据'); >>。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e=+ (2) 221l n (1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3s i n (0.3)l n ,3.0,2.9,,2.9,3.022a a ee a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))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)t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))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)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044i2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(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]解: M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[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.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1 ans =68 44 62309 -72 596154 -5 241 ans =12 102 468 0 2619 -130 49 ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7 ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
1:用以上两种形式计算36sin 5e ++π算术运算结果。
>> 5^6+sin(pi)+exp(3)ans =1.5645e+004>> x=5^6+sin(pi)+exp(3)x = 1.5645e+0042:已知矩阵⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=2211,2121B A ,对它们做简单的关系与逻辑运算C=(A<B)&(A= =B)>> A=[1 2;1 2];>> B=[1 1;2 2];>> C=(A<B)&(A==B) C =0 00 03:对数7sin 5+=a 用五位定点、十五位定点以及有理数形式表示出来。
>> a=5+sin(7);format short,aa =5.6570>> a=5+sin(7);>> format long,aa =5.6569865987187894:直接输入创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=98760154321A>> A=[1 2 3;4 15 60;7 8 9]A =1 2 34 15 607 8 95:输入矩阵111111111⎛⎫ ⎪ ⎪ ⎪⎝⎭。
%利用MATLAB 命令直接输入矩阵OneMatrix=ones(3,3,1)OneMatrix =1 1 1 1 1 1 1 1 16:输入矩阵00000 00000⎛⎫ ⎪⎝⎭>> OneMatrix=ones(2,5,1);ZeroMatrix=zeros(size(OneMatrix))ZeroMatrix =0 0 0 0 00 0 0 0 07:生成3阶魔方矩阵。
>> magic(3)ans =8 1 63 5 74 9 28:操作符冒号”:”的应用a)步长为1的等差数列b)步长为2的等差数列c)步长为-2的等差、递减数列>> 0:1:10ans =0 1 2 3 4 5 6 7 8 9 10 >> 0:2:10ans =0 2 4 6 8 10>> 10:(-2):0ans =10 8 6 4 2 09:已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=162ln973sin56231A,抽取与修改矩阵A的一些元素.a)求矩阵A的第二行第三列元素b)求矩阵A的第四个元素c)取矩阵A的A(2),A(3),A(4)d)取矩阵A的第一行e)取矩阵A的第三列f)把矩阵A的第一行第三列元素赋值给变量g)把矩阵A的第二行第一列元素修改为100>> A=[1 23 56;sin(3) 7 9;log(2) 6 1] >> A(2,3)ans =9>> A(4)ans =23>> A(2),A(3),A(4)ans =0.141120008059867ans =0.693147180559945ans =23>> A(1,:)ans =1 23 56>> A(:,3)ans =5691>> x=A(1,3)x =56>> A(2,1)=100A =1.0000 23.0000 56.0000 100.0000 7.0000 9.00000.6931 6.0000 1.000010:已知矩阵⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=851,9631BA,利用A与B生成矩阵13100690C⎛⎫= ⎪⎝⎭,() D A B=,AAAB⎛⎫= ⎪⎝⎭。
(温馨提示:实验课结束后,请将所有作业(题目、代码、结果)利用word 整理成一个完整的实验报告,加上封面,打印,纸质档于18周周一交)第一次上机作业目的:1. 掌握MATLAB 各种表达式的书写规则2. 运行课堂上讲过的例子,熟悉矩阵、表达式的基本操作和运算。
作业:1. 熟悉matlab 集成环境界面。
回答以下问题,并操作相关的指令:(1) 分别写出清除命令窗口和清除变量的指令。
答: clc 和clear(2)在命令行输入命令后,matlab 的搜索过程是怎样的?答: (1)检查该命令对象是不是一个变量。
(2)检查该命令对象是不是一个内部函数。
(3)检查该命令对象是否为当前目录下的程序文件。
(4)检查该命令对象是否为MATLAB 搜索路径中其他目录下的M 文件。
(3)什么是matlab 的当前工作目录?写出两种设置当前工作目录的方法? 答: 就是matlab 当前文件读取和存储的默认路径(1)在当前目录窗口中更改(2)在MATLAB 桌面工具栏中更改(3)使用cd 命令:cd c:\mydir---将c :\mydir 设置为当前目录(4)什么是matlab 的搜索路径?写出两种设置搜索路径的方法?答: 指Matlab 运行文件时进行搜索的目录。
(1)用path 命令设置:(2)用Set Path 对话框设置(5)help 命令和doc 命令有什么作用,它们有什么区别?答: help 命令:最基本的帮助命令,查询信息直接显示在命令窗口。
doc 命令:在帮助窗口中显示HTML 帮助文档,显示函数的详细用法及 例子,比help 命令更详细。
2. 在matlab 中输入下列表达式,并求各表达式的值,显示MATLAB 工作空间的使用情况并用两种方式保存全部变量,变量保存的文件名必须包含自己的学号后四位数:(1))1034245.01(26-⨯+⨯=w w=sqrt(2)*(1+0.34245*10^-6)w =1.4142(2),)tan(22ac b e abc c b a x ++-+++=ππ 其中a=3.5,b=5,c=9.8。
MATLAB实验题答案result5 =( 1 ) a = 1 : 2 : 5a =1 3 5( 2 ) b = [ a' , a' , a' ;a ]b =1 1 13 3 35 5 51 3 5( 3 ) c = a + b ( 2 , : )c =4 6 82、下列运算是否合法,为什么如合法,结果是多少>> result2=a*bError using *Inner matrix dimensions must agree. >> result3=a+b result3 =3 6 258 11>> result4=b*dresult4 =31 22 2240 49 1331 22 2240 49 13-5 -8 7>> result6=a.*b result6 =2 8 -3415 30>> result7=a./b result7 =>> result9=a.\b result9 =>> result10=a92result10 =1 4 916 25 36>> resultl 1=29aresult11 =2 4 816 32 64>>result5=[b;c']*d 3、⽤MATLAB求解下⾯的的⽅程组。
1、求以下变量的值,并在MATLAB^验证。
1 2 x13 2 x211 5 x32 13 x4>> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0]>> B=B'>> x=inv(A)*B>> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5]>> x2=inv(A1)*B27 2 1 29 15 3 22 2 11 51 32 13(1)求矩阵A的秩(rank)(2)求矩阵 A 的⾏列式(determinant)(3)求矩阵 A 的逆(inverse)(4)求矩阵 A 的特征值及特征向量(eigenvalue and eigenvector)>> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3)n 10查看y 的值)m1=0;for m=-10:10 m仁m1+2^m;endm1m1 =6、求分段函数的值。
实验一1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z 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 --+=++=--(4)2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.52. 已知:34787,2033657327A B ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(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 和 B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
ch='ABC123d4e56Fg9';则要求结果是:实验二1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;E=eye(3); R=rand(3,2); O=zeros(2,3);S=diag([1 2]);A=[E R a=[E,R+R*SO S] O ,S^2] A^2=a 2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。
1、求以下变量的值,并在MATLAB中验证。
( 1 ) a = 1 : 2 : 5a =1 3 5( 2 ) b = [ a' , a' , a' ;a ]b =1 1 13 3 35 5 51 3 5( 3 ) c = a + b ( 2 , : )c =4 6 82、下列运算是否合法,为什么?如合法,结果是多少?>> result2=a*bError using *Inner matrix dimensions must agree.>> result3=a+bresult3 =3 6 25 8 11>> result4=b*dresult4 =31 22 2240 49 13>> result5=[b;c']*dresult5 =31 22 2240 49 13-5 -8 7>> result6=a.*bresult6 =2 8 -34 15 30>> result7=a./bresult7 =0.5000 0.5000 -3.00004.0000 1.6667 1.2000>> result8=a.cAttempt to reference field of non-structure array.>> result9=a.\bresult9 =2.0000 2.0000 -0.33330.2500 0.6000 0.8333>> result10=a.^2result10 =1 4 916 25 36>> result11=2.^aresult11 =2 4 816 32 643、用MATLAB求解下面的的方程组。
(1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----17413231511222315921274321xxxx>> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0]>> B=B'>> x=inv(A)*B(2)⎪⎪⎩⎪⎪⎨⎧=-++=--=-++=++56533332821wzyxwyxwzyxzyx>> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6]>> B2=[1;8;3;5]>> x2=inv(A1)*B24、已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A(1)求矩阵A 的秩(rank)(2)求矩阵A 的行列式(determinant) (3)求矩阵A 的逆(inverse)(4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3) 5、109910101022222++++==---=∑Λn n y ,求y=?(运行format long g 命令后,查看y 的值) m1=0;for m=-10:10 m1=m1+2^m; end m1 m1 =2047.99902343756、求分段函数的值。
⎪⎩⎪⎨⎧≥--<≤+-<-+=51506506222x x x x x x x x x y用if 语句实现,算出下列表中x 对应的y值。
x=input('enter x='); if x<0y=x^2+x -6; elseif x>=0&&x<5 y=x^2-5*x+6; elsey=x^2-x -1; end y7、分别用if 和switch 语句实现,将百分制成绩转换为成绩等级A 、B 、C 、D 、E 。
其中90~100分为A ,80~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。
对超出百分制范围的成绩,给出错误提示信息。
if 结构程序:x=input('please enter score='); if x>=90&&x<=100 disp('A')elseif x<90&&x>=80 disp('B')elseif x<80&&x>=70 disp('C') elseif x<70&&x>=60 disp('D')elseif x<60&&x>=0 disp('E') elsedisp('error') endswitch 结构程序:x=input('please enter score='); switch fix(x/10) case{10,9} if x>100disp('error') elsedisp('A') end case{8} disp('B') case{7} disp('C') case{6} disp('D')case{0,1,2,3,4,5} disp('E') otherwise disp('error') end8、思考题设计程序,完成成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
x=input('请输入运算符')a=num2str(floor(rand(1)*90+10));ab=num2str(floor(rand(1)*90+10));bif x=='+'y=a+b;elseif x=='-'y=a-b;elseif x=='*'y=a*b;elseif x=='/'y=a/b;elsedisp('error')endy9、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。
点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。
注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
n=input('请输入n值:');a=n;while n>1if rem(n,2)==0n=n/2;elsen=3*n+1;enda=[a,n];enda 10、根据2222213121116nx++++=Λ,当n分别取100、1000、10000时,求x的值分别是多少?a=input('请输入数值')n=0;for m=1:100n=n+1/(m*m);endn=6*n;x=sqrt(n);x11、编程求满足∑=>mkk1100002的最小m值。
sum=0;m=2;a=1;while afor i=1:msum=sum+2^i;if sum>10000a=0;endendm=m+1;endm12、思考题已知y和t的函数关系:!20/...!3/!2/1)(2032ttttty+++++=求下面表格中与t对应的y值t=input('请输入t值:')sum=0;for i=1:20b=factorial(i);sum=sum+t^i/b; endsum=sum+1; sum13、编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。
function [y]=myfun1(x)选择一些数据测试你编写的函数。
function [y]=myfun1(x) if x<=0 y=sin(x);elseif x>0&x<=3 y=x;elseif x>3 y=-x+6; end14、编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。
function[m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root Mean Square)的计算公式为:∑==Ni i x Nrms 121用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi) (2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。
function[m_x,max_x,min_x,rms_x]=myfun2(x) %求平均值sum_x=sum(x); %向量元素求和[m,n]=size(x); %最好用n=length(x);m_x=sum_x/n;%求最大值 采用逐个比较方式 if x(1)>x(2) max_x=x(1); elsemax_x=x(2); endfor k=3:nif max_x<x(k) max_x=x(k); elsemax_x=max_x; %可省略 end end%求最小值 if x(1)<x(2) min_x=x(1); elsemin_x=x(2); endfor k=3:nif min_x>x(k) min_x=x(k); elsemin_x=min_x; %可省略 end end%求均方根值 sum_x2=0; for k=1:nsum_x2=sum_x2+x(k).^2; rms_x=sqrt(sum_x2/n); end m_x; max_x; min_x;rms_x; %按照函数值行参顺序输出结果15、编写一个函数,给出一个向量],,[21n x x x x Λ=,生成如下范德蒙矩阵。
function [v]=myvander(x)⎪⎩⎪⎨⎧>+-≤<≤=3,630,0,sin )(x x x x x x x y⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---112112222121111n n n n n n x x x x x x x x x ΛΛΛΛΛΛΛΛ例如:>>v=myvander([2 3 4 5]) 得v=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1256427825169454321111function [v]=myvander(x) v1=vander(x); %生成范德蒙矩阵 v2=v1';v=flipud(v2); %实现矩阵上下翻转16、思考题编写程序,用如下迭代公式求a,a 的值分别为:3,17,113。