教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

MATLAB全部实验及答案(3)

来源:网络收集 时间:2026-08-24
导读: 数字和字符之间的转换函数 函 数 将数字转变成为字符串 将整数转变成为字符串 说 明 num2str int2str mat2str str2double str2num sprintf sscanf 将矩阵转变成为可被eval函数使用的字符串 将字符串转变为双精度类

数字和字符之间的转换函数

函 数 将数字转变成为字符串 将整数转变成为字符串 说 明

num2str int2str mat2str str2double str2num sprintf sscanf 将矩阵转变成为可被eval函数使用的字符串 将字符串转变为双精度类型的数据 将字符串转变为数字 格式化输出数据到命令行窗口 读取格式化字符串 不同数值之间的转换函数

函 数 hex2num hex2dec dec2hex bin2dec dec2bin base2dec dec2base 字 符 %c %d %e %E %f %g %G %o %s %u %x %X 说 明 将十六进制整数字符串转变成为双精度数据 将十六进制整数字符串转变成为十进制整数 将十进制整数转变成为十六进制整数字符串 将二进制整数字符串转变成为十进制整数 将十进制整数转变成为二进制整数字符串 将指定数制类型的数字字符串转变成为十进制整数 将十进制整数转变成为指定数制类型的数字字符串 说 明 显示内容为单一的字符 有符号的整数 科学技术法,使用小写的字符e 科学技术法,使用大写的字符E 浮点数据 不定,在%e或者%f之间选择一种形式 不定,在%E或者%f之间选择一种形式 八进制表示 字符串 无符号的整数 十六进制表示,使用小写的字符 十六进制表示,使用大写的字符 格式化字符 元胞数组的操作函数

cell cellfun celldisp cellplot cell2mat mat2cell num2cell deal 函 数 创建空的元胞数组 为元胞数组的每个元胞执行指定的函数 显示所有元胞的内容 利用图形方式显示元胞数组 11 将元胞数组转变成为普通的矩阵 将数值矩阵转变成为元胞数组 将数值数组转变成为元胞数组 将输入参数赋值给输出 说 明

在cellfun函数中可用的函数

函 数 isempty islogical isreal length ndims prodofsize 说 明 若元胞元素为空,则返回逻辑真 若元胞元素为逻辑类型,则返回逻辑真 若元胞元素为实数,则返回逻辑真 元胞元素的长度 元胞元素的维数 元胞元素包含的元素个数 结构操作函数

struct fieldnames getfield setfield rmfield isfield isstruct oderfields 函 数 获取结构的字段名称 获取结构字段的数据 设置结构字段的数据 删除结构的指定字段 判断给定的字符串是否为结构的字段名称 判断给定的数据对象是否为结构类型 将结构字段排序 说 明 创建结构或将其他数据类型转变成结构

三、主要仪器及耗材

计算机

四、实验内容和步骤

1、求[100,999]之间能被21整除的数的个数(提示:先利用冒号表达式,再利用find和length函数。) 答案:

>> t = [100:999]

>> i = find(rem(t,21)==0) >> length(i) ans = 43

2、建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。) >> a = 'dadaAf'

12

>> b = find(a>='A'&&a<='Z') >> a(b) = [] a = dadaf

3、写出使以下这段文字成为字符串的MATLAB指令。注意保持这段文字的格式。

在英式用法中,引号通常是单引号,如‘Fire!’。

In GB usage quotation marks are usually single: ‘fire!’ 答案:

>> disp('In GB usage quotation marks are usually single: ''fire!''')

4、用结构体数组来存储2名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和3门课程的成绩。

>>a = struct('num',{1,2},'name',{'mike','hike'}, 'major','tele','score', {rand(2,1)*100,rand(2,1) *100}); 5、建立矩阵A并回答有关问题

A{1,1}=1;

A{1,2}=’Brenden’; A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67};

1) 如何使用访问的方式将Brenden改写成BRENDEN? >> A{1,2}=upper(A{1,2}) A =

[ 1] 'BRENDEN' [3x3 double] {3x3 cell}

2) 分别执行A(3)=[]和A{3}=[]后,A的值各是多少?并说明原因。 >> A{3}=[] A =

[ 1] []

[3x3 double] {3x3 cell} >> A(3)=[]

A =

[1] [3x3 double] {3x3 cell}

6、利用MATLAB提供的rand函数和圆整函数随机生成4X3整数矩阵A,进行如下操作

1)A各列元素的平均值和中值 平均值

>> A_mean=mean(A)

13

A_mean =

0.5000 0.7500 0.7500

中值

>> A_median=median(A)

A_median =

0.5000 1.0000 1.0000

2)A的最大元素和最小元素及它们的位置 最大值

>> A_max=max(max(A)) A_max = 1 位置:

>> [x,y]=find(A==A_max) >> A_maxlocal=[x(1) y(1)] 最小值

>> A_min=min(min(A)) A_min = 0 位置:

>> [xx,yy]=find(A==A_min) >>A_minlocal=[xx(1) yy(1)]

3)求A的每行元素的和以及全部元素之和 >> A_rsum=sum(A,2)%行的和 >> A_sum=sum(sum(A))%全和

4)分别对A的每列元素按升序、每行元素按降序排列 >> A_rsort=abs(sort(-A,2))

五、实验注意事项

字符串函数的使用细节;对元胞数组中的元胞的访问;结构数组的创建方法。

六、思考题

访问元胞数组的两种操作符“{}”和“()”之间有什么不同? 使用“{}”直接获取元胞数组的元胞内容

使用“()”直接访问元胞数组的元胞,获取的数据也是一个元胞数组。

实验项目序号4 MATLAB循环结构程序设计

14

一、实验目的

1、掌握建立和执行M文件的方法;

2、掌握利用for语句和while语句实现循环结构的方法。

二、实验基本知识

MATLAB的M语言文件是纯文本格式的文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。运行meditor的方法非常简单,在MATLAB命令行窗口中键入下面的指令就可以打开meditor:

>> edit

这时MATLAB将启动meditor,然后创建一个未命名的空白文件。

这时用户就可以直接在编辑器中键入MATLAB指令,开发M语言文件了。M语言文件可以分为两类,其中一类是脚本文件,另外一类叫作函数文件。

脚本文件是最简单的一种M语言文件。所谓脚本文件,就是由一系列的MATLAB指令和命令组成的纯文本格式的M文件,执行脚本文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。脚本文件没有输入参数,也没有输出参数,执行起来就像早期的DOS操作系统的批处理文件一样,而脚本文件处理的数据或者变量必须在MATLAB的公共工作空间中。

脚本文件中常用的MATLAB指令

指 令 pause input keyboard return 说 明 暂停当前M文件的运行,按任意键继续 等待用户输入 暂停当前M文件的运行,并将程序控制权交还给MATLAB命令行,这时可以正常使用命令行,直到键入“return”并按回车键后,M文件才继续运行 返回当前的函数或者命令行 程序流程控制语句:

15

…… 此处隐藏:1679字,全部文档内容请下载后查看。喜欢就下载吧 ……
MATLAB全部实验及答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/443883.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)