4.matlab基础
1 函数句柄
clear all;
f1=@cos
t=:pi/:pi
f1(t)
f2=@complex
f2(,)
clear all
%函数句柄
f1=@char
%函数句柄转换为字符串
s1=func2str(f1)
%字符串转换为函数句柄
f2=str2func(s1)
%f1的类型
functions(f1)
%判断f1是不是函数句柄
isa(f1,'function_handle')
%判断f1,f2是否是同一个函数
isequal(f1,f2)
2 单元数组类型
单元数组是一种比较特殊的数据类型,每个元素都以单元的形式存在.在MATLAB中,采用大括号({})建立单元数组,也可以采用函数cell()来建立单元数组.在获取单元数组的元素时,也采用大括号表示下标.
| 函数cell() | 建立单元数组 |
clear all |
| 函数celldisp() | 显示单元数组的内容 |
clear all |
| 函数cellplot() | 以彩色的图形来显示 |
clear all |
| 函数iscell()和函数num2cell() | 判断是不是单元数组,矩阵转换为单元数组 |
clear all |
| 函数cell2struct() | 单元数组转化为结构体变量 |
clear all |
clear all
c={'中国','China';[ ],}
%获取元素
c{,}
c{,}
%输出一个元素
c{,}=[]
2.1 单元数组的删除与合并
clear all
c={'中国','China';[:;:],}
%单元数组的扩充
c{,}=
%第一行元素
c(,:)
%删除第三列
c(:,)=[]
d={'北京','Beijing';[],}
%单元数组的合并
e=[c,d]
%删除第二行
e(,:)=[]
3 结构体类型
结构体是按照成员变量名组织起来的不同数据类型数据的集合.结构体类似C语言的结构体数据.每个成员变量用指针操作符"."表示,列如A.name表示结构体变量A的name成员变量.
| 函数 | 说明 | 代码示例 |
| struct | 建立结构体变量 |
clear all; |
| istruct | 是否为结构体变量 |
clear all; |
| isfield | 是否为结构体成员 |
clear all; |
| fieldnames | 结构体变量成员的名字 |
clear all; |
| substruct | 子结构体 | |
| struct2cell | 结构体变量转换为单元型变量 |
clear all; |
| orderfield | 对结构体变量的成员排序 |
clear all; |
| getfield | 得到结构体的成员变量 |
clear all; |
| setfield | 设置结构体的成员变量 | |
| rmfield | 删除结构体的成员变量 |
clear all; |
| cell2struct | 单元型变量转换为结构体变量 |
3.1 直接建立结构体变量
clear
stu().name='zhang san'
stu().age=
stu().gender='Male'
stu().name='li si'
stu().age=
stu
stu()
4 运算符
MATLAB提供的基本算术运算有:+ - * / ^常用的算术运算符有如下所示.对于标量和数组,是以元素为单位进行运算.
| 标量和数组运算 | j矩阵运算 | g功能 |
| + | + | 加 |
| - | - | 减 |
| .* | * | 乘 |
| ./ | / | 左除 |
| .\ | \ | 右除 |
| .^ | ^ | 乘方 |
| .' | ' | 转置 |
5 关系运算
| 关系运算符 | s说明 | h函数 |
| < | 小于 | lt |
| <= | 小于等于 | le |
| > | 大于 | gt |
| >= | 大于等于 | ge |
| == | 恒等于 | eq |
| ~= | 不等于 | ne |
clear all;
a=>
%三行四列的矩阵
b1=rand(,)
%大于0.
b2=b1>=0.5
%小于等于0.
b3=b1<=0.8
%b2 b3相等的部分
c1=eq(b2,b3)
%b2 b3不等的部分
c2=b2~=b3
5.1 比较两个浮点数
clear all
format long
a=3.14159+eps
b=3.14159
c1=a==b
c2=a>b
c3=abs(a-b)<1e-
format short
6 逻辑运算符
6.1 逐个逻辑运算
在MATLAB中,逻辑运算分为3类,分别是逐个元素的逻辑运算,快速逻辑运算和逐位逻辑运算.逐个元素的逻辑运算有3种,分别是逻辑与&,逻辑或和逻辑非(~).在进行两个数组或句子的逻辑与和逻辑或时,必须具有相同的维数.
逐个逻辑运算
| 运算符 | h函数 | s说明 |
| & | and | l逻辑与 |
| | | or | 逻辑或 |
| ~ | not | 逻辑非 |
| xor | 逻辑异或 |
clear all
A=rand(,)
B=A>0.6
C=A<0.4
%与
d1=B&C
%或
d2=B|C
%非
d3=~B
%异或
d4=xor(B,C)
6.2 快速逻辑运算
在MATLAB中,有两个快速逻辑运算符,逻辑与(&&)和逻辑或(||).&&运算符和&运算符非常相近.&&运算符在参与运算的第一个操作数为假时,直接返回假,不再返回第二个操作数,||操作数,在参与运算的第一个操作数返回真时,直接返回真,不再判断第二个操作数
| 运算符 | 说明 |
| && | 快速逻辑与,当第一个操作数为假时,直接返回假,否则和&相同 |
| || | 快速逻辑或,当第一个操作数为真时,直接返回真,否则和|相同 |
clear all
a=
(a>)&&(/a>) %快速逻辑与
(a>)&(/a>) %逻辑与
6.3 逐位逻辑运算
| 函数 | 函数说明 |
| bitand(a,b) | 逐位逻辑与 |
| bitor(a,b) | 逐位逻辑或 |
| bitcmp(a,b) | 逐位逻辑非 |
| bitxor(a,b) | 逐位逻辑异或 |
clear all
a=
b=
%十进制数转换为二进制
c1=dec2bin(a)
c2=dec2bin(b) %位与
d1=bitand(a,b)
d2=dec2bin(bitand(a,b)) %位或运算
d3=dec2bin(bitor(a,b))
d4=dec2bin(bitxor(a,b))
4.matlab基础的更多相关文章
- matlab基础教程——根据Andrew Ng的machine learning整理
matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...
- Matlab基础
基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...
- Matlab - 基础知识
Matlab R2016a完全自学一本通 记在前面: (1)函数中:dim=1 按列:dim=2 按行 (2)这本书很垃圾,不建议买. (3)在数据库连接中,用两个单引号表示字符串,千万不能用双引号 ...
- 数字图像处理学习笔记之一 DIP绪论与MATLAB基础
写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...
- Matlab基础之单元数组和结构数组
Matlab基础之单元数组和结构数组 前言: 单元数组和结构数组是一种新的数据类型,能将不同类型.不同维数的数组组合在一起,从而方便对不同的数据类型方便管理和维护. 如上图所示的2*2矩阵中,分别存储 ...
- Matlab--从入门到精通(chapter2 matlab 基础知识)
Chapter2 Matlab 基础知识 1.基本数学运算符号 注:矩阵的右除是一般意义的除法,但是左除具有对称意义,即A./B=B.\A 2. 命令行中的常用标点 3.常见的操作命令 4.输出数据显 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_02
第三节:变量 正如其他编程软件一样. 都是通过变量来传递和交换数据的,这是基础.按照<MATLAB基础知识提炼>这篇文章先介绍变量比较合适.编程语言不外乎包括两部分:数据和结构.应该先把数 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_01
第一篇:Matlab基础知识提炼: 这一篇主要用系统和提炼性的语言对Matlab基础知识进行总结,主要适用于有语言基础的学习者.尽量不讲废话. 第一部分:Matlab是什么? 1 Matlab是Mat ...
- 信号与系统实验序章0——MATLAB基础命令入门
本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...
- 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)
博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞
随机推荐
- 四.Windows I/O模型之重叠IO(overlapped)模型
1.适用于除Windows CE之外的各种Windows平台.在使用这个模型之前应该确保该系统安装了Winsock2.重叠模型的基本设计原理是使用一个重叠的数据结构,一次投递一个或多个Winsock ...
- fabric.js 学习
官网地址:http://fabricjs.com/ git https://github.com/kangax/fabric.js/ <!DOCTYPE html> < ...
- Vtk读取并显示保存图像
(1):Vtk读取并显示图像:三种方法 转载:未知出处 转载:用VTK显示平面图片:http://blog.csdn.net/tonylk/article/details/464881 用到vtkJP ...
- Docker:分布式系统的软件工程革命(上)
转自:http://cxwangyi.github.io/story/docker_revolution_1.md.html Docker:分布式系统的软件工程革命(上) 作者:王益 最后更新:201 ...
- 计蒜客 宝藏 (状压DP)
链接 : Here! 思路 : 状压DP. 开始想直接爆搜, T掉了, 然后就采用了状压DP的方法来做. 定义$f[S]$为集合$S$的最小代价, $dis[i]$则记录第$i$个点的"深度 ...
- 30 包含min函数的栈(举例让抽象问题具体化)
题目描述: 定义栈的数据结构(push/pop),请在该类型中实现一个能够得到栈中所含最小元素的min函数(三者的时间复杂度都应为O(1)). 测试用例: 1)新压入栈的数字比之前的最小值大/小 2) ...
- [luogu2680] 运输计划 (lca+二分+树上差分)
传送门 Description Input Output 一个整数,表示小 P 的物流公司完成阶段性工作所需要的最短时间. Sample Input 6 3 1 2 3 1 6 4 3 1 7 4 3 ...
- alg--动态规划(dynamic planning)
怎么开头呢? 一句话概括吧, dp的思想就是递归的反思想. 参考的理化: https://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.h ...
- j2ee消息中间件
http://blog.csdn.net/apanious/article/details/51014396
- 学习redis遇到的问题
1. pipeline为什么批量执行速度会变快? 答:是因为在tcp连接中减少了交互往返的时间,因为每次执行还要返回响应值,并且是一条执行完成之后才会执行下一条,但是批量执行只需要一次往返,所以节省了 ...