(转载)从0开始学matlab(第6天)—数据文件与运算

news2024/11/22 16:26:13

1数据文件

        有许多的方法用于加载和保存 MATLAB 的数据文件,这些方法后面进行介绍。在这里我们只向大家介绍最简单的 save load 命令。
        save 命令用于保存当前 MATLAB 工作区内的数据到一个硬盘文件。这个命令的基本形式如下
save filename var1 var2 var3
        filename 代表你要保存变量的那个文件, var1,var2 等是要保存的变量。在默认情况下,这个这个文件的扩展名为‘ mat , 我们称之为 MAT 文件。如果在 filename 后面无变量,则工作区的所有内容将会被保存。
        MATLAB 用一种特殊的复杂形式来存储数据,包括了许许多多的细节,例如变量名和变量类型,数组的大小,以及所有变量值。一个在任何一个平台上创建的 MAT 文件(pc, mac, unix) 在另一个平台上都可以应用。它的缺点是 MAT 文件的存储格式不能被其他程序读取。如果一个数据必须由其他程序所读取,那么必须转化为 ASCII 码,并将这些数值写到一个以 ASCII 码为编码的文件中。但是,当以 ASCII 的形式存储,像变量名和变量类型这样的信息就会丢失,产生的数据结果将会更大。
        例如,假设数组 x 的定义如下
x=[1.23 3.14 6.28; -5.1 7.00 0];
        命令“save x.dat x -ascii ”将会创建一个文件 x.dat ,包括数据如下
1.2300000e+000 3.1400000e+000 6.2800000e+000 
-5.1000000e+000 7.0000000e+000 0.0000000e+000
        用这种格式定的数据能被其他语言编写的程序或扩展页读取,所以它能帮助 MATLAB程序和其他程序之间共享数据。
好的编程习惯
如果数据需要在 matlab 和其他程序之间交换使用,那么以 ASCII 格式存储数据。如果
只在 matlab 中使用那么,应以 mat 文件的形式存储数据。
        MATLAB 并不关心 ASCII 码的扩展名是什么?但是,用户最好用它的传统扩展名“ dat ”。
好的编程习惯
以“ dat ”的扩展名保存 ASCII 数据文件,以区别于以“ mat ”为扩展名的 mat 文件。
        Load 命令与 save 命令相反。它从硬盘文件加载数据到 MATLAB 当前工作区。这个命令的基本格式为
load filename
        filename 代表所加载文件的文件名。如果这个文件是 mat 文件,那么所有被加载的变量的变量名的变量类型将和原来一样。如果一个变量包含在工作区间窗口,那么这些数据将会被修复。
MATLAB 能够加载由其他程序创建的 ascii 格式的数据文件。它首先检查所要加载的文件是 mat 文件还是 ascii 文件。如果在 load 语句中加入­ ascii 中,则强制 MATLAB 把这个文件看作 ASCII 文件。这个文件的内容将会被转化为一个 MATLAB 的数组,这个数组名就所要加载的文件名。例如,假设一个名为 x.dat ascii 文件包括下列数据:
1.23 3.14 6.28 
-5.1 7.00 0
        那么“load x.dat ”将会在当前工作区创建一个 2 × 3 数组 x, 包含数据值。

标量运算和数组运算

        MATLAB 赋值语句中的计算,它的一般形式如下
variable_name = expression;

        赋值语句计算出等号右边表达式的值,然后赋值于等号左边的变量名。注意这个等号并不是传统意义上的等号,它的意义是:存储表达式的值到左边的变量,由于这个原因,等号在这里应叫做赋值号。像

ii = ii + 1;

        这样的语句在数学上是毫无意义的,但在 MATLAB 语言中,它有其固有的意义。它的意义是:把变量 ii 加上 1 之后,再把值存储到变量 ii 中。

2.1 标量运算符

        位于赋值号右边的表达式,可以包含标量,数组,括号和数学符号的任一个有效联合运算。两标量间的标准运算符号如表 1 所示。
表 1 两标量间的数学运算符
运算符代数形式MATLAB形式
加号A+BA+B
减号
A-BA-B
除号A÷BA/B
乘号A×BA*B
指数A^BA^BA^B

        当我们需要的时侯,我们可以运用括号来控制运算顺序。括号内的表达式优先于括号外的表达式来计算。例如表达式 2^((8+2)/5)的计算顺序如下

2 ^ ( ( 8 + 2 ) / 5 ) = 2 ^ ( 10 / 5 ) 
 = 2 ^ 2 
 = 4

