Matlab上机实验二
matlab实验二
北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。
2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。
3.能用Matlab 进行基本的数组、矩阵运算。
4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。
5.掌握Matlab 中的关系运算与逻辑运算。
(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。
(四)实验程序设计1.利用diag 等函数产生下列矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。
3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。
4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。
矩阵和数组的操作 实验报告
实验报告课程名称:MATLAB上机实验实验项目:矩阵和数组的操作实验地点:专业班级:学号学生姓名:指导教师:年月日实验二矩阵和数组的操作一.实验环境计算机 MATLAB软件二.实验目的1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。
2.学习矩阵和数组的加减运算与乘法。
3.掌握对数组元素的寻访与赋值,会对数组进行一般的操作。
三.实验内容与步骤1.用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。
2.建立一个等差数列,然后由它产生一个对角阵。
3.利用MATLAB的函数inv(A)求方阵的逆矩阵。
解:1.(1)>> A=[3,2,1;4,5,6;7,8,9]A =3 2 14 5 67 8 9(2)A=rand(3,3)A =0.9501 0.4860 0.45650.2311 0.8913 0.01850.6068 0.7621 0.82142.> a=linspace(0.1,5,5)a =0 0.3750 0.7500 1.1250 1.5000>> B=diag(a)B =0 0 0 0 00 0.3750 0 0 00 0 0.7500 0 00 0 0 1.1250 00 0 0 0 1.50003.>> A=[1,2;5,6]A =1 25 6>> B=inv(A)B =-1.5000 0.50001.2500 -0.2500四.练习题1.创建一个5×5矩阵,提取主对角线以上的部分。
>> A=rand(5,5)A =0.4447 0.1763 0.8936 0.1389 0.19880.6154 0.4057 0.0579 0.2028 0.01530.7919 0.9355 0.3529 0.1987 0.74680.9218 0.9169 0.8132 0.6038 0.44510.7382 0.4103 0.0099 0.2722 0.9318>> B=triu(A)B =0.4447 0.1763 0.8936 0.1389 0.19880 0.4057 0.0579 0.2028 0.01530 0 0.3529 0.1987 0.74680 0 0 0.6038 0.44510 0 0 0 0.93182.A=rand(3),B=magic(3),C=rand(3,4),计算A×B×C>> A=rand(3),B=magic(3),C=rand(3,4)A =0.4660 0.5252 0.83810.4186 0.2026 0.01960.8462 0.6721 0.6813B =8 1 63 5 74 9 2C =0.3795 0.7095 0.1897 0.30280.8318 0.4289 0.1934 0.54170.5028 0.3046 0.6822 0.1509>> D=A*B*CD =16.2278 13.1844 9.2577 9.61074.8656 4.7624 3.7848 2.692118.5715 15.9959 11.7862 10.76673.创建一个3×3矩阵,并求其转置,逆矩阵。
实验二matlab矩阵分析与处理
《MATLAB及应用A》第二次上机作业一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:MATLAB运行结果:二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB中复制)。
MATLAB源程序:x=linspace(0,6);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;各条命令语句的功能如下:y1、y2、y3的值分别为:三、教材第55页习题三,第3题。
MATLAB源程序:MATLAB运行结果:四、选择题(1) i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后,a, b, c的值分别是多少?()(A) a=4, b=4, c=2.0000i(B) a=4, b=2.0000i, c=2.0000i(C) a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i(2) 求解方程x4-4x3+12x-9 = 0 的所有解,其结果为()(A) 1.0000, 3.0000, 1.7321, -1.7321(B) 1.0000, 3.0000, 1.7321i, -1.7321i(C) 1.0000i, 3.0000i, 1.7321, -1.7321(D) -3.000-0i, 3.0000i, 1.7321, -1.7321五、求[100,1000]之间的全部素数(选做)。
MATLAB源程序: MATLAB运行结果:一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:>> a=(0:-1:-9) %产生一个行向量aa =0 -1 -2 -3 -4 -5 -6 -7 -8 -9>> b=pow2(a) %对行向量a中的每一个元素分别求幂函数b =1.0000 0.5000 0.2500 0.1250 0.0625 0.0313 0.0156 0.007 8 0.0039 0.0020>> h=100*b %对行向量b中的每一个元素分别乘以100h =100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0. 7813 0.3906 0.1953>> s1=sum(h) %对行向量h中的元素求和s1 =199.8047>> s=s1*2-100 %求出第10次落下时经过的高度s =299.6094>> h10=h(10)/2 %求出第10次反弹的高度h10 =0.0977二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB 中复制)。
MATLAB上机实验实验报告
MATLAB上机实验一一、实验目的初步熟悉MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。
命令窗口二、实验内容(1) 熟悉MATLAB 平台的工作环境。
(2) 熟悉MATLAB 的5 个工作窗口。
(3) MATLAB 的优先搜索顺序。
三、实验步骤1. 熟悉MATLAB 的5 个基本窗口①Command Window (命令窗口)②Workspace (工作空间窗口)—③Command History (命令历史记录窗口)④Current Directory (当前目录窗口)⑤Help Window (帮助窗口)(1) 命令窗口(Command Window)。
在命令窗口中依次输入以下命令:>>x=1>> y=[1 2 34 5 67 8 9];>> z1=[1:10],z2=[1:2:5];>> w=linspace(1,10,10);>> t1=ones(3),t2=ones(1,3),t3=ones(3,1)>> t4=ones(3),t4=eye(4)x =1z1 =1 2 3 4 5 6 7 8 9 10 t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:(1)变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。
当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。
脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。
当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。
2.全局变量在函数或基本工作空间内,用global声明的变量为全局变量。
MATLAB上机实验二
课程名称:MATLAB及在电子信息课程中的应用
实验项目:矩阵和数组的操作
实验地点:多学科楼教学机房
专业班级:测控1001
学号:2010001332
学生姓名:赵磊
指导教师:李鸿燕
2012年5月7日
一、实验目的和要求
1、掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。
2、学习矩阵和数组的加减运算与乘法。
A=randn(4,4)
A =
-0.4326 -1.1465 0.3273 -0.5883
-1.6656 1.1909 0.1746 2.1832
0.1253 1.1892 -0.1867 -0.1364
0.2877 -0.0376 0.7258 0.1139
步骤2:在命令区输入b=[1;2;3;4]得列向量b。
B =
-1.5000 0.5000
1.2500 -0.2500
三、主要仪器设备
计算机MATLAB软件
四、操作方法与实验步骤及实验结果
1、创建一个5×5矩阵,提取主对角线以上的部分。
步骤1:在命令区输入A=rand(5,5)产生一个5×5矩阵。
A=rand(5,5)
A =
0.9649 0.8003 0.9595 0.6787 0.1712
步骤1:在命令区输入A=100:1:999;
步骤2:在命令区输入p=(rem(A,3)==0);
步骤3:在命令区输入b=find(p)
步骤4:在命令区输入c=length(b)即可得100——999之间能被21整除的数的个数c=43。
7、设有矩阵A和B
A =
1 2 3 4 5
6 7 8 9 10
MATLAB上机实验报告
Matlab上机实验报告实验二读入MATLAB下自带图像pout.tif1)利用亮度变换函数,调整图像亮度。
a)调整范围设定[0 1],[1 0],观测显示效果;b)调整范围设定[0.5 0.75],[1 0],观测显示效果。
解:a, I=imread('pout.tif');colormap;imshow(I);j=imadjust(I,[0 1],[1 0],1.5);figure;subimage(j);b, >> I=imread('pout.tif');colormap;imshow(I);j=imadjust(I,[0.5 0.75],[1 0],1.5);figure;subimage(j);2)利用对比度拉伸函数,压缩高值灰度(c值自行设定)。
解:I=imread('pout.tif');colormap;subplot(1,2,1);imshow(I);xlabel('a)原始图像');J=double(I);J=100*log(J+1);I=uint8(J);subplot(1,2,2);subimage(J);xlabel('b)非线性变换');3)利用直方图函数,生成并绘制图像直方图。
解:I=imread('pout.tif');subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imhist(I);4)利用直方图修正函数,生成均衡化后的图像直方图(n值自定设定)。
解:I=imread('pout.tif');figure(1);subplot(1,2,1);imshow(I);xlabel('a)原始图像');J=histeq(I);figure(1);subplot(1,2,2);imshow(J);xlabel('b)直方图均衡');figure(2);imhist(I,100);figure(3);imhist(J,100);实验三1.运行例3、4,显示并分析输出结果,说明逆滤波和维纳滤波的区别。
matlab第二次试验上机操作内容
实验名称:数组、矩阵和基本数据类型
一、实验目的:
1、熟悉数组和矩阵的基本运算;
2、熟悉数值数组、字符数组的创建;
3、熟悉数值数组、字符数组的赋值和寻访。
二、实验内容:
1、对数组和矩阵做各种基本运算
2、创建数值和字符数组;
3、对字符数组进行赋值和寻访,同时实现数值和字符之间的转换。
2)生成2*5的随机矩阵,利用逻辑索引找出其中〉0.4的element
3)对R=[-0.5,-0.3+0.4*i,-0.3-0.4*i];分别求实部,虚部,幅度和相位并记录结果
4)对x=[6.3,-6.3,6.8,-6.8]分别进行取整(ceil,floor,fix,round)运算,并记录结果
5)对 , 分别进行数组乘,除和矩阵乘除,并记录结果
三、实验平台:MATLAB集成系统
四、设计流程:
启动软件,输入指令,观察结果
五、程序清单:
此处写程序内容
六、调试和测试结果:
此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法
七、教师评语与成绩评定
此处由老师填写
实验的详细内容如下:
1)继续第一次没有完成的内容
(输入command前首先在commadwindow输入diary exp_2以保存实验结果供写实验报告用)
6)利用A=magic(4)生成4阶magic数组,对其做提取对角元素(diag),变形(reshape),左右反转,上下反转,旋转90°和重复(repmat)等操作并记录结果
2 2 3;3 3 3;1 1 1];分别作各种关系运算(包括大于,小于,等于,大于等于,小于等于和非)
8)对A=[1 0;2 3];B=[1 1;20];进行各种逻辑运算
数字信号处理第三版用MATLAB上机实验
实验二:时域采样与频域采样一、时域采样1.用MATLAB编程如下:%1时域采样序列分析fs=1000A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=1000;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz');ylabel('xn');title('xn');subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz'); title('|X(k)|');%1时域采样序列分析fs=200A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=200;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs);Xk=fft(xn);subplot(3,2,3);stem(n,xn);xlabel('n,fs=200Hz'); ylabel('xn');title('xn');subplot(3,2,4);plot(n,abs(Xk));xlabel('k,fs=200Hz'); title('|X(k)|');%1时域采样序列分析fs=500A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=500;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,5);stem(n,xn);xlabel('n,fs=500Hz');ylabel('xn');title('xn');subplot(3,2,6);plot(n,abs(Xk));xlabel('k,fs=500Hz'); title('|X(k)|');2.经调试结果如下图:20406080-200200n,fs=1000Hzxnxn2040608005001000k,fs=1000Hz|X (k)|51015-2000200n,fs=200Hzx nxn510150100200k,fs=200Hz |X(k)|10203040-2000200n,fs=500Hzx nxn102030400500k,fs=500Hz|X (k)|实验结果说明:对时域信号采样频率必须大于等于模拟信号频率的两倍以上,才 能使采样信号的频谱不产生混叠.fs=200Hz 时,采样信号的频谱产生了混叠,fs=500Hz 和fs=1000Hz 时,大于模拟信号频率的两倍以上,采样信号的频谱不产生混叠。
实验二MATLAB程序设计含实验报告
实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。
MATLAB 实验二 基本操作
实验二 Matlab 基本操作(二)一 实验目的:1. 掌握矩阵方程的构造和运算方法2. 掌握基本Matlab 控制语句3. 学会使用Matlab 绘图二 实验内容1. 求解下列线性方程,并进行解的验证:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----1323151122231592127x=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-0174 >> a=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13];b=[4;7;-1;0];x=a\b2、进行下列计算。
(1)k=∑=6322i i>>i=2:63;mysum=sum(2.^i)mysum =1.8447e+019(2)求出y=x*sin(x)在0<x<100条件下的每个峰值。
>>y='x.*sin(x)';fplot(y,[0 100]);min=fmin(y,0,100)min =54.99613、绘制下列图形。
(1)sin(1/t), -1<t<1;t=-1:0.02:1;y=sin(1./t);plot(t,y)(2)1-)7(cos 3t>> t=0:0.02:pi.*3;y=1-cos(7*t).^3;plot(t,y)4、已知系统闭环传递函数G (S ),分析系统稳定性及单位脉冲、单位阶跃响应。
22s 43206s 266)S (G s s s s s 23423+++++++=>> a=[1 3 4 2 2];b=[6 26 6 20];roots(a)ans =-1.4734 + 1.0256i-1.4734 - 1.0256i-0.0266 + 0.7873i-0.0266 - 0.7873i因为无右根,故系统稳定。
当单位脉冲输入时:>> [r p k]=residue(b,a);t=0:0.2:60;>> y1=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t)+r(3)*exp(p(3)*t)+r(4)*exp(p(4)*t); >> plot(t,y1)当输入单位阶跃函数时:>> a=[1 3 4 2 2 0];b=[6 26 6 20];[r p k]=residue(b,a);t=0:0.2:100;y2=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t)+r(3)*exp(p(3)*t)+r(4)*exp(p(4)*t)+r(5); plot(t,y2)。
matlab上机实验二
上机二1、输入一个华氏温度F,输出相应的摄氏温度C,计算公式如下:C=5/9*(F-32)。
答:M文件clear all;F=input('请输入华氏温度F=');C=5/9*(F-32);C窗口输入>> m1请输入华氏温度F=5C =-15>>2、输入三角形的三边,求三角形的面积。
提示:面积公式S=sqrt(p(p-a)(p-b)(p-c)),其中p=(a+b+c)/2答:建立M文件m2clear all;a=input('请输入a=');b=input('请输入b=');c=input('请输入c=');p=(a+b+c)/2;if a+b>c&a+c>b&b+c>aS=sqrt(p*(p-a)*(p-b)*(p-c));fprintf('S=%d',S)elsefprintf('error');end输入窗口>> m2请输入a=3请输入b=4请输入c=5S=6>>>> m2请输入a=1请输入b=2请输入c=3error>>3、任意输入三个整数,由小到大顺序输出。
答:首先建立M文件。
m3文件clear all;a=input('请输入a=');b=input('请输入b=');c=input('请输入c=');if a>=bmin=b;b=a;a=min;endif a>=cmin=c;c=a;a=min;endif b>=cmin=c;c=b;b=min;endfprintf('a=%d,b=%d,c=%d',a,b,c);在输入窗口输入>> m3请输入a=5请输入b=9请输入c=1a=1,b=5,c=9>>4、解一元二次方程:ax^2+bx+c=0.即输入a,b,c的值,求方程的解。
MATLAB实验二答案
实验二报告人:王业成年级:机电131 学号:2013012496实验日期:2015.3.327报告完成日期:2015.3.30一、实验名称熟悉和掌握MA TLAB中关于矩阵变换以及矩阵运算的各种命令。
二、实验目的:熟悉和掌握MA TLAB中关于矩阵变换以及矩阵运算的各种命令。
三、实验内容:1.数、数组、矩阵的输入(1)数的输入a=5b=2-5i(2)数组的输入c=[1,3,5,7,9,11] %元素之间要用逗号用空格分开d=1:2:11e=linspace(1,11,6)体会以上输入有什么区别和联系。
(3)矩阵的输入A=[2,3,5;1,3,5;6,9,4] %行之间要用分别隔开2.矩阵大小的测试和定位A=[3,5,6;,2,5,8;3,5,9;3,7,9][n,m]=size(A)A(1,3)3. 矩阵的块操作A(2,:)A([1,3],:)A(2:3,1:2)问题2.1如何将A的2,3列互换?4.矩阵的四则运算A=[3,5,8;-2,3,6;1,4,9]B=rand(3,3)C=A+BD=A-BE=A*B问题2.2E为矩阵A、B的乘积运算结果,如果要求E的结果为A和B对应元素相乘的结果,应输入什么命令?F=A/B问题2.3 如果要求F为A,B对应元素作除法运算的结果,应输入什么命令?5.矩阵的点运算A=[1 2;3 4];B=[5 6;7 8];A*BA.*BA^2A.^26.矩阵的逻辑运算A=[1 2;3 4]; B=[0 6; 0 8]; A | BA&Bxor(A,B)a=-5;b=-10;(b~=0)&&(a/b>5)(b= =0)||(a/b>0)~a四、回答问题:问题2.1如何将A的2,3列互换?问题2.2 E为矩阵A、B的乘积运算结果,如果要求E的结果为A和B对应元素相乘的结果,应输入什么命令?问题2.3 如果要求F为A,B对应元素作除法运算的结果,应输入什么命令?五、思考题:1.输入一个矩阵A,取出A的第2行第1列的元素;取出A的第1,3,4列的所有元素;让A的第1列和第3列互换;删除A的第二列。
MATLAB上机实验报告_2
4.已知某系统的开环传递函数为, 计算该系统的相位裕度和幅值裕度。
5.已知某系统的闭环传递函数为, 设ζ=0.707,ωn=1:1:5, 画出该系统的单位阶跃响应曲线。
四. 实验设计方案(实验步骤或开发过程)
七. 附录(源程序清单)
1.clear all
closeall
clc
t=0:0.001:3;
u=sin(300*t)+2*cos(200*t);
y=fft(u);
yy=abs(y);
plot(t,yy)
2.d=[1 10 20 30 41 54];
r=roots(d)
3.clear all
closeall
num=1;
den=[12 7 1 0];
bode(num,den)
figure(2)
nyquist(num,den)Байду номын сангаас
4.num=5;
den=conv([1,0],conv([1,4],[1,5]));
sys=tf(num,den);
w=logspace(0,4,50);
bode(sys,w);
grid;
六. 实验结果
五. 实验中存在问题及解决办法
六. 实验结果
六. 实验结果
1. 5、
2.r =
-7.8739
-1.4201 + 0.9942i
-1.4201 - 0.9942i
0.3570 + 1.4679i
0.3570 - 1.4679i由此看出系统不稳定
3.
4.Gm = 36(幅值裕度) Pm =83.5835(相角裕度)
matlab第二次实验报告
《数学建模实验》上机实验报告班级:计算机35班学号:2130505099姓名:田博文【实验一】一上底面半径2米、下底面半径4米、高4米的圆台形水池内盛满了水,由池底一横截面积为0.001平方米的小孔放水。
求在任意时刻的水面高度和将水放空所需的时间。
一、问题分析:在dt很小一段时间内,水的流速v可以看成是不变的与水面高度h有关的函数,即v=gh2;在dt时间内流出的水量,可以近似的为一圆柱,对应的圆柱高为dh;由于容器下降的水量与流出的水量相等,令小孔面积为b,即dV=π2r dh=bvdt;可得dh与dt的关系为:dh=bvdt/(π2r);根据相似三角形原理可得,r=4-h/2;初始条件有;h(0)=4;为表示方便,引入变量L=4-h故r=2+L/2二、代码:T=0;for L=0:0.001:4-0.001 %选取积分微元为0.001,即dhV=0.001*pi*(2+(1/2*L))^2; %水面处的dV,b=0.001t=V/(sqrt(2*(4-L)*9.8)*0.001) %dV与dt关系T=T+t;plot(T,(4-L),'red'); hold onend三、运行结果:四、结论:在任意时刻的水面高度和将水放空所需的时间如上图红线所示,横轴为时间,纵轴为水面高度。
【实验二】有A、B、C三个场地,每一个场地都出产一定数量的原料,同时也消耗一定数量的产品,具体数据如下表所示。
已知制成每吨产品需要消耗3吨原料,A、B两地,A、C两地和B、C两地之间的距离分别为150千米、100千米和200千米,假设每万吨原料运输1千米的运费为5000元,每万吨产品运输1千米的运费为6000元。
由于地区条件的差异,在不同地区设厂的费用不同,由于条件的限制,在B处建厂的规模不能超过5万吨,问:在这三地如何建厂、规模建多大才能使得总费用最小?地点年产原料(万吨)年销产品(万吨)生产费用(万元/万吨)A 20 7 150B 16 13 120C 24 0 100一、问题分析:设nij为i地运往j地的原料量,mij为i地运往j地的产品量,设A地为1地,B 为2地,C地为3地。
matlab实验报告实验二
matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。
在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。
图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。
在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。
实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。
例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。
在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。
例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。
在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。
例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。
在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。
例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。
密码学 上机实验二报告(Matlab)
state = sub_bytes (state, inv_s_box);
% Display intermediate result if requested
ifverbose_mode
disp_hex ('After inv_sub_bytes : ', state)
end
% Extract the current round key (4 x 4 matrix) from the expanded key
程序清单:
程序代码如下所示:
functionplaintext = inv_cipher (ciphertext, w, inv_s_box, inv_poly_mat, vargin)
ifnargin > 0
% Switch the verbose mode flag on
verbose_mode = 1;
信息安全与密码学实验报告
序号
班级
姓名
学号
日期
时间
地点
1
信计1002
王志新
41064035
2012.12.10
18:00-21:00
实验楼102
指导教师:候书会
实验名称:
1、上机实验二
实验内容:
实验四现代对称密码学实验(验证性实验,4学时)
1、AES
A、实验内容:熟悉AES算法,并实现AES;
B、测试数据:任意,并验证加/解密结果。
else
% generate the column vector [16 13 10 7]'
col = (16 : -3 : 7)';
end
% Generate the row vector [0 4 8 12]
MATLAB实验报告二
实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。
function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。
当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。
a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。
MATLABexpe2实验二题目
“MATLAB 及其在通信中的应用” 上机实验二1——矩阵操作进阶及图形绘制姓名学号班级1. 利用基本矩阵产生7*8的单位阵、全1阵、全0阵、[10 15]之间均匀分布随机矩阵。
,正态分布随机矩阵(均值4,方差为49)。
将所编程序截图,填入到下面空白处。
(10分)2. 矩阵运算:已知135221246,111357331a b ==,求矩阵c ,-7*4*10**.*T c a b a b a b a =++++1(),在MATLAB 命令窗口中编写语句,实现下述功能,将所编程序截图,填入到下面空白处。
(1) 对c 中所有元素求和赋值给SUM 。
(2) 先令矩阵d=c ,仅保留d 中主对角线上方第1条对角线元素,d 中其他元素赋值0。
(3+7=10分)1完成后以附件形式发送到。
邮件主题为“班级”加“下划线”加“姓名”加“下划线”加“实验一”,如“通信1101_姓名_实验一”,word 文件名类似,如“通信1101_姓名_实验一”。
3.编写.m程序。
利用矩阵运算,求解方程组1234123413412342410 43253322770 107829x x x xx x x xx x xx x x x+++=⎧⎪-+++=⎪⎨++=⎪⎪+-+=⎩。
(1)求出方程组的解,并保存在向量B(2)将B的转置作为行向量,对该行向量进行复制拼接,生成6*4阶矩阵的H(3)对H矩阵进行重排,生成3*8阶矩阵K,删除矩阵K的第3列,生成3*7阶矩阵J。
将所编程序和矩阵B、H、J的结果截图,填入到下面空白处。
(6+6+8=20分)4、假设有函数33a b e a --=+,其中1,1.5,2,2.5...,6a =,打开1*2排布的图形子窗口,按要求完成绘图。
子窗口1绘制图1: x 轴用a 为坐标刻度,y 轴用b 为坐标刻度,曲线颜色为绿色,类型为-*,线宽为1,加入栅格线。
加入标题“图1”。
x 轴标注 “a ” ,y 轴标注“b ” 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 对Runge 函数2()1/(125)R x x =+在区间[-1,1]作下列插值逼近,并和()R x 的图
像进行比较,并对结果进行分析。
(1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值
多项式的图像。
(2) 用节点21cos()(0,1,2...,20)42
i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。
(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数
的图像。
(4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值
函数的图像。
结果分析:
等距节点的Newton插值在边界附近呈现不收敛的状态,也就是所谓的Runge 现象。
这是因为被插函数2
()1/(125)
R x x
=+及其任意阶导数并不是一致有界的。
由Lagrange插值的余项
(n1)
1
()
()()()()
(1)!
n n n
f
R x f x L x x
n
ξ
ω
+
+
=-=
+
,由于高阶导数值
非常大,在等距节点的高次插值中,余项的值很大,亦即误差特别大,表现为Runge现象。
在实际中,除非被插函数的光滑性十分好,否则等距节点的高次插值一般不使用。
切比雪夫多项式零点插值没有出现Runge现象,这是因为对于Lagrange插
值的余项
(n1)
1
()
()()()()
(1)!
n n n
f
R x f x L x x
n
ξ
ω
+
+
=-=
+
,切比雪夫多项式零点插值可以
将
1()
n x
ω
+项控制在
1
2n
以下(
1
[1,1]
max()
n
x
x
ω
+
∈-
=
1
2n
),由此可得切比雪夫多项式零点
插值的误差范围
(n1)
[1,1]
()
max()
2(1)!
n n
x
f
R x
n
ξ
+
∞
∈-
≤
+
,比等距节点的高次插值小很多,因此
对于被插函数的光滑性要求要比等距节点的插值也低很多。
分段低次线性插值是常用的一种插值方式。
线性插值的优点在于计算量小,但是从图中可以看出,其光滑性不够。
三次样条插值要求其一阶导数是连续的,因此其准确性好,光滑性也较优。
2. 对函数
sin ,10()cos ,01/20,1/21x x f x x x x ππ-≤<⎧⎪=≤<⎨⎪≤<⎩
在区间[-1,1]作下列插值逼近,和被插值函数的图像进行比较,并对计算结果进行分析。
(1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值
多项式的图像。
(2) 用节点21cos()(0,1,2...,20)42
i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。
(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数
的图像。
(4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值
函数的图像。
由matlab运行结果可以看到,等距节点的Newton插值在边界附近呈现不收敛的状态,切比雪夫多项式零点插值也有一定的振荡。
这是因为被插函数是分段函数,其一阶导数都不是连续的,光滑性非常差,因此相对于函数2
=+,其切比雪夫多项式零点插值的收敛性差很多。
分段低次线()1/(125)
R x x
性插值与三次样条插值相比较,其光滑性不够,但是三次样条插值在断点附近有轻微的振荡,准确性比不上分段线性插值。