MATLAB仿真实验报告

时间:2024.3.15

                 MATLAB 仿真实验报告

一、实验目的

1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。

2、掌握对多维图像处理的相关技能,理解多维图像的相关性质

3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。

4、熟练掌握部分绘图函数的应用,能够处理多维图像。

二、实验条件

MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找

三、实验内容

1、nddemo.m函数文件的相关介绍

                  Manipulating Multidimensional Arrays

  MATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays.

  Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents :

l  Creating multi-dimensional arrays 创建多维数组

l  Finding the dimensions寻找尺寸

l   Accessing elements 访问元素

l  Manipulating multi-dimensional arrays操纵多维数组

l   Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩阵

 (1)、Creating multi-dimensional arrays

   Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension.

   The CAT function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a multidimensional array by concatenating( 联系起来 ) A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套).

(2)、Finding the dimensions SIZE and NDIMS return the size and number of   dimensions of matrices.

(3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标 ).

(4)、Manipulating multi-dimensional arrays

   RESHAPE, PERMUTE, and SQUEEZE are used to manipulate n-dimensional arrays. RESHAPE behaves as it does for 2D arrays. The operation of PERMUTE is illustrated below.

Let A be a 3 by 3 by 2 array. PERMUTE(A,[2 1 3]) returns an array with the row and column subscripts reversed (dimension 1 is the row, dimension 2 is the column, dimension 3 is the depth and so on). Similarly, PERMUTE(A,[3,2,1]) returns an array with the first and third subscripts interchanged.

A = rand(3,3,2);

B = permute(A, [2 1 3]);%permute:(转置)

C = permute(A, [3 2 1]);

(5)、Selecting 2D matrices from multi-dimensional arrays Functions like EIG that operate on planes or 2D matrices do not accept multi-dimensional arrays as arguments. To apply such functions to different planes of the multidimensional arrays, use indexing or FOR loops.

For example: A = cat( 3, [1 2 3; 9 8 7; 4 6 5], [0 3 2; 8 8 4; 5 3 5], ...

                 [6 4 7; 6 8 5; 5 4 3]);

% The EIG function is applied to each of the horizontal 'slices' of A.

for i = 1:3

    eig(squeeze(A(i,:,:)))  %squeeze 除去size为1的维度

end

ans =

    10.3589

   -1.0000

    1.6411

ans =

  21.2293         

   0.3854 + 1.5778i

   0.3854 - 1.5778i

ans =

  13.3706         

  -1.6853 + 0.4757i

  -1.6853 - 0.4757i

INTERP3, INTERPN, and NDGRID are examples of interpolation and data gridding functions that operate specifically on multidimensional data. Here is an example of NDGRID applied to an N-dimensional matrix.

示例程序

x1 = -2*pi:pi/10:0;

x2 = 2*pi:pi/10:4*pi;

x3 = 0:pi/10:2*pi;

[x1,x2,x3] = ndgrid(x1,x2,x3);

z = x1 + exp(cos(2*x2.^2)) + sin(x3.^3);

slice(z,[5 10 15], 10, [5 12]); axis tight;

程序运行结果:

2、题目要求:编写程序,改变垂直于X轴的三个竖面的其中两个面的形状,绘制出图形。

3、题目解答

程序:

clear all;close all;clc;

x1 = -2*pi:pi/10:0;       

x2 = 2*pi:pi/10:4*pi;     

x3 = 0:pi/10:2*pi;

[x1,x2,x3] = ndgrid(x1,x2,x3);%生成绘制3-D图形所需的网格数据

z = x1 + exp(cos(2*x2.^2)) + sin(x3.^3);

slice(z,10, 10, [5 12]); %用slice画四维图像,颜色表示第四维的数值

axis tight;%axis tight是使坐标系的最大值和最小值和上述的数据范围一致

[xsp,ysp,zsp] = sphere;%绘制球体

xsp=6*xsp;

ysp=6*ysp;

zsp=6*zsp;

hsp = surface(xsp+0.8,ysp+10,zsp+11);

   

xd = get(hsp,'XData');

yd = get(hsp,'YData');

zd = get(hsp,'ZData');

delete(hsp)%删除图形对象处理hsp

hold on

hslicer = slice(z,xd,yd,zd);

axis tight

hold off

hsp = surface(xsp+21.1,ysp+10,zsp+11);

xd = get(hsp,'XData');%获得X轴数据

yd = get(hsp,'YData');%获得Y轴数据

zd = get(hsp,'ZData');%获得Z轴数据

delete(hsp)%删除图形对象处理hsp

hold on

hslicer = slice(z,xd,yd,zd);

axis tight

view(5,2)%从通过方位角5度、俯视角2度的地方观看图像

hold off

所得图形:

 

四、实验思考

   我们的题目主要是对多维图像进行处理,首先我们在Help命令下,查阅了nddemo.m函数的相关介绍,知道了怎样把两个二维矩阵相联系,形成三维矩阵,我们认真分析了nddemo.m函数文件的相关程序,查找了相关函数的使用方法小组成员也进行了细致的讨论,最终找到了解决问题的方法。以上只是我们的一种结题思路,我们还会继续努力,争取实现多种变换方式,例如把两个球面换成抛物面或是其他曲面。这次的实验我们的收获很大。

五、小组总结

