实验7 MATLAB数据显示及存取 实验报告

时间:2024.4.13

实验报告

课程名称:MATLAB 语言                           

实验名称:MATLAB 数据显示及存取                实验时间:    

班级:                  姓名:                 学号:      

                                                                                                                                             

:

1.   熟悉MATLAB的二维绘图。

2.   熟悉MATLAB的三维绘图。

3.   熟悉MATLAB的数据保存。

4.   熟悉MATLAB的数据存取。

:

MATLAB 7.1

:

1.   绘制函数的曲线,其实曲线为绿虚线,并进行标注。

2.   在一个图形窗口内,绘制任选6个函数的曲线,并增加标题和对坐标轴进行标注。

3.   将第2题得到的曲线按照不同设置拷贝到word文档中,并比较结果。

4.   绘制函数的曲线,并绘制对应的等高线和网格。

5.   将用于绘制曲线的数据分别保存在二进制和文件中。

6.   重启MATLAB,上述保存的文件依次读取变量z的前10个数据。

实 验 过 程、结 果 及 分 析:


第二篇:MATLAB实验报告七


Example5.3

通过创建函数把直角坐标值(xy)转化相应的极坐标值,我们向大家说选择性参数的

应用。这个函数支持两个输入参数,x y。但是,如果支持只有一个参数的情况,那么函

数就假设y 值为0,并使用它进行运算。函数在一般情况下输出量为模与相角(单位为度)。

但只有一个输出参数只有一个时,它只返回模。函数如下所示。

function [mag, angle] = polar_value(x, y)

通过在命令窗口反复调用这个函数来检测它

>> [mag angle]=polar_value??? Error using ==> polar_value

>>Not enough input arguments.

>>[mag angle]=polar_value(1,-1,1)???

>> [mag angle]=polar_value(1,-1)mag =1.4142angle =-45

>> mag = polar_value(1,-1)mag =1.4142

>> [mag angle]=polar_value(1,-1)mag =1.4142angle =-45

>> [mag angle] = polar_value(0,0)Warning: Both x and y are zero: angle is meaningless!

>> In polar_value at 27mag =0angle =0

Example 5.4

随机数发生器是一个函数,当它每一次被调用时,将会返回一个不同的随机出现的数。

事实上,这些数是由一个确定性算法产生的,它们只是表现为随机。但是,如果产生它们的

算法足够复杂,那么应用于模拟中的这些数就足够地随机。

下面是一个简单随机数发生器的算法。它是利用大数求余的不可预知性。考虑下面的等

式。ni+1 = mod(8121ni + 28411, 134456)    (5.6)

假设ni 为非负整数,那么由于求余函数的关系,ni+1 只能在0 到13445 之间的整数中进

行取值。重复以上过程,得到的结果永远是在区间[0, 134455]中。如果我们事先不知道8121,

28411 和134456 这三个数你很可能猜测这个顺序是由n 值产生的。进一步说,它说明,所

有在0 到13445 之间的整数出现的次序是等可能性。由于这些属性,等式(5.6)可以当一

个简单的随机数发生器的基础。现在我们用公式(5.6)设计一个随机数发生器,它的输出是一个实数,其取值范围这[0.0, 1.0]。我们要编写一个函数,在每一次调用时,它能产生0≤ran<1.0 的随机数。随机数的产生将依赖于下面的公式。rani=ni/134456通过公式5.6ni,在0 到134455 之间进行取值。公式5.6,5.7 中产生的随机数的顺序取决于n0 的初始值(种子,seed)。我们要为用户提供一种途径,让它用于指定n0,这样每次运行这个函数得到的随机数顺序都是不一样的。

1.陈述问题

编写一个函数random0,使之产生一个数组,数组中包括一个或多个随机数,它的取值范围是0≤ran<1.0,它的顺序由公式5.6 和5.7 指定。函数应当有一个或多个输入参数(n m),用来指定返回数组的大小。如果它有一个参数,函数将产生一个n 阶方阵;如果有两个参数,函数将会产生一个n×m 的数组。种子n0 的初始值将会由函数seed 指定。

2.定义输入量和输出量

