MATLAB01
在命令行窗口输入edit就会进入代码编写区,编写完毕点击运行后会先进行保存,然后再执行代码,保存时候一定要以英文开头。
数组
创建矩阵:
函数名 | 描述 |
zero(m,n) | 创建m行n列全零矩阵 |
ones(m,n) | 创建m行n列全1矩阵 |
eye(m,n) | 创建m行n列单位矩阵 |
rand(m,n) | 创建m行n列服从0~1均匀分布矩阵 |
randn(m,n) | 创建m行n列服从标准正态分布的随机矩阵 |
magic(n) | 创建n阶梯魔方矩阵 |
linspase(x1,x2,n) | 创建线性等分向量 |
logspase(x1,x2,n) | 创建对数等分向量 |
diag | 创建对角矩阵 |
使用:
>> clear
>> rand('seed',)
>> a = rand(,) a = 2.5818e-02 7.0079e-01
9.2097e-01 1.9009e-01 >> a(,) ans = 9.2097e-01 >> a() ans = 9.2097e-01
>> a(2,:)
ans =
9.2097e-01 1.9009e-01
>> b=a>0.75 b = × logical 数组 >> a(b) ans = 9.2097e-01
>> a(2,:) = []
a =
2.5818e-02 7.0079e-01
整型
在基本数值类型中,整数只能与相同类的整数或标量双精度值组合使用;
字符类型
字符串函数 | 描述 |
blanks(n) | 返回n个空字符 |
deblank(s) | 移除字符串尾部包含的空字符 |
strfind(s1,s2) | 在s1中寻找s2,返回s2第一个字符所在的位置索引 |
ischar(s) | 判断是否为空字符串 |
isletter | 判断是否为字母 |
lower(s) | 字母转换小写 |
upper(s) | 字母转换为大写 |
strcat(s1,s2,...sn) | 连接各字符串 |
strcmp(s1,s2) | 按字典顺序比较两个字符串 |
strncmp(s1,s2,n) | 比较字符串中的前n个字符 |
strrep(s1,s2,s3) | s1中的s2部分用s3替换 |
函数句柄
句柄的声明可用如下方法:
1.直接使用@符号声明函数句柄,形式为:变量名=@函数名
2.用str2func函数,形式为:变量名=strfun('函数名')
3.声明匿名函数句柄,形式为:变量名=@(输入参数列表)函数表达式。
结构体和元胞数组
元胞数组的元素可以是任意数据类型、任意维度的数据。与矩阵不同,元胞数组引用元素时使用‘{}’操作符,此时得到的数据类型是元素本身的类型,而使用‘[ ]’操作符引用元素时,得到的是一个小一些的元胞数组。元胞数组的内存空间是动态分配的,因此更加灵活,但运行效率欠佳。
元胞数组可以直接创建,也可以使用cell函数创建。结构类型数据的创建也有两种方法,一种是直接创建,另一种是利用struct函数创建。
使用:
>> %利用单元索引创建一个2×2的元胞数组
>> A(,)={[ ; ; ]};
>> A(,)={'Anne Smith'};
>> A(,)={+7i};
>> A(,)={-pi:pi/:pi};
>> A A = × cell 数组 {× double } {'Anne Smith'}
{[3.0000e+00 + .0000e+00i]} {× double } >> %利用cell函数创建元胞数组
>> strArry = java_array('java.lang.String',);
>> strArry() = java.lang.String('two');
>> strArry() = java.lang.String('one');
>> strArry() = java.lang.String('three');
>> cellArray = cell(strArry) cellArray = × cell 数组 {'one' }
{'two' }
{'three'}
算术运算
进行矩阵运算时候,A*B中,矩阵A的列数必须等于矩阵B的行数。标量与矩阵进行的运算,是标量与矩阵中每个元素进行数组运算。转置与共轭转置运算的区别是,共轭转置会在对矩阵取转置的同时取每一个元素的共轭。
矩阵的左除可以用来求解线性方程组:A\B相当于A-1B;数组左除是通常的除法运算,但操作数的含义与右除相反;A\B表示B÷A。
MATLAB01的更多相关文章
随机推荐
- nodejs 设计模式
1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直接返回,若不存在,则创建实例对象,并将实例对象保存在静态变量中,当下次请求时,则可以直接返回这 ...
- Linux新手常用命令 - 转载
开始→运行→cmd命令 集锦 cls------------命令窗清屏eqit-----------退出当前命令ping ip--------检查网络故障ipconfig-------查看IP地址wi ...
- nginx限制ip并发数
nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量 1.添加limit_zone 这个变量只能在http使用 vi /usr/local/nginx/conf/nginx.conf l ...
- 自己用java实现飞鸽传书 1 - 实现socket通信
第一步: 建立服务端客户端,实现端到端通信.因为要传递文件,信号量较大,故使用TCP/IP协议. 服务端和客户端都要建立socket,而后通过socket进行通信.目前只实现服务端到客户端的单向通信. ...
- linux rpm 卸载,简单说明
平时Linux卸载文件总是遇到卸载不干净,各种依赖什么的,今天又是搞这玩意,就记录下一个比较常规的方法. 一.查询包括某关键字的软件(这里以卸载openoffice为例) 查询包括office的软件 ...
- leetcode 2SUM
; i < numbers.size(); ++i){ ; i < v.size(); i++){ ; j < v.size ...
- spring3: AOP 之切面实例化模型 ——跟我学spring3
所谓切面实例化模型指何时实例化切面. Spring AOP支持AspectJ的singleton.perthis.pertarget实例化模型(目前不支持percflow.percflowbelow ...
- yii2:模块
yii2:模块 模块不同于frontend/frontback单独的前后台单独的主题项目,模块不能单独部署,必须属于某个应用主体(如前后台:frontend/frontback). 模块置于modul ...
- 如何用VC编写供PB调用的DLL
和编写一般的DLL方法相同,需要注意以下两点: (1)调用约定 c函数有_stdcall._cdecl._fastcall等多种调用约定,调用约定用来说明函数参数的压栈顺序和由谁(函数自身还是调用者) ...
- Robot Framework(一)
一. 定义 Robot Framework是一款python编写的功能自动化测试框架,具有良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行 二. Robot ...