2.2 数组运算和矩阵运算

        MATLAB 在数组运算中提供了两种不同类型的运算 , 一种是数组运算(array operations), 一种是矩阵运算 (matrix). 数组运算是一种用于元素对元素的运算 . 也就是说 ,这个运算是针对 两数组相对应的运算使用的 . 例如
        注意两数组的行与列必须相同.否则 ,MATLAB 将产生错误.
        数组运算可以用于数组与标量的运算. 当一个数组和一个标量进行运算时 ,标量将会和数组中的每一元素进行运算 . 例如
        相对地, 矩阵运算则遵守线性代数的一般规则 , 像矩阵的乘法 . 在线性代数中 ,c=a × b 的定义如下

        例如 

 

        注意,在矩阵相乘中,a 阵的列数必须等于 b 阵的行数。MATLAB 用一个特殊的符号来区分矩阵运算和数组运算。在需要区分两者不同的时侯,把点置于符号前来指示这是一个数组运算(例如, .* )。表 2 给出的是一些常见的数组和矩阵运算。
表2  常见的数组和矩阵运算

 

        初学者往往混淆数组运算和矩阵运算. 在一些情况下 ,两者相互替换会导致非法操作, MATLAB 将会报告产生了错误。在另一些情况下,两种运算都是合法的,那么这时 MATLAB 进行错误的运算,并产生错误的结果。当我们进行方阵运算时,极易产生这样的错误。两个方阵具有相同的大小,两者之间的数组运算和矩阵运算都是合法的,但产生的结果完全不同。在这种情况下,你要万分的小心。
常见编程错误
在你的 MATLAB 代码中,仔细区分数组运算和矩阵运算。数组乘法和矩阵乘法极易混淆。

3例子

         假设 a,b,c d 的定义如下

        分别指出下列表达式的运算结果 

        (a) a + b (b) a .* c (c) a * b (d) a * c
        (e) a + c (f) a + d (g) a .* d (h) a * d

        矩阵的左除运算有着十分重要意义,我们必须理解它。一个 3×3 的线性方程组的形式如下

        2.2 式的结果可以用线性代数的知识来解决。结果是

 

        因为左除运算 A\B 等价于 inv(A)*B,所以左除运算是解线性方程的好方法。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《拥抱AGI时代,电信日前省级电信公司的一次“非电信”培训》

数字信息基础设施是数字中国的关键底座,打通数字基础设施大动脉,建设数字中国成为推进中国式现代化的重要引擎。作为算力时代的探险家,出海浪潮的逐浪人,中国电信正全面融入数字经济建设大局,展现出新发展新格局下央企…

飞凌嵌入式技术帖——i.MX9352的GPIO怎么用?

之前小编为大家介绍过在飞凌嵌入式i.MX6ULL开发板上操作GPIO的方法。本期,让我们一起走近i.MX9352处理器,深入了解这位i.MX系列新成员的GPIO该如何操作,以及它与前辈i.MX6ULL处理器又有哪些异同。 01 硬件原理分析 以点灯和按键为例&#xf…

也谈零基础学编程,需要学什么

也谈零基础学编程,需要学什么 零基础人群语法1、注释2、变量2.1 变量命名2.2 数据类型2.3 类型强度 3、 运算符4、流程控制与代码块5、函数和方法6、类 算法学会使用第三方库小结 零基础人群 现在开发语言各种各样,越来越多,尤其是 python &…

算法训练-双指针

