null第二章: 结构矩阵和稀疏矩阵
(2.7和2.8节)第二章: 结构矩阵和稀疏矩阵
(2.7和2.8节)姚吉利
Ysy_941123@sdut.edu.cn
建筑
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
学院测绘系上节主要内容回顾上节主要内容回顾构造对角矩阵、矩阵的转置、矩阵的逆、秩、条件数、特征值和特征向量。
矩阵加、减、乘
sort、det、rank、trace、cond、mean、std、dot、cross
字符串处理函数。upper、strcat、strcmp、findstr、str2num、int2str、num2str.
本节主要内容本节主要内容结构数据的意义;
结构矩阵的建立和引用;
结构成员的修改;
稀疏矩阵的应用
1、引入结构数据的意义MATLAB通过使用结构(structure)数据类型,把一组不同类型但又是在逻辑上相关的数据组成一个有机整体,便于管理和引用。如全站仪和GPSRTK观测数据格式:点号、ID,X,Y,H,CODE,类型不同,但都是描述一个点(几何位置和属性),要放一起进行处理。
‘23,T02,78354.344,89342.333,437.557,0203’
每一个结构矩阵(Structure Array)可以包含很多个元素,每一个元素可以看成是一个数据。因此每个元素可以包含域(Fields)。1、引入结构数据的意义nullNIKON全站仪的数据结构
13,80253.8280,50217.7410,45.8970,D30
24,80234.5080,50215.7800,46.1130,DG
25,80216.5830,50211.5710,46.2830,H
GPSRTK观测的数据结构
89,79708.155,50282.579,65.745,D87
90,79691.916,50278.890,66.738,D89
91,79672.513,50274.457,67.839,D91
92,79655.687,50270.593,68.775,D932、结构数据和建立和引用2、结构数据和建立和引用建立全站仪和GPSRTK观测的数据结构
点号、ID,X,Y,H,CODE。第一种方法:
如23,T02,78354.344,89342.333,437.557,0203
clear total % 清除 total 变量
total.name = ‘23’; % 加入 name
total.x =78354.344; %加入X坐标
total.y =89342.333; %加入Y坐标
total.h =437.557; %加入高程
total.code =‘0203’; %加入高程结构矩阵描述结构矩阵描述total:称为结构矩阵名
name,x,y,h,code称为total的成员,第一个成员名是name、第二个成员名是x……………..
建立结构矩阵的赋值格式为:
结构矩阵名.成员名=
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式null建立全站仪和GPSRTK观测的数据结构的
第二种方法:
clear total % 清除 total 变量
total(1) = struct(‘name’, ‘23’, ‘x’, 78354.344,‘y’, 89342.333,’h’, 437.557,’code’, ‘0203’); %一个表达式赋完值
第三种方法:
clear total % 清除 total 变量
total2(1) = struct(‘name’, ‘23’, ‘xyh’, [78354.344,89342.333,437.557,’code’, ‘0203’); %成员xyh定义为一个矩阵
nulltotal(1)叫什么呢?
total(1)叫做total(1)的第一个元素。(有的语言称为一个
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
,矩阵中的第一行)
>> total(1)
ans =
name: '23'
id: 'T02'
x: 7.8354e+004
y: 8.9342e+004
h: 437.5570
code: '0203'
结构矩阵的修改和删除结构矩阵的修改和删除结构矩阵的修改
>> total(1).x=76434.455
结构矩阵的删除元素
结构矩阵名.成员名(元素序号)=[]
>> total(1)=[] %删除第一个元素(记录)
结构矩阵成员的删除和增加
>> rmfields(total,’code’)
>> total(2).code=‘T04’)
结构矩阵的引用>> total(1).x
ans =
7.8354e+004
结构矩阵的引用
规则
编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf
是
结构矩阵名.成员名(元素序号)┙
num2str(total(1).x)
ans =
78354.344
可见:字符输出要比数值输出好,习惯!视觉舒服!结构矩阵的引用3、CAT指令(并排输出)3、CAT指令(并排输出)MATLAB 提供了 cat 指令,以达到「并排域值」的目的,其语法为:A = cat(dim, structureField)
其中,dim 代表并排后所改变的维度。例如,一次要输出2个点坐标:
93,79629.174,50264.642,70.268,D95
94,79607.239,50259.710,71.824,D97结构矩阵的高级操作(了解)在进行「并排」时,必须确认被并排的域值有相同的行数(上下并排)或列数(左右并排),否则就会因为维度不和而产生错误信息。
若要计算平均坐标
>> average1 = mean(cat(1, total.xyh))
若要把 xyh 域值进行左右合并,可以输入如下:>> allxyh = [total.xyh]
结构矩阵的高级操作(了解)控制网平差的几个典型结构控制网平差的几个典型结构%结构体survey(qdm=起点名 zdm=终点名 gcha=高差观测值 line=水准路线长度 qdgc=起点高程 zdgc=终点高程 qdh=起点号 zdh=终点号 quan=权 gcgj=高差估计值 surveyw=高差平差值中误差)
%结构体height(dm=点名 gc=高程 surveyw=高程中误差)控制网平差的几个典型结构控制网平差的几个典型结构GPS三维网平差的结构矩阵
%结构体survey(qdm=起点名 zdm=终点名 qdh=起点号 zdh=终点号 bc=边长 qdx=起点X qdy=起点Y qdz=起点Z zdx=终点X zdy=终点Y zdz=终点Z)
%结构体coor(dm=点名 dh=点号 x=X坐标 y=Y坐标 z=Z坐标 xwc=X坐标中误差 ywcX坐标中误差 zwcX坐标中误差 dwwc点位中误差)2.8单元数据和稀疏矩阵2.8单元数据和稀疏矩阵单元矩阵(Cell Arrays奇异矩阵)
将不同的资料性能储存于同一个矩阵之中,主要内容是建立奇异矩阵、显示奇异矩阵和取用奇异矩阵
稀疏矩阵指大量元素为0的矩阵,为了节省计算机内存空间,MATLAB能处理一种数据结构(本节属了解内容)2.7.2单元数据(奇异矩阵)
-- 使用大括号 {}建立,查看与矩阵相同2.7.2单元数据(奇异矩阵)
-- 使用大括号 {}建立,查看与矩阵相同第三种方法是直接用大括号一次把所有元素括起來。表示不同的数据类型和不同大小的矩阵>> B = {'James Bond', [1 2;3 4;5 6]; pi, magic(5)}
>> C = {rand(3), ones(2); zeros(5), randperm(4)}
B = 'James Bond' [3x2 double]
[ 3.1416] [5x5 double]
C = [3x3 double] [2x2 double]
[5x5 double] [1x4 double]
2.8稀疏矩阵2.8稀疏矩阵稀疏矩阵指大量元素为0的矩阵,为了节省
计算机内存空间,MATLAB能处理一种数据
结构(本节属了解内容)。主要用于较大规
模的控制网平差,如光束法空中三角测量,上100点的GPS网平差等。
本节介绍稀疏矩阵存储方式nullB=[-1 0 0 0 0 0 0 0 0;0 -1 0 0 0 0 0 0 0;
0 0 -1 0 0 0 0 0 0;0 0 0 0 0 0 -1 0 0;
0 0 0 0 0 0 0 -1 0;0 0 0 0 0 0 0 0 -1; 1 0 0 0 0 0 -1 0 0;0 1 0 0 0 0 0 -1 0; 0 0 1 0 0 0 0 0 -1;1 0 0 -1 0 0 0 0 0; 0 1 0 0 -1 0 0 0 0;0 0 1 0 0 -1 0 0 0; 0 0 0 1 0 0 -1 0 0;0 0 0 0 1 0 0 -1 0; 0 0 0 0 0 1 0 0 -1];%某水准网,15个观测高差,8个未知点。B中区有135个元素,24个非0元素,0元素比例82.2%>> a=sparse(B)>> a=sparse(B) (1,1) -1
(7,1) 1
(10,1) 1
(2,2) -1
(8,2) 1
(11,2) 1
(3,3) -1
(9,3) 1
(12,3) 1
(10,4) -1
(13,4) 1
(11,5) -1
(14,5) 1
(12,6) -1
(15,6) 1
(4,7) -1
(7,7) -1
(13,7) -1
(5,8) -1
(8,8) -1
(14,8) -1
(6,9) -1
(9,9) -1
(15,9) -1a=
实验三:结构矩阵实验三:结构矩阵上机主要内容:
建立一个结构矩阵,手工输入最少四个全站仪测量点(结构名称用自己的姓名拼音);
用一个字符矩阵存放四个点数据,每行一个点,用findstr()找出逗号位置,取出每个数据项(点号、X,Y,H,CODE),把相应的字符变成数值,存入结构矩阵中。
结构矩阵的操作(查看和修改删除等)
把坐高程作为一个成员进行操作,并建立第二种结构矩阵
计算平均坐标