logo资料库

Matlab上机实验指导与答案.docx

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
Matlab 上 机 实 验 报 告 专业班级:08 自动化一班 姓名: 刘复鑫 学号: 080108011122
仿真实验(一) 1、解方程,至少用三种方法解方程组 Ax=b,如矩阵除法、求逆矩阵、 通 过 初 等 变 换 将 矩 阵 化 为 上 ( 下 ) 三 角 阵 等 , 其 中 A  3   1   0  7   5 8  5  0 0 2 9 4  8   1    3  5  , b        0   2   1   6  >> A=[-3 5 0 8;1 -8 2 -1;0 -5 9 3;-7 0 -4 5] >> B=[0;2;-1;6] >> x=A\B x = -0.6386 -0.4210 -0.3529 >> inv(A) >> x=inv(A)*b x = -0.6386 -0.4210 -0.3529 0.0237 >> [L,U]=lu(A) >> x=(L*U)\B x = -0.6386 -0.4210 -0.3529 0.0237 2、已知一多项式的零点为{2,-3,1+2i,1-2i,0,-6},求这个多项 式的系数(从高到低排列),并且计算多项式在点 x=0.8,-1.2 的值。 >> r=[2;-3;1+2i;1-2i;0;-6]; p=poly(r) >> polyval(p,0.8) polyval(p,1.2) p = 1 5 -9 -1 72 -180 0 X=0.8 时值为-100.2179 X=-1.2 时值为-117.2828 刘复鑫作品,严禁复制,盗版必究
3、矩阵运算 (1)矩阵的乘法:已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B >> A=[1 2;3 4] ;B=[5 5;7 8];x=A^2*B x = 105 229 115 251 (2)矩阵除法:已知 A=[1 2 3;4 5 6;7 8 9]; A\B,A/B >> A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3]; >> X=A\B Y=A/B X = 1.0e+016 * -0.4504 0.9007 -0.4504 1.8014 -3.6029 1.8014 -1.3511 2.7022 -1.3511 Y = 1.0000 4.0000 7.0000 1.0000 2.5000 4.0000 1.0000 2.0000 3.0000 (3)矩阵的转置及共轭转置:已知A=[5+i,2-i,1;6*i,4,9-i]; 求 A.', A' >> A=[5+i,2-i,1;6*i,4,9-i] >>X=A.’ >>Y=A’ X = 5.0000 + 1.0000i 2.0000 - 1.0000i 1.0000 0 + 6.0000i 4.0000 9.0000 - 1.0000i Y = 5.0000 - 1.0000i 2.0000 + 1.0000i 1.0000 0 - 6.0000i 4.0000 9.0000 + 1.0000i (4)使用冒号选出指定元素:已知: A=[1 2 3;4 5 6;7 8 9]; 求A 中第3列前2个元素;A中所有列第2,3行的元素; >>A=[1 2 3;4 5 6;7 8 9];A(1:2,3) >>A(2:3,:) ans = 刘复鑫作品,严禁复制,盗版必究
ans = 3 6 4 7 5 8 6 9 (5)方括号[]:用magic函数生成一个4阶魔术矩阵,删除该矩阵的 第四列 >> A=magic(4) >> A(:,4)=[] A = 13 8 12 1 A = 16 5 9 4 16 5 9 4 2 3 10 6 15 2 3 10 6 15 11 7 14 11 7 14 4.帮助命令:使用help命令,查找 sqrt(开方)函数的使用方法; >> help sqrt 1、建立M-文件 仿真实验(二) (1)编写命令文件:计算1+2+…+n<2000时的最大n值; %ex1_01.m mysum=0; for n=1:1000 mysum=mysum+n; if(mysum>2000) break; end end n-1 (2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。 ①for循环: %ex2_11.m n=input('please evaluation to n:'); mysum=0; for m=0:n mysum=mysum+2^m; 刘复鑫作品,严禁复制,盗版必究
end mysum ②while循环: %ex2_12.m n=input('please evaluation to n:'); mysum=0;i=0; while(i<=n) mysum=mysum+2^i;i=i+1; end mysum (4)如果想对一个变量x自动赋值。当从键盘输入y或Y时(表示是),x自动赋 为1; 当从键盘输入n或N时(表示否),x自动赋为0;输入其他字符时终止程 序 %ex1_3.m ikey=0; while(ikey==0) s1=input('evaluation to X or not [y/n]?','s'); if(s1=='y'|s1=='Y'), ikey=1;x=1 else if(s1=='n'|s1=='N')ikey=1;x=0,end break end end   2、数值积分:用 MATLAB 计算 2 0 sin xdx %exp4.m function f=exp4(x) f=sin(x); format long; y=quad('exp4',0,pi/2) 符号积分:syms x;f='sin(x)';y=int(f,'x',0,pi/2) 3、MATLAB 的符号运算 (1)符号运算和符号表达式:①用 sym 来定义一个符号或一个符号表达式;② 用 syms 定义多个符号;③定义的各个符号和表达式进行运算; ①>> A=sym('2*x^2+3*x+2') A = 2*x^2+3*x+2 ②>> syms m n ③>> fun=m+n;C=fun+A 刘复鑫作品,严禁复制,盗版必究
C = m+n+2*x^2+3*x+2 (2)微积分运算:自己定义一个符号函数 f1 和一个符号方程 f2,利用所学函 数进行一下运算①针对 f1 进行求导,积分,求极限;②针对 f2 进行解方程运 算。 ①>> f1='sin(x)';df1=diff(f) df1 = cos(x) >> y=limit(f,x,0) y = 0 >> y=int(f,'x',0,pi/2) y = 1 ②>>f='a*x^2+b*x+c=0';x=solve(f,'x') x = -1/2*(b-(b^2-4*a*c)^(1/2))/a -1/2*(b+(b^2-4*a*c)^(1/2))/a 4.基本绘图控制:绘制[0,4π]区间上的x1=10sint曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号; (2)坐标轴控制:显示范围、刻度线、比例、网络线; (3)标注控制:坐 标轴名称、标题、相应文本; >> x=0:0.1:4*pi;y=10*sin(x);plot(x,y,'-.r+') >> xlabel('x') >> ylabel('y') >> grid >> title('y=10*sin(x)') 5.绘图 (1) 用几种方法作 2 4 5 x x x x 的图形,在同一个图上画几条曲线; , , 3 , 刘复鑫作品,严禁复制,盗版必究
方法一: >>x=-2:0.01:2;y=[x.^2;x.^3;x.^4;x.^5];z=0*x; plot(x,y,x,z);grid on;legend('x^2','x^3','x^4','x^5') >> xlabel('x') >>ylabel('y') 方法二: >> x=-2:0.01:2;plot(x,x.^2,'b');hold on >> plot(x,x.^3,'g');hold on >> plot(x,x.^4,'r');hold on >> plot(x,x.^5,'c');hold off (2)在[0 2]范围内绘制二维曲线图 sin cos5 x >>fplot('sin(x)*cos(5*x)',[0,2*pi]);grid;xlabel('x');ylabel('y')  y x ; (3)绘制 sin cos  x z y 的三维网格和三维曲面图,x、y 变化范围均为[0 2]。 ①>>[x,y]=meshgrid(0:0.01:2*pi);z=sin(x).*cos(y);mesh(x,y,z) 刘复鑫作品,严禁复制,盗版必究
②>>[x,y]=meshgrid(0:0.01:2*pi);z=sin(x).*cos(y);surf(x,y,z) 1、已知系统结构图如下 仿真实验(三) 图 含饱和非线性环节系统方框图 已知输入为信号电平从1~6,非线性环节的上下限为±1,取步长h=0.1,仿真时 间为10秒,试绘制系统的响应曲线。文件名为exp3_1.mdl 刘复鑫作品,严禁复制,盗版必究
分享到:
收藏