在这个问题中共有两个函数:seed 和random0。函数seed 的输入是一个整数。这个函数没有输出。random0 的输入量是一个或两个整数。如果它有一个参数,函数将产生一个n 阶方阵;如果有两个参数,函数将会产生一个n×m 的数组。这个函数的输出是由在0.0 和1.0之间的随机数组成的数组

3.定义算法

4.把算法转化为MATLAB 语句

.检测产生的MATLAB 程序


>> seed(1024)

>> random0(4)

ans =

0.0598 1.0000 0.0905 0.2060

0.2620 0.6432 0.6325 0.8392

0.6278 0.5463 0.7551 0.4554

0.3177 0.9105 0.1289 0.6230

>> random0(4)

ans =

0.2266 0.3858 0.5876 0.7880

0.8415 0.9287 0.9855 0.1314

0.0982 0.6585 0.0543 0.4256

0.2387 0.7153 0.2606 0.8922

>> seed(1024)

>> random0(4)

ans =

0.0598 1.0000 0.0905 0.2060

0.2620 0.6432 0.6325 0.8392

5.4 用全局内存分享数据 | 147

0.6278 0.5463 0.7551 0.4554

0.3177 0.9105 0.1289 0.6230

>> random0(2,3)

ans =

0.2266 0.3858 0.5876

0.7880 0.8415 0.9287

>> arr = random0(1,20000);

>> mean(arr)

ans =

0.5020

>> std(arr)

ans =

0.2881

>> hist(arr,10);

>> title('\bf Historygram of the Output of random0');

>> xlabel('Bin')

>> ylabel('Count')


Example 5.5

当我们键入一些变量总想得到他的统计量。MATLAB 内建函数mean 和std 就是进行统计数据运算的。我们对一系列的数利用这两个函数进行运算后,再键入一个新数,重新计算。这时我们就可以利用持久内存提高运算的效率。

标准差则体现随机变量取值与其期望值的偏差。标准差的值较大,则表明该随机变量的取值与其期望值的偏差较大,反之,则表明此偏差较小。如果我们能够记录下样本的个数N,样本的和Σxi 以及样本的平方和Σx2i ,我们在任何的时侯就可以通过公式(5.8)和(5.9)计算出它的平均数和标准差。编写一个程序,计算当前输入数据的当前输入数据的平均数和标准差。

函数必须能够每接受一次输入值并记录下对应的N,Σxi 和Σx2i ,用于计算当前的平均数和标准差。N,Σxi 和Σx2i 必须存储在持久内存中,这样在两次调用之间,它不会消失。最后函数必须有一种机制,把运行的和清零。

1.陈述问题

编写一个程序,计算当前输入数据的当前输入数据的平均数和标准差。函数必须有一种机制,把运行的和清零。

2.定义输入输出值

这个函数需要两种类型的输入量(1)字符型变量“reset”用于N,Σxi 和Σx2i 的清零(2)每一次调用函数用于参与运算的数字类型数据这个函数的输出量为到目前为止函数所接受的所有数字数据的数学期望和平方和。

(3)设计算法这个函数被分为四大步。

(4)把算法转化为MATLAB 代码:

function [ave, std] = runstats(x)

程序得到的结果为:


>> test_runstats

Enter number of values in data set: 5

Enter value 1: 3

Average = 3.0000; Std dev = 0.0000

Enter value 2: 2

Average = 2.5000; Std dev = 0.7071

Enter value 3: 3

Average = 2.6667; Std dev = 0.5774

Enter value 4: 4

Average = 3.0000; Std dev = 0.8165

Enter value 5: 2.8

Average = 2.9600; Std dev = 0.7127


Example 5.6

创建一个函数的函数,它能够画出所有只有一个自变量的MATLAB 函数的图象,自变量的范围是用户指定的始值和终值。这个函数有两个输入参数,第一个是要画的函数的函数名,第二个是两元素向量,它指明了画图的取值范围。

1.陈述问题

创建一个函数的函数,它能够画出所有只有一个自变量的MATLAB 函数的图象,自变量的范围由用户指定。

2.定义输入输出函数的输入有两个(1)包含有函数名的字符串(2)包含有起始值和终值的2 元素向量函数的输出是所要画的图象

3.设计算法这个函数可以分为4 大步:

Check for a legal number of arguments

Check that the second argument has two elements

Calculate the value of the function between the start and stop points

Plot and label the function

