matlab新手入门(二)(翻译)
矩阵和数组
MATLAB是“矩阵实验室”的缩写。虽然其他编程语言大多数一次使用数字,但MATLAB®主要用于整个矩阵和数组。
所有MATLAB变量都是多维数组,无论数据类型如何。矩阵是通常用于线性代数的二维数组。
阵列创建
要在单个行中创建具有四个元素的数组,请使用逗号(,)或空格分隔元素。
a = [1 2 3 4]
返回
a =
1 2 3 4
这种类型的数组是行向量。
要创建具有多行的矩阵,请使用分号分隔行。
a = [1 2 3; 4 5 6; 7 8 10]
a =
1 2 3
4 5 6
7 8 10
创建矩阵的另一种方法是使用一个函数,如ones,zeros或者rand。例如,创建一个5×1列的零向量。
z = zeros(5,1)
z =
0
0
0
0
0
矩阵和数组运算
MATLAB允许您使用单个算术运算符或函数处理矩阵中的所有值。
a + 10
ans =
11 12 13
14 15 16
17 18 20
sin(a)
ans =
0.8415 0.9093 0.1411
-0.7568 -0.9589 -0.2794
0.6570 0.9894 -0.5440
要转置矩阵,请使用单引号('):
a'
ans =
1 4 7
2 5 8
3 6 10
您可以使用*运算符执行标准矩阵乘法,该乘法运算行和列之间的内积。例如,确认矩阵乘以其逆返回单位矩阵:
p = a * inv(a)
p =
1.0000 0 -0.0000
0 1.0000 0
0 0 1.0000
请注意,p不是整数值的矩阵。 MATLAB将数字存储为浮点值,算术运算对实际值与浮点数表示之间的小差异敏感。您可以使用format命令显示更多的十进制数字:
format long
p = a*inv(a)
p =
1.000000000000000 0 -0.000000000000000
0 1.000000000000000 0
0 0 0.999999999999998
将显示重新设置为较短的格式
format short
格式仅影响数字的显示,而不是MATLAB计算或保存的方式。
要执行元素乘法而不是矩阵乘法,请使用.*运算符:
p = a.*a
p =
1 4 9
16 25 36
49 64 100
用于乘法,除法和幂的矩阵运算符都具有以元素方式操作的相应的数组运算符。例如,将a的每个元素提升到第三个幂:
a.^3
ans =
1 8 27
64 125 216
343 512 1000
级联
级联是连接数组以制作较大的数组的过程。事实上,你通过级联其各个元素来形成第一个数组。一对方括号[]是连接运算符。
A = [a, a]
A =
1 2 3 1 2 3
4 5 6 4 5 6
7 8 10 7 8 10
使用逗号将数组相互连接称为“水平级联”。每个数组必须具有相同的行数。类似地,当数组具有相同数量的列时,可以使用分号垂直连接。
A = [a; a]
A =
1 2 3
4 5 6
7 8 10
1 2 3
4 5 6
7 8 10
复数
复数具有实部和虚部。
sqrt(-1)
ans =
0.0000 + 1.0000i
要表示复数的虚部,请使用i或j。
c = [3+4i, 4+3j; -i, 10j]
c =
3.0000 + 4.0000i 4.0000 + 3.0000i
0.0000 - 1.0000i 0.0000 + 10.0000i
matlab新手入门(二)(翻译)的更多相关文章
- matlab新手入门(四)(翻译)
工作空间变量 工作区包含您在数据文件或其他程序中创建或导入到MATLAB®中的变量. 例如,这些语句在工作空间中创建变量A和B. A=255; b=ones(size(Img)); 您可以使用whos ...
- matlab新手入门(三)(翻译)
数组索引 MATLAB®中的每个变量都是一个可以容纳多个数字的数组.当您要访问阵列的选定元素时,请使用索引.例如,考虑4乘4A: A = magic(4) A = 16 2 3 13 5 ...
- matlab新手入门(一)(翻译)
桌面基础知识 启动MATLAB®时,桌面将以其默认布局显示. 桌面包括以下面板: 当前文件夹 - 访问您的文件. 命令窗口 - 在命令行中输入命令,由提示符(>>)指示. 工作区 - 浏览 ...
- AngularJS Eclipse——新手入门【翻译+整理】
原文地址 本文介绍如何安装和配置 AngularJS Eclipse.AngularJS Eclipse 插件是基于强大的 JavaScript 推断引擎(javascript inference e ...
- 二向箔web安全学院 --新手入门
二向箔安全学院 click here 新手入门|梦境穿越 1.要建立一个这样的观念|理解:计算机之所以是计算机,是它具有重复进行某种指令的特征,因而我们写的代码 or 脚本,本质上就是让计算机代替我们 ...
- Spring boot 1.3.5 RELEASE 官方文档中文翻译--Part2:新手入门
Part II. 新手入门 如果你刚刚开始学习Spring boot或"普通"的Spring,这部分非常适合你!在这里,我们回答了最基础的"什么是?".&quo ...
- jmeter安装教程与新手入门(附jdk安装教程)
一.前言 最近要对网站做性能测试,提到了并发数测试,查了下,还是决定使用jmeter来完成这项测试,这里总结了jmeter完整的安装教程,附上新手使用教程. 二.jmeter安装 1.jdk安装(jm ...
- NLP新手入门指南|北大-TANGENT
开源的学习资源:<NLP 新手入门指南>,项目作者为北京大学 TANGENT 实验室成员. 该指南主要提供了 NLP 学习入门引导.常见任务的开发实现.各大技术教程与文献的相关推荐等内容, ...
- Flume NG Getting Started(Flume NG 新手入门指南)
Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...
随机推荐
- 消息队列activeMq 使用介绍
深入浅出 消息队列 ActiveMQhttp://blog.csdn.net/jwdstef/article/details/17380471 一. 概述与介绍 ActiveMQ 是Apache出 ...
- c++对象内存的分配
1 关于c++的对象 只要是用了class或者struct定义的,都是对象,不管有没有方法.不过,一般情况下,没有方法的对象用struct关键字来定义. 2 不用new关键字定义对象 要看这样的对象在 ...
- Discuz!支持发布视频帖子设定 + 修改后台文件
最近想做一个地方性论坛,果断在阿里巴巴的phpwind论坛程序与腾讯旗下的discuz论坛程序中选择,虽然phpwind大气,后面还是 决定选择了discuz程序用来构建这个平台,经过一番安装后,发现 ...
- ZooKeeper原理及使用(转)
原文地址 ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby ...
- Ubuntu编译Android使用的FFmpeg
本文介绍在Ubuntu平台编译FFmpeg库,用于Android使用.前提需要配置好NDK的环境.可以参考之前的文章Android NDK环境搭建. 下载FFmpeg 在官网下载FFmpeg源码,ht ...
- Contiki Process概述
本文涉及到的Protothread机制知识,在http://www.cnblogs.com/songdechiu/p/5793717.html 一.进程类型 进程类型主要有协同式(cooperativ ...
- Matlab的publish功能和cell功能
Matlab的publish功能能够让写的代码变成优美的文档.类似为知笔记的markdown语言. cell功能配合publish使用,可以形成不同的功能块.而且调试的时候,可以按section调试. ...
- C++(一)— stringstream的用法
输入输出的头文件 <iostream> string流的头文件 <sstream> 文件流的头文件 <fstream> 1.利用输入输出做数据转换 stri ...
- L90
On Motes and Beams 微尘与栋梁 It is curious that our own offenses should seem so much less heinous than t ...
- hls协议(最清晰的讲解)
今天来介绍一下HLS协议,这个协议是由苹果公司提出并推广开来的.来一段维基百科的定义. HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议.是 ...