这次小学期的Matlab实验具有一定的挑战难度,以前并没有做过类似的实验,不过我们小组三人相互配合,共同努力,最后还是比较好地完成了任务。由于我们的实验要把两个平面转换成曲面,我们就打算转换成球面比较方便。但是,以前没有学过相关的函数,所以我们上网找些资料,自学了”sphere”、“ndgrid”、“surface”、“delete”等函数的使用方法,利用”sphere”函数返回的值来生成我们想要的球面。但是事情总是

没有那么简单的,在编写程序的过程中我们也遇到了种种的困难,比如球心坐标的计

算错误,在运行程序时出现各种错误报告,有时还不经意地把中文字符当成了英文字

符,给自己造成了很大的困扰。不过在三个人的同心协力之下,仔细反复地检查,大家相互讨论,认真思考,慢慢地,问题就一个个地解决了。虽然我们编写的程序可能不是最好的,但是是我们三个人不断讨论,不断查阅资料,自己努力的结果,以后我们一定会加以改进,争取编写出更加完美的程序。通过这次试验,我们体会到了团队协作,自己动手解决问题给我们带来的快乐。我们在失败中不断地进步,看着自己的作业一步一步地完成,心里有种奇妙的成就感,这次的Matlab试验真的让我们获益良多!


第二篇:MATLAB仿真实验报告结果


仿真程序:

>> x=0:0.1:2*pi;

>> plot(x,cos(x),':g',x,sin(x),'--y')

>> title('Figure example')

>> xlabel('This is x axis')

>> ylabel('This is y axis')

>> grid

仿真结果:

仿真结果:

图2-1

图2-2

图2-3

图2-4

图2-5

图2-6

图2-7

图2-8

更多相关推荐:
系统仿真实验报告

港口系统仿真课程实验报告实验报告题目系统仿真实验学院名称专业班级姓名学号日期系统仿真实验报告一实验目的本次实验主要是为了加深同学们对课本知识的理解和提高大家的实践操作能力使同学们能够熟练地使用ECXEL和仿真软...

系统仿真实验报告模版

控制系统仿真实验学习总结报告题目XXXXXXXXXXXX院系电子信息与控制工程系专业测控技术与仪器专业授课教师陈政强石玉秋本科生XXX班级测控081082学号完成时间20xxXX1实验内容2系统数学模型的建立实...

仿真实验报告

系统工程仿真实验报告实验一基于VENSIM的系统动力学仿真一实验目的VENSIM是一个建模工具可以建立动态系统的概念化的文档化的仿真分析和优化模型PLE个人学习版是VENSIM的缩减版主要用来简单化学习动态系统...

大学物理仿真实验报告

大学物理仿真实验报告实验名称牛顿环法测曲率半径共6页系别理学院实验日期年月23日专业班级组别实验报告日期年月23日姓名学号报告退发订正重做一实验目的1学会用牛顿环测定透镜曲率半径2正确使用读书显微镜学习用逐差法...

仿真 实验报告

计算机仿真实验一姓名杨中欣学号11自动化1班一实验目的1学习SIMULINK的实验环境使用2掌握SIMULINK进行结构图仿真的方法二实验内容1控制系统结构图仿真给定被控对象Gs045s110控制器Ds按以下两...

仿真实验报告

仿真软件实验实验名称基于电渗流的微通道门进样的数值模拟实验日期20xx94一实验目的1对建模及仿真技术初步了解2学习并掌握ComsolMultiphysics的使用方法3了解电渗进样原理并进行数值模拟4运用Co...

系统仿真综合实验报告

实验报告书四川大学课程实验报告课程名称学生姓名学生学号专业系统仿真综合实验1实验报告书一实验目的系统仿真是运用仿真软件如simio创造模型来构建或模拟现实世界的虚拟实验室它能过帮助你探寻你所关注的系统在给定的条...

系统仿真实验报告

系统仿真实验报告学生姓名院系名称专业名称班级学号指导教师完成时间XX商学院工业工程XXXXXXXXXXXXXXXX201X年X月X日目录1系统仿真实验概述12系统仿真实验目的23系统仿真实验内容231系统仿真实...

matlab仿真实验报告

Matlab仿真实验报告1实验一数字信号的FFT分析大概在第10周1实验内容及要求1离散信号的频谱分析设信号xn0001cos045nsin03ncos0302n4此信号的03pi和0302pi两根谱线相距很近...

西安交通大学仿真实验报告

西安交通大学大学物理仿真实验实验报告系别实验日期姓名学号一实验简介实验名称碰撞和动量守恒动量守恒定律和能量守恒定律在物理学中占有非常重要的地位力学中的运动定理和守恒定律最初是冲牛顿定律导出来的在现代物理学所研究...

西安交通大学物理仿真实验报告(2)

物理仿真实验报告刚体的转动惯量姓名班级学号20xx1114实验原理1刚体的转动定律具有确定转轴的刚体在外力矩的作用下将获得角加速度其值与外力矩成正比与刚体的转动惯量成反比即有刚体的转动定律MI1利用转动定律通过...

ADSP现代数字信号处理仿真实验报告

目录仿真一LMS算法和RLS算法11自适应滤波的基本原理111自适应最小均方LMS算法112递归最小二乘方RLS算法22仿真实验43结果分析6仿真二P阶LevinsonDurbin算法81要求82算法描述821...

仿真实验报告(26篇)