一、实验目的
1.熟悉MATLAB软件使用
2.进行字符串的输入输出练习
3.练习元胞数组的创建、查看和更改
4.结构数组的创建,加入元胞数组并查看
二、实验设备
装有MATLAB的计算机。
三、实验内容
四、实验步骤和结果
1.代码
clear,A='Dalian maritime is not far from seaside';
p=findstr(A,'si')%findstr的使用
b='please input your name';
B=input(b,'s')%input 使用输入的字母以字符串形式放入B
x='1';
y=x+1%字符对应的数字加1y2=str2num(x)+1%字符转化为数字加1 1.运算结果:
p =
36%si出现于36位置
please input your name My name is hanmeiqi B =
My name is hanmeiqi
y =
50
y2 =
2
2.代码
clear
B{1, 1}=('2220172652');
B{1, 2}='韩美奇';
B{2, 1}=zeros(3,3);
B{2, 2}={12,34;56,78};%元胞数组
a=size(B);%计算单元数组维度
b1=B{1,2}%大括号能查看内容
b2=B(1,2)%小括号查看数据结构b3=B{2}%相当于B{2,1}
b4=B{4}%相当于B{2,2}
b5=B(2)
b6=B(4)
I1=eye(size(B{2, 1}))%创建和B{2, 1}维度相同的单位矩阵
C1=B{2, 1}+I1
B{2,1}=C1%对数据完成修改
D=B(2,2)%数据结构属性
C2=cell2mat(B{2, 2})%将单元数组转化为单精度数值矩阵
I2=eye(size(C2))
E=C2+I2
B{2, 2}=num2cell(E)%将计算后矩阵送回单元数组
B{2,2}%显示输出
2.运算结果b1 =
韩美奇
b2 =
cell
'韩美奇'
b3 =
0 0 0
0 0 0
0 0 0 b4 =
2×2 cell 数组
[12] [34]
[56] [78]
b5 =
cell
[3×3 double]b6 =
cell
{2×2 cell}
I1 =
1 0 0
0 1 0
0 0 1
C1 =
1 0 0
0 1 0
0 0 1
D =
cell
{2×2 cell}
C2 =
12 34
56 78
I2 =
1 0
0 1
E =
13 34
56 79
B =
2×2 cell 数组
'2220172652' '
韩美奇'
[3×3 double]
{2×2 cell}
ans =
2×2 cell 数组
[13] [34]
[56] [79]
3.代码
clear
student(1).number='2002567 32';
student(1).name='张山'; student(1).ma='铸造'; student(1).course=['高等数学','大学物理','计算机','英语'];
student(1).grade=[78,88,92,8 9];
student(2).number='2002334 12';
student(2).name='李思'; student(2).ma='机械'; student(2).course=['高等数学','大学物理','计算机','英语'];
student(2).grade=[93,91,87,7 9];
student(3).number='2001281 09';
student(3).name='王武'; student(3).ma='建筑'; student(3).course=['高等数学','大学物理','计算机','英语'];
student(3).grade=[68,74,98,9 2];
student(4).number='2002353 30';
student(4).name='刘培'; student(4).ma='电子'; student(4).course=['高等数学','大学物理','计算机','英语'];
student(4).grade=[95,93,88,9 0];
class=cell(1);class{1,1}=student
celldisp(class)
class{1}(1)
class{1}(2)
class{1}(3)
class{1}(4)
3.运行结果
class =
cell
[1×4 struct]
class{1} =
包含以下字段的1×4
struct 数组:%查看元胞数组
数据结构
number
name
ma
course
grade
ans =
包含以下字段的struct:
number: '200256732'
name: '张山'
ma: '铸造'
course: '高等数学大学
物理计算机英语'
grade: [78 88 92 89]
ans =
包含以下字段的struct:
number: '200233412'
name: '李思'
ma: '机械'
course: '高等数学大学
物理计算机英语'
grade: [93 91 87 79]
ans =
包含以下字段的struct:
number: '200128109'
name: '王武'
ma: '建筑'
course: '高等数学大学
物理计算机英语'
grade: [68 74 98 92]
ans =
包含以下字段的struct:
number: '200235330'
name: '刘培'
ma: '电子'
course: '高等数学大学
物理计算机英语'
grade: [95 93 88 90]
五、总结
1.熟悉了字符串的创建和里面特定字符的查找。
注意字符串在存储时下标从1开始(和C语言的数组存储不同)
2.单元数组的创建有多种方式,单元数组中的大括号和小括号对应的作用不同,注意区别。
练习了单元数组内嵌套单元数组的修改,提取-修改-送回。
3.练习了结构数组的创建,并且添加进单元数组中,进行显示。