4.把算法转化为MATLAB 语句

function quickplot(fun,xlim)

检测程序为了检测这个程序,结果如下:


>> quickplot('sin')

??? Error using ==> quickplot

Not enough input arguments.

>> quickplot('sin', [-2*pi 2*pi], 3)

??? Error using ==> quickplot

Too many input arguments.

>> quickplot('sin', -2*pi)

??? Error using ==> quickplot

Incorrect number of elements in xlim.

>> quickplot('sin', [-2*pi 2*pi])


Example 5.7

在一个单个的文件中我们可以创建多个函数。如果超过 1 个的函数出现在一个文件中,那么最上面的那个函数为普通函数,下面的函数称为子函数或中间函数。子函数看起来和普通函数一样,但是只能被同一文件中的函数调用。

下面的例子定义了一个函数mystats 和两个子函数mean 和median。函数mystats 能被其

他的maltab 函数调用,但是子函数mean 和median 只能同一文件中的其他函数调用。

function [avg, med] = mystats(u)

更多相关推荐:
数学实验报告

西安交通大学数学实验报告高等数学实验报告MATLAB实验操作报告同组人髙加西20xx年04月10日电气工程学院电气工程与自动化专业电气12崔彧菲西安交通大学数学实验报告实验一非线性方程组求解一实验目的1熟悉MA...

数学实验实验报告

数学实验实验报告20xx20xx学年第1学期学生姓名学号院部数理学院专业班级任课教师实验报告1实验目的熟悉Mathematica软件包的使用实验内容1用两种方式编写如下自定义函数并求其导数fx在x20x10x5...

数学实验实验报告六答案

实验六实验项目名称优化实验时间20xx52620xx6220xx69实验地点理学实验楼525实验目的1掌握Matlab优化工具箱的基本用法利用优化工具包解线性规划和非线性规划的问题对不同算法作初步分析比较2练习...

数学实验实验报告模板

天水师范学院数学与统计学院实验报告实验项目名称所属课程名称实验类型线性代数实验实验日期班级学号姓名成绩12附录1源程序附录2实验报告填写说明1实验项目名称要求与实验教学大纲一致2实验目的目的要明确要抓住重点符合...

数学实验实验报告

数学与计算科学学院实验报告实验项目名称油价与船速的优化问题所属课程名称数学实验实验类型综合实验日期20xx922班级学号姓名成绩123附录2实验报告填写说明1实验项目名称要求与实验教学大纲一致2实验目的目的要明...

数学实验报告格式

《数学实验》实验报告(20##年03月30日)

《数学实验》实验报告

数学实验实验报告20xx年4月8日一实验问题1指派问题考虑指定n个人完成n项任务每人单独承担一项任务使所需的总完成时间成本尽可能短已知某指派问题的有关数据每人完成各任务所需的时间如下表所示试建模并求解该指派问题...

数学实验报告

数学实验报告实验序号1日期20xx年11月19日

数学实验“线性多步法(数值积分法,Taylor展开法)”实验报告(内含matlab程序)

西京学院数学软件实验任务书实验二十五实验报告一实验名称线性多步法数值积分法Taylor展开法二实验目的进一步熟悉线性多步法数值积分法Taylor展开法三实验要求运用MatlabCCJavaMapleMathem...

数学实验“线性方程组高斯消去法”实验报告(内含matlab程序)

西京学院数学软件实验任务书实验一实验报告一实验名称线性方程组高斯消去法二实验目的进一步熟悉理解Guass消元法解法思路提高matlab编程能力三实验要求已知线性方程矩阵利用软件求解线性方程组的解四实验原理消元过...

20xx秋数学实验 实验报告(1) 电子版

年级专业信息与计算科学10级姓名学号名单序号62实验时间20xx年10月16日使用设备软件PCMATLAB注实验报告的最后一部分是实验小结与收获实验1数据的统计描述与分析1计算1均值为2方差为025的正态分布在...

西安交大数学实验报告

数学实验报告题目四种特殊自然数编程作者学号班级1题目四种特殊自然数编程计算出所有的水仙花数完美数亲和数回文数2环境Windows系统PCMATLAB软件3问题分析1水仙花数若一个自然数的各位数字的立方和等于该数...

数学实验实验报告(35篇)