双指针 同向双指针3. 无重复字符的最长子串209. 长度最小的子数组713. 乘积小于 K 的子数组 相向双指针167. 两数之和 II - 输入有序数组15. 三数之和438. 找到字符串中所有字母异位词 滑动窗口接雨水 同向双指针 3. 无重复字符的最长子串 题目链接 class Solution { public:…

09——svg中path的使用

一、path 是 svg 中最强大的图形 用于定义一个 路径所有命令均允许小写字母。大写 表示绝对定位,小写 表示 相对定位 (相对于上一个结束的坐标)d 属性中包含所有路径的点,可根据命令缩写 自由组合 命令 名称 …

阿里云备案服务码是什么?备案服务码申请及限制说明

阿里云备案服务码是什么?ICP备案服务码怎么获取?阿里云备案服务码分为免费和付费两种,申请备案服务码是有限制条件的,需要你的阿里云账号下有可用于申请备案服务码的云产品,如云服务器、建站产品、虚拟主机等&#xff…

【刷题之路Ⅱ】LeetCode 475. 供暖器

【刷题之路Ⅱ】LeetCode 475. 供暖器 一、题目描述二、解题1、方法1——排序后二分法1.1、思路分析1.2、代码实现 2、方法2——排序后双指针2.1、思路分析2.2、代码实现 一、题目描述 原题连接: 475. 供暖器 题目描述: 冬季已经来临。 你的任务是设计一…

怎样能把两张照片拼成一张图片,5种工具分享

怎样能把两张照片拼成一张图片?图片拼合的应用场景是很多的。比如将几张相册中的照片拼成一张合影、将多个地图截图拼合在一起形成一个更大的区域地图、将多个漫画图像合并成一本漫画册等。这项技术可以方便地将多张图片整合为一张,节省时间和精力。 因此…

ThinkPHP6布局的方式之模板布局,全局配置方式,模板标签方式,动态方法布局

ThinkPHP6布局的方式之模板布局 ThinkPHP的模板引擎内置了布局模板功能支持,可以方便的实现模板布局以及布局嵌套功能。 有三种布局模板的支持方式:全局配置方式,模板标签方式,动态方法布局。 第一种方式:全局配置方…

有价值项目分享,缺项目可直接搜索(持续更新中)

​近来统计一下最近发的一些资源,包括CSDNB站微信公众号三个平台,仅包括Java资源(SSMSpringBootuniapp)、部分硬件、安卓资源,一共30758492588275个,可覆盖95%的毕业题目,大家可在相关归档内获取…

2023 年破解 PDF 密码的 5 种最佳方法

世界越来越依赖数字文档和信息存储。最流行和广泛使用的数字文档文件格式之一是便携式文档格式 (PDF)。PDF 文件用途广泛、可靠,并提供高级别的安全性以保护敏感信息免遭未经授权的访问。保护 PDF 的一种常用方法是通过密码保护。在这篇博文中,我们将讨论…

从SRM到采购供应链,云时通SRM助力东明实现采购数字化再升级!

随着制造业不断向高端跃升,十年来,中国制造企业早已具备全球领先水平。而引领制造业向数字化、网络化、智能化转型升级,是中国智造进一步跨越的关键。 1995年,浙江东明不锈钢制品股份有限公司(以下简称“东明”)成立,作…

超细!从零安装压测工具 jmeter(附JDK下载安装教程,20230516的JDK8最新版)

两步走,安装 JDK 和 jmeter,如果安装了JDK的同志可以直接看第二步。 针对的操作系统:Windows。 下载JDK 官网指路(处于稳定性考虑,安装的JDK8): Java Downloads | Oraclehttps://www.oracle.c…

Java配置方式使用Spring MVC

文章目录 基于Java配置方式使用Spring MVC一、创建Maven项目二、添加相关依赖三、创建日志属性文件四、创建首页文件五、创建Spring MVC配置类六、创建Web应用初始化配置类七、创建演示控制器八、配置Tomcat服务器九、启动服务器,查看效果 基于Java配置方式使用Spri…

「计算机网络」HTTP1.0、HTTP1.1和HTTP2.0的演变

「计算机网络」HTTP1.0、HTTP1.1和HTTP2.0的演变 参考&鸣谢 HTTP1.0、HTTP1.1、HTTP2.0的关系和区别 doubleYong 计算机网络_HTTP1.0、HTTP1.1和HTTP2.0的区别 一只前端小马甲 文章目录 「计算机网络」HTTP1.0、HTTP1.1和HTTP2.0的演变一、先说结论二、HTTP网络请求过程三…

【01】一步一步命令行输出VC hello world

一步一步命令行输出VC hello world 安装VS2022编写hello world程序配置cl.exe编译helloworld.cpp总结 安装VS2022 VS2022的安装程序下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 。下载完成之后点击程序会进入到选择安装VS2022组件的安装程序,…

小红的好数组陡峭值之和

题目如下 这个题我一开始是先生成满足0,1,2的全排列,但是n很大时很快就超出内存限制了,后来想到用动态规划的方法做,这里先分析一下。 n2时,有01,02,10,12,2…

自动化设备应用之样本手册

Lookbook,新品展示图,是时尚品牌的必备品。Lookbook既展示了新系列,也突出了品牌的基本调性。创建样本手册是释放创造力并从其他时装设计师中脱颖而出的机会。有吸引力的封面、精心策划的图像、精巧的布局、颜色标识和传达风格都是品牌内容传…

建构筑物安全监测

监测要求 1)观测点应设置在观测段结构构件的控制断面上; 2)平面应力状态的结构应力观测宜设置三向应变观测点,主应力方向明晩的部位可设置单向或两向应变观测点; 3)建筑物的重要部位应增设观测点; 4&am…

ControlNet让SD变得可控

ControlNet是一个用于深度神经网络的控制技术,它可以通过操作神经网络块的输入条件来控制神经网络的行为。在这里,“网络块”是指常用的神经层集合,例如“resnet”块、“conv-bn-relu”块、多头注意力块等。通过克隆神经网络块的参数并应用零…