Matrix软件操作说明
- 格式:doc
- 大小:852.50 KB
- 文档页数:30
题目:探索C++中的Matrix3D用法与应用序言C++是一种广泛应用于软件开发领域的编程语言,其强大的性能和灵活性使得它成为了许多领域的首选语言之一。
而在C++中,Matrix3D 作为一个重要的数据结构,在许多领域中都有着广泛的应用。
本文将深入探讨C++中Matrix3D的相关知识,从基础的概念到高级应用,帮助读者全面理解其用法与应用。
一、Matrix3D的基本概念在C++中,Matrix3D是一个三维的矩阵结构,它由行和列组成,用于表示三维空间中的变换和旋转。
Matrix3D中的元素可以表示空间中的平移、旋转、缩放等变换,是实现三维图形学和计算机视觉算法的重要基础。
了解Matrix3D的基本概念对于掌握C++中的三维编程至关重要。
二、Matrix3D的创建和初始化在C++中,我们可以使用数组或动态内存分配的方式来创建和初始化Matrix3D。
通过合适的初始化,我们可以为Matrix3D赋予特定的数学含义和几何意义,从而实现不同的空间变换和仿射变换。
在实际应用中,不同的初始化方法往往对应着不同的数学模型和算法,因此选择适合的初始化方法对于实现特定的功能非常重要。
三、Matrix3D的操作和运算Matrix3D作为一个矩阵结构,支持多种基本的矩阵运算,如加法、减法、乘法等。
这些运算不仅可以用来表示空间变换,还可以应用于解决实际问题,比如三维图形的变换和投影、物体的运动和碰撞检测等。
在实际编程中,熟练掌握Matrix3D的操作和运算对于提高代码的效率和性能至关重要。
四、Matrix3D在计算机图形学中的应用在计算机图形学中,Matrix3D有着广泛的应用。
它可以用来表示三维空间中的几何变换、物体的旋转和平移、相机的视角和投影等。
通过Matrix3D的变换,我们可以实现三维场景的渲染和显示,从而为用户呈现逼真的三维图形效果。
在实际开发中,熟练掌握Matrix3D在计算机图形学中的应用对于实现高质量的三维图形效果至关重要。
目录一、Matrix简介 (1)1.1 打开程序 (1)1.2 菜单栏介绍 (1)二、创建Matrix过程 (3)2.1 创建一个新项目和新的系统元素 (3)2.2 开始创建系统Matrix (4)2.3 创建组件Matrix (8)2.4 创建元件Matrix (9)2.5 规格编辑器(specification edit) (10)三、使用优先级对功能或结构进行分析 (11)四、其它操作技巧 (12)4.1 删除系统元素 (12)4.2 使用已有系统元素 (13)4.3 功能重用 (14)4.4 查找系统元素 (15)一、Matrix模块简介SCIO-Matrix模块可以对产品进行系统的结构功能分析,为后两个模块Net-Builder和FMEA提供基础。
本手册将以Iphone4s为例对Matrix模块操作步骤进行讲解。
注:在软件中进行任何操作后无需手动保存,所有数据变动都会自动保存到数据库。
1.1 打开程序从开始菜单中找到SCIO-Matrix程序()并打开,会出现以下登录界面:默认数据库是本地,输入用户名及密码(默认用户名和密码皆为plato)即可进入Matrix 模块。
1.2 菜单栏介绍1.2.1 The Application bar ()点击此图标可以在最右侧看到三个部分:Documents,SCIO,Plug-ins。
其中documents栏下面,可以显示最近打开过的系统元素或者创建新的系统元素;SCIO 栏下面,有SCIO软件的各个模块图标,点击即可切换到该模块;Plug-ins栏下则是一些插件程序。
如若想隐藏最右侧栏,再次点击The Application bar ()图标即可。
1.2.2 Structure tree(结构树)和function tree(功能树)点击图标,则会打开结构树,如上图(左)所示,会显示所有项目及系统元素;点击图标,则会打开功能树,如上图(右)所示,会显示元素的所有功能。
CueStation入门指导本文章将着重描写如何利用Matrix3多声道演出音频控制系统来制作一幕幕充满想像力的音频场景,简单的描述了Matrix3系统操作软件CueStation的基本操作。
简单的来说,通过Matrix3系统完成一个演出的音频场景,需要完成下面几个步骤:1.系统硬件配置2.音频文件的导入3.音响场景的设计4.制作场景Cue5.按照演出顺序制作场景列表6.根据需要为各个场景制作时间码或者用MIDI等于灯光等设备联系1.系统硬件配置这里主要介绍只有一台主机的情况下,如何进行配置:如上图所示,从左到右的模块插口中,模块A/B/C是输入输出接口,可以根据您的需求定制数字AES/EBU输入输出,也可以定制CobraNet输入输出。
插口0是主DSP模块,如果您是一个单主机系统,请通过拨号按键把这个号码拨成01,插口1/2可以是扩展DSP模块,和主DSP模块一样,扩展DSP模块也有两个单位的拨号,可以根据您的需要拨到任何不重复的号码。
插口3所显示的模块是ELC模块,我们可以通过这个模块来连接安装有CueStation的PC 或者Mac电脑来对Matrix3系统进行控制,下面的SCSI硬盘接口是用来连接WildTracks多轨重放硬盘。
插口4是Link连接模块,Matrix3音频演出控制系统的主机可以通过这个模块进行连接获得更多的输入输出,支持256输入/400输出。
插口X是同步通讯控制模块接口,这个模块通过RS-422/232接口与CueMixer或者AMX 等中央控制系统连接,MIDI接口支持接受MIDI时间码,支持MSC。
SMPTE输入输出接口支持直接接受与发送SMPTE时间码,从而方便与灯光、烟火、视频等控制进行同步。
如果您的主机如上图所设置,那么我们来看一看这台机器的硬件配置:Slot A 话筒/线路模拟输入模块Slot B 模拟输出模块Slot C 模拟输出模块Slot 0 主DSP模块,号码为01Slot 1 扩展DSP模块,号码为11Slot 2 扩展DSP模块,号码为10Slot 3 ELC控制模块Slot 4 连接模块Slot X 同步通讯控制模块接着我们可以打开Matrix3主机,这时候我们需要注意主机的前面板,等待一段时间后,就会显示这个机器的MAC码和IP,我们需要把安装有CueStation的电脑设置到和Matrix3在同一个网段。
LABEL MATRIX中文使用简明手册
•基本界面和操作步骤
•设置打印机
•标签的设置
•条码的输入
•计数器的的设置
条码机和其它PC打印机一样只是作为电脑的一个终端设备,不过它的驱动程序不象PC 打印机那样被内置于操作系统中,而是由厂家直接提供获得或从一些全世界通用的条码设计软件如Label Matrix、code soft、Bartender和Label view等中取得。
下面就TEC条码机在Label Matrix软件中的一些简单应用做如下介绍:
步骤1:选择创建新的标签
步骤2:点击“NEXT”
步骤3:点击“Finish”
步骤4:则会出现Label Matrix软件的主设计窗口
步骤5:添加一般的常量文本
步骤6 :添加一些如计数器Counter类型(流水号)
步骤7:添加条码
步骤8:对于标签页面的设计修改,鼠标双击页面能弹出该对话框
这个对话框的参数输入请对照上图
步骤9:添加常用的直线、方行和椭圆
备注:设计中还可调入诸如*.bmp, *.pcx的图形
步骤10:现在说说打印时的参数的设置
步骤11:有关标签的版面调整。
文档名称 文档密级
2013-1-8 华为保密信息,未经授权禁止扩散 第11页, 共11页。
Matrix软件操作说明一. 软件系统设置1.通讯设置通讯设置目的是为了选不同的端口,对端口通讯速率,及矩阵系统网络号进行设置,只有在与矩阵系统速率相同的情况下才能进行通信.窗口界面:具体操作如下.1.单击工具栏的"通讯方式"按钮,进入通讯方式设置窗口2.选择当前软件的通讯方式,"使用本地串口"用485线与电脑相连,远程透明串口,用IP模块通信3.选择相应的"串口","波特率".4.选择"使用远程透明串口",使用网络设备进行通信.选择对应的网络设备.5.单击"确定" 保存设置附:虚拟键盘涉及到网络号操作,在此进行设置.2.矩阵类型窗口界面具体操作1.单击"软件系统设置"->"矩阵类型",进入矩阵类型界面2.选择"矩阵类型"(此类型关系到当前所读取矩阵数据的正确性,请务必选择对应的矩阵型号).3.单击"确定" 保存设置3.修改密码窗口界面具体操作1.单击"软件系统设置"->"修改密码",进入修改密码界面2.输入"旧密码",并确认输入新密码3.单击"确定" 保存设置4.登陆/登出为防止他人任意更改系统设置,系统提供此功能,在拥有管理员权限的情况下方可操作系统.其界面如下:二. 矩阵系统设置1.时间设置设置矩阵系统时间.窗口界面具体操作:1.单击"矩阵系统设置"->"时间设置",2.进入"时间设置"界面3.可单击"同步系统时间"按钮,与计算机系统同步时间4.也可手工设置矩阵时间.5.单击"确定",保存设置2.云台协议设置云台协议窗口界面具体操作:1.单击"矩阵系统设置"->"云台协议",2.进入"云台协议"设置界面3.选择"云台协议",和对应的通信速率.4.单击"确定",保存设置3.网络编号设置矩阵系统网络号窗口界面具体操作:1.单击"矩阵系统设置"->"网络编号",2.进入"网络编号"界面3.选择"网络编号4.单击"确定",保存设置4. 键盘数量设置矩阵系统键盘数量窗口界面具体操作:1.单击"矩阵系统设置"->"键盘数量",2.进入"键盘数量"界面3.选择"键盘数量"4.单击"确定",保存设置三. 标题与显示1. 摄像机标题设置窗口界面具体操作1.单击"标题与显示"->"摄像机标题" 或工具栏上的"摄像机标题"按钮,进入摄像机标题设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 监示器标题窗口界面具体操作1.单击"标题与显示"->"监示器标题" 或工具栏上的"监示器标题"按钮,进入"监示器标题"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 屏幕位置设置监示器标题/时间显示位置窗口界面具体操作:1.单击"标题与显示"->屏幕位置" ;2.进入"屏幕位置"界面;3.拖动"屏幕位置"按钮到适当位置;4.单击"确定"保存设置;5.重启矩阵系统,使设置生效.4. 标题位置设置监示器标题/时间显示位置窗口界面具体操作:1.单击"标题与显示"->标题位置"2.进入"标题位置"界面.3.拖动"标题位置"按钮到适当位置4.单击"确定"保存设置5.重启矩阵系统,使设置生效5. 时间位置设置监示器标题/时间显示位置窗口界面具体操作:1.单击"标题与显示"->时间位置" ;2.进入"时间位置"界面;3.拖动"时间位置"按钮到适当位置;4.单击"确定"保存设置;5.重启矩阵系统,使设置生效.四. 切换1. 程序切换窗口界面具体操作1.单击"切换"->"程序切换" 或工具栏上的"程序切换"按钮,进入程序切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置2. 同步切换窗口界面具体操作1.单击"切换"->"同步切换" 或工具栏上的"同步切换"按钮,进入同步切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置3. 群组切换窗口界面具体操作1.单击"切换"->"群组切换" 或工具栏上的"群组切换"按钮,进入群组切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置五. 权限1. 键盘/监示器窗口界面具体操作1.单击"权限"->"键盘/监示器" ,进入"键盘/监示器"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 键盘/摄像机窗口界面具体操作1.单击"权限"->"键盘/摄像机" 进入"键盘/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 监示器/摄像机窗口界面具体操作1.单击"权限"->"监示器/摄像机" ,进入"监示器/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.4. 键盘/报警窗口界面具体操作1.单击"权限"->"键盘/报警" ,进入"键盘/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.5. 网络/键盘窗口界面具体操作1.单击"权限"->"网络/键盘" ,进入"网络/键盘"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.六. 报警1报警联动窗口界面具体操作1.单击"报警"->"报警联动" ,进入"报警联动"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 自动设防窗口界面具体操作1.单击"报警"->"自动设防" ,进入"自动设防"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 历史报警窗口界面具体操作1.单击"报警"->"历史报警" ,进入"历史报警"界面;2.系统自动读取矩阵系统历史报警记录;3.可单击"刷新"按钮重新读取矩阵系统数据.4. 报警端口设置窗口界面具体操作:1.单击"报警"->"报警端口设置" ;2.进入"报警端口设置"界面 ;3.选择"报警端口" ;4.单击"确定",保存设置.5. 设防/撤防状态窗口界面具体操作1.单击"报警"->"设防/撤防状态" ,进入"设防/撤防状态"界面;2.系统自动读取矩阵系统历史报警记录;3.可单击"刷新"按钮重新读取矩阵系统数据;七. 键盘设置1. 虚拟键盘虚拟键盘是为了方便用户在计算机系统操纵矩阵设计的.功能与矩阵键盘类似.可通过虚拟键盘对矩阵进行,摄像机切换等操作. 窗口界面八. 常见问题下位机无响应:可能存在以下几种情况:1.连接线路太长或线路质量存在问题.数据无法接收.2.系统波特率与矩阵主机波特率不一至.系统波特率可通过"通讯方式"进行设置;3.矩阵主机系统软件被破坏,可与厂商联系,进行系统升级.可读矩阵数据,但无法写入矩阵:1.线路或转接器存在问题.请更换好一点的通信设备.虚拟键盘无法操作:1.网络号或波特率与矩阵系统不相符;解决方法参看“通讯设置”2.线路质量问题。
操作指南 02月2020年PCS7,Logic Matrix ,使用入门/CN/view/zh/109778800C o p y r i g h t S i e m e n s A G C o p y r i g h t y e a r A l l r i g h t s r e s e r v e d目录1PCS7 Logic Matrix 概述 ..................................................................................... 3 1.1 PCS7 Logic Matrix 概述 (3)2本例的联锁功能介绍 ............................................................................................ 4 2.1本例的联锁功能介绍 (4)3新建Logic Matrix................................................................................................ 5 3.1 新建项目并创建所需的过程标签 ........................................................... 5 3.2 新建Logic Matrix .................................................................................. 6 3.3编辑Logic Matrix 属性 (7)4 组态Logic Matrix................................................................................................ 8 4.1 直接链接“Direct connection” ................................................................. 8 4.2 选择输入/输出变量 “Select Input/Output tag” .................................... 13 4.2.1 增加links ............................................................................................ 13 4.2.2 选择输入/输出变量 .............................................................................. 14 4.2.3 增加更多links ..................................................................................... 16 4.2.4 增加更多原因(Cause )/结果(Effect ) ........................................... 18 4.3组 态Logic Matrix 矩阵交叉点(Intersection ) (20)5 生成 CFCs ......................................................................................................... 21 6操作员站进行Logic Matrix 测试与操作 (22)C o p y r i g h t S i e m e n s A G C o p y r i g h t y e a r A l l r i g h t s r e s e r v e d1PCS7 Logic Matrix 概述1.1PCS7 Logic Matrix 概述PCS7 Logic Matrix 是一个创建和监控逻辑矩阵的工具。
在使用本产品之前,请务必先仔细阅读本使用说明书。
请务必妥善保管好本书,以便日后能随时查阅。
请在充分理解内容的基础上,正确使用。
【爱护地球,蓝眼用心】本手册采用环保打印,如需电子文件请向代理商或蓝眼科技客服中心免费索取。
矩阵控制软件使用手册Version 1.5.11.52015/11/11使用手册本手册适用于以下产品蓝眼Matrix矩阵控制软件感谢您使用蓝眼科技的产品。
本手册将介绍蓝眼科技产品。
在您开始使用产品前,建议您先阅读过本手册。
手册里的信息在出版前虽已被详细确认,实际产品规格仍将以出货时为准。
蓝眼科技对本手册中的内容无任何担保、宣告或暗示,以及其他特殊目的。
除此之外,对本手册中所提到的产品规格及信息仅供参考,内容亦可能会随时更新,恕不另行通知。
本手册中所提的信息,包括软件、韧体及硬件,若有任何错误,蓝眼科技没有义务为其担负任何责任。
任何产品规格或相关信息更新请您直接到蓝眼科技官方网站查询,本公司将不另行通知。
若您想获得蓝眼科技最新产品讯息、使用手册、韧体,或对蓝眼科技产品有任何疑问,请您联络当地供货商或到蓝眼科技官方网站取得相关讯息。
本手册的内容非经蓝眼科技以书面方式同意,不得擅自拷贝或使用本手册中的内容,或以其他方式改变本手册的数据及发行。
本手册相关产品内容归蓝眼科技版权所有蓝眼科技地址:404台湾台中市北区文心路四段200号7楼之3电话:+886 4 2297-0977 / +886 982 842-977传真:+886 4 2297-0957E-mail:********************.tw网站:目录1. 準備 (3)1.1 硬體與架構圖............................................................................................ 錯誤! 尚未定義書籤。
1.2 相容表........................................................................................................ 錯誤! 尚未定義書籤。
Matrix软件操作说明一. 软件系统设置1.通讯设置通讯设置目的是为了选不同的端口,对端口通讯速率,及矩阵系统网络号进行设置,只有在与矩阵系统速率相同的情况下才能进行通信.窗口界面:具体操作如下.1.单击工具栏的"通讯方式"按钮,进入通讯方式设置窗口2.选择当前软件的通讯方式,"使用本地串口"用485线与电脑相连,远程透明串口,用IP模块通信3.选择相应的"串口","波特率".4.选择"使用远程透明串口",使用网络设备进行通信.选择对应的网络设备.5.单击"确定" 保存设置附:虚拟键盘涉及到网络号操作,在此进行设置.2.矩阵类型窗口界面具体操作1.单击"软件系统设置"->"矩阵类型",进入矩阵类型界面2.选择"矩阵类型"(此类型关系到当前所读取矩阵数据的正确性,请务必选择对应的矩阵型号).3.单击"确定" 保存设置3.修改密码窗口界面具体操作1.单击"软件系统设置"->"修改密码",进入修改密码界面2.输入"旧密码",并确认输入新密码3.单击"确定" 保存设置4.登陆/登出为防止他人任意更改系统设置,系统提供此功能,在拥有管理员权限的情况下方可操作系统.其界面如下:二. 矩阵系统设置1.时间设置设置矩阵系统时间.窗口界面具体操作:1.单击"矩阵系统设置"->"时间设置",2.进入"时间设置"界面3.可单击"同步系统时间"按钮,与计算机系统同步时间4.也可手工设置矩阵时间.5.单击"确定",保存设置2.云台协议设置云台协议窗口界面具体操作:1.单击"矩阵系统设置"->"云台协议",2.进入"云台协议"设置界面3.选择"云台协议",和对应的通信速率.4.单击"确定",保存设置3.网络编号设置矩阵系统网络号窗口界面具体操作:1.单击"矩阵系统设置"->"网络编号",2.进入"网络编号"界面3.选择"网络编号4.单击"确定",保存设置4. 键盘数量设置矩阵系统键盘数量窗口界面具体操作:1.单击"矩阵系统设置"->"键盘数量",2.进入"键盘数量"界面3.选择"键盘数量"4.单击"确定",保存设置三. 标题与显示1. 摄像机标题设置窗口界面具体操作1.单击"标题与显示"->"摄像机标题" 或工具栏上的"摄像机标题"按钮,进入摄像机标题设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 监示器标题窗口界面具体操作1.单击"标题与显示"->"监示器标题" 或工具栏上的"监示器标题"按钮,进入"监示器标题"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 屏幕位置设置监示器标题/时间显示位置窗口界面具体操作:1.单击"标题与显示"->屏幕位置" ;2.进入"屏幕位置"界面;3.拖动"屏幕位置"按钮到适当位置;4.单击"确定"保存设置;5.重启矩阵系统,使设置生效.4. 标题位置设置监示器标题/时间显示位置窗口界面具体操作:1.单击"标题与显示"->标题位置"2.进入"标题位置"界面.3.拖动"标题位置"按钮到适当位置4.单击"确定"保存设置5.重启矩阵系统,使设置生效5. 时间位置设置监示器标题/时间显示位置窗口界面具体操作:1.单击"标题与显示"->时间位置" ;2.进入"时间位置"界面;3.拖动"时间位置"按钮到适当位置;4.单击"确定"保存设置;5.重启矩阵系统,使设置生效.四. 切换1. 程序切换窗口界面具体操作1.单击"切换"->"程序切换" 或工具栏上的"程序切换"按钮,进入程序切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置2. 同步切换窗口界面具体操作1.单击"切换"->"同步切换" 或工具栏上的"同步切换"按钮,进入同步切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置3. 群组切换窗口界面具体操作1.单击"切换"->"群组切换" 或工具栏上的"群组切换"按钮,进入群组切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置五. 权限1. 键盘/监示器窗口界面具体操作1.单击"权限"->"键盘/监示器" ,进入"键盘/监示器"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 键盘/摄像机窗口界面具体操作1.单击"权限"->"键盘/摄像机" 进入"键盘/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 监示器/摄像机窗口界面具体操作1.单击"权限"->"监示器/摄像机" ,进入"监示器/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.4. 键盘/报警窗口界面具体操作1.单击"权限"->"键盘/报警" ,进入"键盘/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.5. 网络/键盘窗口界面具体操作1.单击"权限"->"网络/键盘" ,进入"网络/键盘"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.六. 报警1报警联动窗口界面具体操作1.单击"报警"->"报警联动" ,进入"报警联动"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 自动设防窗口界面具体操作1.单击"报警"->"自动设防" ,进入"自动设防"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 历史报警窗口界面具体操作1.单击"报警"->"历史报警" ,进入"历史报警"界面;2.系统自动读取矩阵系统历史报警记录;3.可单击"刷新"按钮重新读取矩阵系统数据.4. 报警端口设置窗口界面具体操作:1.单击"报警"->"报警端口设置" ;2.进入"报警端口设置"界面 ;3.选择"报警端口" ;4.单击"确定",保存设置.5. 设防/撤防状态窗口界面具体操作1.单击"报警"->"设防/撤防状态" ,进入"设防/撤防状态"界面;2.系统自动读取矩阵系统历史报警记录;3.可单击"刷新"按钮重新读取矩阵系统数据;七. 键盘设置1. 虚拟键盘虚拟键盘是为了方便用户在计算机系统操纵矩阵设计的.功能与矩阵键盘类似.可通过虚拟键盘对矩阵进行,摄像机切换等操作. 窗口界面八. 常见问题下位机无响应:可能存在以下几种情况:1.连接线路太长或线路质量存在问题.数据无法接收.2.系统波特率与矩阵主机波特率不一至.系统波特率可通过"通讯方式"进行设置;3.矩阵主机系统软件被破坏,可与厂商联系,进行系统升级.可读矩阵数据,但无法写入矩阵:1.线路或转接器存在问题.请更换好一点的通信设备.虚拟键盘无法操作:1.网络号或波特率与矩阵系统不相符;解决方法参看“通讯设置”2.线路质量问题。
2nd Introduction to the Matrix packageMartin Maechler and Douglas BatesR Core Development Team******************.ethz.ch,*******************September2006(typeset on August11,2023)AbstractLinear algebra is at the core of many areas of statistical computing and from its inception the S lan-guage has supported numerical linear algebra via a matrix data type and several functions and operators,such as%*%,qr,chol,and solve.However,these data types and functions do not provide direct accessto all of the facilities for efficient manipulation of dense matrices,as provided by the Lapack subroutines,and they do not provide for manipulation of sparse matrices.The Matrix package provides a set of S4classes for dense and sparse matrices that extend the basic matrix data type.Methods for a wide variety of functions and operators applied to objects from theseclasses provide efficient access to BLAS(Basic Linear Algebra Subroutines),Lapack(dense matrix),CHOLMOD including AMD and COLAMD and Csparse(sparse matrix)routines.One notable char-acteristic of the package is that whenever a matrix is factored,the factorization is stored as part of theoriginal matrix so that further operations on the matrix can reuse this factorization.1IntroductionThe most automatic way to use the Matrix package is via the Matrix()function which is very similar to the standard R function matrix(),>library(Matrix)>M<-Matrix(10+1:28,4,7)>M4x7Matrix of class"dgeMatrix"[,1][,2][,3][,4][,5][,6][,7][1,]11151923273135[2,]12162024283236[3,]13172125293337[4,]14182226303438>tM<-t(M)Such a matrix can be appended to(using cbind()or rbind())or indexed,>(M2<-cbind(-1,M))4x8Matrix of class"dgeMatrix"[,1][,2][,3][,4][,5][,6][,7][,8][1,]-111151923273135[2,]-112162024283236[3,]-113172125293337[4,]-1141822263034381>M[2,1][1]12>M[4,][1]14182226303438where the last two statements show customary matrix indexing,returning a simple numeric vector each1. We assign0to some columns and rows to“sparsify”it,and some NA s(typically“missing values”in data analysis)in order to demonstrate how they are dealt with;note how we can“subassign”as usual,for classical R matrices(i.e.,single entries or whole slices at once),>M2[,c(2,4:6)]<-0>M2[2,]<-0>M2<-rbind(0,M2,0)>M2[1:2,2]<-M2[3,4:5]<-NAand then coerce it to a sparse matrix,>sM<-as(M2,"sparseMatrix")>10*sM6x8sparse Matrix of class"dgCMatrix"[1,].NA......[2,]-10NA150 (310350)[3,]...NA NA...[4,]-10.170 (330370)[5,]-10.180 (340380)[6,]........>identical(sM*2,sM+sM)[1]TRUE>is(sM/10+M2%/%2,"sparseMatrix")[1]TRUEwhere the last three calls show that multiplication by a scalar keeps sparcity,as does other arithmetic, but addition to a“dense”object does not,as you might have expected after some thought about“sensible”behavior:>sM+106x8Matrix of class"dgeMatrix"[,1][,2][,3][,4][,5][,6][,7][,8][1,]10NA101010101010[2,]9NA251010104145[3,]101010NA NA101010[4,]910271010104347[5,]910281010104448[6,]10101010101010101because there’s an additional default argument to indexing,drop=TRUE.If you add“,drop=FALSE”you will get submatrices instead of simple vectors.2Operations on our classed matrices include(componentwise)arithmetic(+,−,∗,/,etc)as partly seen above,comparison(>,≤,etc),e.g.,>Mg2<-(sM>2)>Mg26x8sparse Matrix of class"lgCMatrix"[1,].N......[2,]:N|...||[3,]...N N...[4,]:.|...||[5,]:.|...||[6,]........returning a logical sparse matrix.When interested in the internal str ucture,str()comes handy,and we have been using it ourselves more regulary than print()ing(or show()ing as it happens)our matrices; alternatively,summary()gives output similar to Matlab’s printing of sparse matrices.>str(Mg2)Formal class'lgCMatrix'[package"Matrix"]with6slots..@i:int[1:16]1340113422.....@p:int[1:9]0358910101316..@Dim:int[1:2]68..@Dimnames:List of2....$:NULL....$:NULL..@x:logi[1:16]FALSE FALSE FALSE NA NA TRUE.....@factors:list()>summary(Mg2)6x8sparse Matrix of class"lgCMatrix",with16entriesi j x121FALSE241FALSE351FALSE412NA522NA623TRUE743TRUE853TRUE934NA1035NA1127TRUE1247TRUE1357TRUE1428TRUE1548TRUE1658TRUEAs you see from both of these,Mg2contains“extra zero”(here FALSE)entries;such sparse matrices may be created for different reasons,and you can use drop0()to remove(“drop”)these extra zeros.This should never matter for functionality,and does not even show differently for logical sparse matrices,but the internal structure is more compact:3>Mg2<-drop0(Mg2)>str(Mg2@x)#length 13,was 16logi [1:13]NA NA TRUE TRUE TRUE NA ...For large sparse matrices,visualization (of the sparsity pattern)is important,and we provide image()methods for that,e.g.,>data(CAex,package ="Matrix")>print(image(CAex,main ="image(CAex)"))#print(.)needed for Sweaveimage(CAex)Dimensions: 72 x 72Column R o w204060204060−0.4−0.20.00.20.40.60.81.0Further,i.e.,in addition to the above implicitly mentioned "Ops"operators (+,*,...,<=,>,...,&which all work with our matrices,notably in conjunction with scalars and traditional matrices),the "Math"-operations (such as exp(),sin()or gamma())and "Math2"(round()etc)and the "Summary"group of functions,min(),range(),sum(),all work on our matrices as they should.Note that all these are implemented via so called group methods ,see e.g.,?Arith in R .The intention is that sparse matrices remain sparse whenever sensible,given the matrix classes and operators involved,but not content specifically. E.g.,<sparse>+<dense>gives <dense>even for the rare cases where it would be advantageous to get a <sparse>result.These classed matrices can be “indexed”(more technically “subset”)as traditional S language (and hence R )matrices,as partly seen above.This also includes the idiom M [M op num ]which returns simple vectors,>sM[sM >2][1]NA NA 151718NA NA 313334353738>sml <-sM[sM <=2]>sml [1]0-10-1-10NA NA 000000000NA[24]NA 0000000and “subassign”ment similarly works in the same generality as for traditional S language matrices.41.1Matrix package for numerical linear algebraLinear algebra is at the core of many statistical computing techniques and,from its inception,the S language has supported numerical linear algebra via a matrix data type and several functions and operators,such as %*%,qr,chol,and solve.Initially the numerical linear algebra functions in R called underlying Fortran routines from the Linpack(Dongarra et al.,1979)and Eispack(Smith et al.,1976)libraries but over the years most of these functions have been switched to use routines from the Lapack(Anderson et al.,1999) library which is the state-of-the-art implementation of numerical dense linear algebra.Furthermore,R can be configured to use accelerated BLAS(Basic Linear Algebra Subroutines),such as those from the Atlas(Whaley et al.,2001)project or other ones,see the R manual“Installation and Administration”.Lapack provides routines for operating on several special forms of matrices,such as triangular matrices and symmetric matrices.Furthermore,matrix decompositions like the QR decompositions produce multiple output components that should be regarded as parts of a single object.There is some support in R for operations on special forms of matrices(e.g.the backsolve,forwardsolve and chol2inv functions)and for special structures(e.g.a QR structure is implicitly defined as a list by the qr,qr.qy,qr.qty,and related functions)but it is not as fully developed as it could be.Also there is no direct support for sparse matrices in R although Koenker and Ng(2003)have developed the SparseM package for sparse matrices based on SparseKit.The Matrix package provides S4classes and methods for dense and sparse matrices.The methods for dense matrices use Lapack and BLAS.The sparse matrix methods use CHOLMOD(Davis,2005a), CSparse(Davis,2005b)and other parts(AMD,COLAMD)of Tim Davis’“SuiteSparse”collection of sparse matrix libraries,many of which also use BLAS.Todo:triu(),tril(),diag(),...and as(.,.),but of course only when they’ve seen a few different ones.Todo:matrix operators include%*%,crossprod(),tcrossprod(),solve()Todo:expm()is the matrix exponential......Todo:symmpart()and skewpart()compute the symmetric part,(x+t(x))/2and the skew-symmetric part,(x-t(x))/2of a matrix x.Todo:factorizations include Cholesky()(or chol()),lu(),qr()(not yet for dense)Todo:Although generally the result of an operation on dense matrices is a dgeMatrix,certain operations return matrices of special types.Todo: E.g.show the distinction between t(mm)%*%mm and crossprod(mm).2Matrix ClassesThe Matrix package provides classes for real(stored as double precision),logical and so-called“pattern”(binary)dense and sparse matrices.There are provisions to also provide integer and complex(stored as double precision complex)matrices.Note that in R,logical means entries TRUE,FALSE,or NA.To store just the non-zero pattern for typical sparse matrix algorithms,the pattern matrices are binary,i.e.,conceptually just TRUE or FALSE.In Matrix, the pattern matrices all have class names starting with"n"(patter n).2.1Classes for dense matricesFor the sake of brevity,we restrict ourselves to the real(d ouble)classes,but they are paralleled by l ogical and patter n matrices for all but the positive definite ones.dgeMatrix Real matrices in general storage modedsyMatrix Symmetric real matrices in non-packed storagedspMatrix Symmetric real matrices in packed storage(one triangle only)5dtrMatrix Triangular real matrices in non-packed storagedtpMatrix Triangular real matrices in packed storage(triangle only)dpoMatrix Positive semi-definite symmetric real matrices in non-packed storagedppMatrix ditto in packed storageMethods for these classes include coercion between these classes,when appropriate,and coercion to the matrix class;methods for matrix multiplication(%*%);cross products(crossprod),matrix norm(norm); reciprocal condition number(rcond);LU factorization(lu)or,for the poMatrix class,the Cholesky decom-position(chol);and solutions of linear systems of equations(solve).Whenever a factorization or a decomposition is calculated it is preserved as a(list)element in the factors slot of the original object.In this way a sequence of operations,such as determining the condition number of a matrix then solving a linear system based on the matrix,do not require multiple factorizations of the same matrix nor do they require the user to store the intermediate results.2.2Classes for sparse matricesUsed for large matrices in which most of the elements are known to be zero(or FALSE for logical and binary (“pattern”)matrices).Sparse matrices are automatically built from Matrix()whenever the majority of entries is zero(or FALSE respectively).Alternatively,sparseMatrix()builds sparse matrices from their non-zero entries and is typically recommended to construct large sparse matrices,rather than direct calls of new().Todo: E.g.model matrices created from factors with a large number of levelsTodo:or from spline basis functions(e.g.COBS,package cobs),etc.Todo:Other uses include representations of graphs.indeed;good you mentioned it!particularly since we still have the interface to the graph package.I think I’d like to draw one graph in that article—maybe the undirected graph corresponding to a crossprod()result of dimension ca.502Todo:Specialized algorithms can give substantial savings in amount of storage used and execution time of operations.Todo:Our implementation is based on the CHOLMOD and CSparse libraries by Tim Davis.2.3Representations of sparse matrices2.3.1Triplet representation(TsparseMatrix)Conceptually,the simplest representation of a sparse matrix is as a triplet of an integer vector i giving the row numbers,an integer vector j giving the column numbers,and a numeric vector x giving the non-zero values in the matrix.2In Matrix,the TsparseMatrix class is the virtual class of all sparse matrices in triplet representation.Its main use is for easy input or transfer to other classes.As for the dense matrices,the class of the x slot may vary,and the subclasses may be triangular, symmetric or unspecified(“general”),such that the TsparseMatrix class has several3‘actual”subclasses,the most typical(numeric,general)is dgTMatrix:>getClass("TsparseMatrix")#(i,j,Dim,Dimnames)slots are common to allVirtual Class"TsparseMatrix"[package"Matrix"]Slots:2For efficiency reasons,we use“zero-based”indexing in the Matrix package,i.e.,the row indices i are in0:(nrow(.)-1)and the column indices j accordingly.3the3×3actual subclasses of TsparseMatrix are the three structural kinds,namely t riangular,s ymmetric and g eneral, times three entry classes,d ouble,l ogical,and patter n.6Name:i j Dim DimnamesClass:integer integer integer listExtends:Class"sparseMatrix",directlyClass"Matrix",by class"sparseMatrix",distance2Class"mMatrix",by class"Matrix",distance3Class"replValueSp",by class"Matrix",distance3Known Subclasses:"ngTMatrix","ntTMatrix","nsTMatrix","lgTMatrix","ltTMatrix", "lsTMatrix","dgTMatrix","dtTMatrix","dsTMatrix">getClass("dgTMatrix")Class"dgTMatrix"[package"Matrix"]Slots:Name:i j Dim Dimnames x factorsClass:integer integer integer list numeric listExtends:Class"TsparseMatrix",directlyClass"dsparseMatrix",directlyClass"generalMatrix",directlyClass"dMatrix",by class"dsparseMatrix",distance2Class"sparseMatrix",by class"dsparseMatrix",distance2Class"compMatrix",by class"generalMatrix",distance2Class"Matrix",by class"TsparseMatrix",distance3Class"xMatrix",by class"dMatrix",distance3Class"mMatrix",by class"Matrix",distance4Class"replValueSp",by class"Matrix",distance4Note that the order of the entries in the(i,j,x)vectors does not matter;consequently,such matrices are not unique in their representation.42.3.2Compressed representations:CsparseMatrix and RsparseMatrixFor most sparse operations we use the compressed column-oriented representation(virtual class CsparseMatrix) (also known as“csc”,“compressed sparse column”).Here,instead of storing all column indices j,only the start index of every column is stored.Analogously,there is also a compressed sparse row(csr)representation,which e.g.is used in in the SparseM package,and we provide the RsparseMatrix for compatibility and completeness purposes,in ad-dition to basic coercion((as(.,<cl>)between the classes.These compressed representations remove the redundant row(column)indices and provide faster access to a given location in the matrix because you only need to check one row(column).There are certain advantages5to csc in systems like R,Octave and Matlab where dense matrices are stored in column-major order,therefore it is used in sparse matrix libraries such as CHOLMOD or CSparse 4Furthermore,there can be repeated(i,j)entries with the customary convention that the corresponding x entries are addedto form the matrix element m ij.5routines can make use of high-level(“level-3”)BLAS in certain sparse matrix computations7of which we make use.For this reason,the CsparseMatrix class and subclasses are the principal classes for sparse matrices in the Matrix package.The Matrix package provides the following classes for sparse matrices ...FIXME many more —maybe ex plain naming scheme?...dgTMatrix general,numeric,sparse matrices in (a possibly redundant)triplet form.This can be a conve-nient form in which to construct sparse matrices.dgCMatrix general,numeric,sparse matrices in the (sorted)compressed sparse column format.dsCMatrix symmetric,real,sparse matrices in the (sorted)compressed sparse column format.Only theupper or the lower triangle is stored.Although there is provision for both forms,the lower triangle form works best with TAUCS.dtCMatrix triangular,real,sparse matrices in the (sorted)compressed sparse column format.Todo:Can also read and write the Matrix Market and read the Harwell-Boeing representations.Todo:Can convert from a dense matrix to a sparse matrix (or use the Matrix function)but going through an intermediate dense matrix may cause problems with the amount of memory required.Todo:similar range of operations as for the dense matrix classes.3More detailed examples of “Matrix”operationsHave seen drop0()above,showe a nice double example (where you see “.”and “0”).Show the use of dim<-for resizing a (sparse)matrix.Maybe mention nearPD().Todo:Solve a sparse least squares problem and demonstrate memory /speed gain Todo:mention lme4and lmer(),maybe use one example to show the matrix sizes.4Notes about S4classes and methods implementationMaybe we could give some glimpses of implementations at least on the R level ones?Todo:The class hierarchy:a non-trivial tree where only the leaves are “actual”classes.Todo:The main advantage of the multi-level hierarchy is that methods can often be defined on a higher (virtual class)level which ensures consistency [and saves from “cut &paste”and forgetting things]Todo:Using Group Methods5Session Info>toLatex(sessionInfo())•R version 4.3.1Patched (2023-08-09r84931),x86_64-pc-linux-gnu•Locale:LC_CTYPE=de_CH.UTF-8,LC_NUMERIC=C ,LC_TIME=en_US.UTF-8,LC_COLLATE=C ,LC_MONETARY=en_US.UTF-8,LC_MESSAGES=de_CH.UTF-8,LC_PAPER=de_CH.UTF-8,LC_NAME=C ,LC_ADDRESS=C ,LC_TELEPHONE=C ,LC_MEASUREMENT=de_CH.UTF-8,LC_IDENTIFICATION=C •Time zone:Europe/Zurich •TZcode source:system (glibc)•Running under:Fedora Linux 36(Thirty Six)•Matrix products:default8•BLAS:/u/maechler/R/D/r-patched/F36-64-inst/lib/libRblas.so•LAPACK:/usr/lib64/liblapack.so.3.10.1•Base packages:base,datasets,grDevices,graphics,methods,stats,utils•Other packages:Matrix1.6-1•Loaded via a namespace(and not attached):compiler4.3.1,grid4.3.1,lattice0.21-8,tools4.3.1 ReferencesE.Anderson,Z.Bai,C.Bischof,S.Blackford,J.Demmel,J.Dongarra,J.Du Croz,A.Greenbaum,S.Ham-marling,A.McKenney,and PACK Users’Guide.SIAM,Philadelphia,PA,3rd edition, 1999.Tim Davis.CHOLMOD:sparse supernodal Cholesky factorization and update/downdate. http://www.cise.ufl.edu/research/sparse/cholmod,2005a.Tim Davis.CSparse:a concise sparse matrix package.http://www.cise.ufl.edu/research/sparse/CSparse, 2005b.Jack Dongarra,Cleve Moler,Bunch,and G.W.Stewart.Linpack Users’Guide.SIAM,1979.Roger Koenker and Pin Ng.SparseM:A sparse matrix package for R.J.of Statistical Software,8(6),2003.B.T.Smith,J.M.Boyle,J.J.Dongarra,B.S.Garbow,Y.Ikebe,V.C.Klema,and C.B.Moler.Matrix Eigensystem Routines.EISPACK Guide,volume6of Lecture Notes in Computer Science.Springer-Verlag, New York,1976.R.Clint Whaley,Antoine Petitet,and Jack J.Dongarra.Automated empirical optimization of software and the ATLAS project.Parallel Computing,27(1–2):3–35,2001.Also available as University of Tennessee LAPACK Working Note#147,UT-CS-00-448,2000(/lapack/lawns/lawn147.ps).9。
Matrix软件操作说明一. 软件系统设置1.通讯设置通讯设置目的是为了选不同的端口,对端口通讯速率,及矩阵系统网络号进行设置,只有在及矩阵系统速率相同的情况下才能进行通信.窗口界面:具体操作如下.1.单击工具栏的"通讯方式"按钮,进入通讯方式设置窗口2.选择当前软件的通讯方式,"使用本地串口"用485线及电脑相连,远程透明串口,用IP模块通信3.选择相应的"串口","波特率".4.选择"使用远程透明串口",使用网络设备进行通信.选择对应的网络设备.5.单击"确定" 保存设置附:虚拟键盘涉及到网络号操作,在此进行设置.2.矩阵类型窗口界面具体操作1.单击"软件系统设置"->"矩阵类型",进入矩阵类型界面2.选择"矩阵类型"(此类型关系到当前所读取矩阵数据的正确性,请务必选择对应的矩阵型号).3.单击"确定" 保存设置3.修改密码窗口界面具体操作1.单击"软件系统设置"->"修改密码",进入修改密码界面2.输入"旧密码",并确认输入新密码3.单击"确定" 保存设置4.登陆/登出为防止他人任意更改系统设置,系统提供此功能,在拥有管理员权限的情况下方可操作系统.其界面如下:二. 矩阵系统设置1.时间设置设置矩阵系统时间.窗口界面具体操作:1.单击"矩阵系统设置"->"时间设置",2.进入"时间设置"界面3.可单击"同步系统时间"按钮,及计算机系统同步时间4.也可手工设置矩阵时间.5.单击"确定",保存设置2.云台协议设置云台协议窗口界面具体操作:1.单击"矩阵系统设置"->"云台协议",2.进入"云台协议"设置界面3.选择"云台协议",和对应的通信速率.4.单击"确定",保存设置3.网络编号窗口界面具体操作:1.单击"矩阵系统设置"->"网络编号",2.进入"网络编号"界面3.选择"网络编号4.单击"确定",保存设置4. 键盘数量窗口界面具体操作:1.单击"矩阵系统设置"->"键盘数量",2.进入"键盘数量"界面3.选择"键盘数量"4.单击"确定",保存设置三. 标题及显示1. 摄像机标题设置窗口界面具体操作1.单击"标题及显示"->"摄像机标题" 或工具栏上的"摄像机标题"按钮,进入摄像机标题设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 监示器标题窗口界面具体操作1.单击"标题及显示"->"监示器标题" 或工具栏上的"监示器标题"按钮,进入"监示器标题"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 屏幕位置设置监示器标题/时间显示位置窗口界面具体操作:2.进入"屏幕位置"界面;3.拖动"屏幕位置"按钮到适当位置;4.单击"确定"保存设置;5.重启矩阵系统,使设置生效.4. 标题位置设置监示器标题/时间显示位置窗口界面具体操作:2.进入"标题位置"界面.3.拖动"标题位置"按钮到适当位置4.单击"确定"保存设置5.重启矩阵系统,使设置生效5. 时间位置设置监示器标题/时间显示位置窗口界面1.单击"标题及显示"->时间位置" ;2.进入"时间位置"界面;3.拖动"时间位置"按钮到适当位置;4.单击"确定"保存设置;5.重启矩阵系统,使设置生效.四. 切换1. 程序切换窗口界面1.单击"切换"->"程序切换" 或工具栏上的"程序切换"按钮,进入程序切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置2. 同步切换窗口界面具体操作1.单击"切换"->"同步切换" 或工具栏上的"同步切换"按钮,进入同步切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置3. 群组切换窗口界面具体操作1.单击"切换"->"群组切换" 或工具栏上的"群组切换"按钮,进入群组切换设置界面,2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示,3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机.4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机.5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.6.单击"上一页","下一页",可查看不同的切换设置五. 权限1. 键盘/监示器窗口界面具体操作1.单击"权限"->"键盘/监示器" ,进入"键盘/监示器"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 键盘/摄像机窗口界面具体操作1.单击"权限"->"键盘/摄像机" 进入"键盘/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 监示器/摄像机窗口界面具体操作1.单击"权限"->"监示器/摄像机" ,进入"监示器/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.4. 键盘/报警窗口界面具体操作1.单击"权限"->"键盘/报警" ,进入"键盘/摄像机"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.5. 网络/键盘窗口界面具体操作1.单击"权限"->"网络/键盘" ,进入"网络/键盘"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.六. 报警1报警联动窗口界面具体操作1.单击"报警"->"报警联动" ,进入"报警联动"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.2. 自动设防窗口界面具体操作1.单击"报警"->"自动设防" ,进入"自动设防"设置界面;2.单击"读矩阵"按钮,系统从矩阵主机读取数据并显示;3.单击"写矩阵"按钮,系统将当前页数据写入矩阵主机;4.单击"读数据库",系统从数据库中读取数据,同时也可将数据库中设置的数据,写入矩阵,也可将数据写回矩阵主机;5.单击"写数据库",将当前页数据写回数据库,以备日后查看,维护.3. 历史报警窗口界面具体操作1.单击"报警"->"历史报警" ,进入"历史报警"界面;2.系统自动读取矩阵系统历史报警记录;3.可单击"刷新"按钮重新读取矩阵系统数据.4. 报警端口设置窗口界面具体操作:1.单击"报警"->"报警端口设置" ;2.进入"报警端口设置"界面 ;3.选择"报警端口" ;4.单击"确定",保存设置.5. 设防/撤防状态窗口界面具体操作1.单击"报警"->"设防/撤防状态" ,进入"设防/撤防状态"界面;2.系统自动读取矩阵系统历史报警记录;3.可单击"刷新"按钮重新读取矩阵系统数据;七. 键盘设置1. 虚拟键盘虚拟键盘是为了方便用户在计算机系统操纵矩阵设计的.功能及矩阵键盘类似.可通过虚拟键盘对矩阵进行,摄像机切换等操作.窗口界面八. 常见问题下位机无响应:可能存在以下几种情况:1.连接线路太长或线路质量存在问题.数据无法接收.2.系统波特率及矩阵主机波特率不一至.系统波特率可通过"通讯方式"进行设置;3.矩阵主机系统软件被破坏,可及厂商联系,进行系统升级.可读矩阵数据,但无法写入矩阵:1.线路或转接器存在问题.请更换好一点的通信设备.虚拟键盘无法操作:1.网络号或波特率及矩阵系统不相符;解决方法参看“通讯设置”2.线路质量问题。