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的更多相关文章
随机推荐
- TF卡.购买(20180925)
1.准备买 2个 一个 用于 老的手机"红米Note",一个用于现在我的手机"红米Note4X". 之前,这2个手机都是用的 那个坏掉的64g的tf卡 2.刚问 ...
- libnetwork 源码浅析
[编者的话]从docker 1.6开始关注docker网络这块,从原来的铁板一块,到后来的libnetwork拆分,到现在的remote driver,docker 一直在改进.功能缺失,实用性不足, ...
- 需要记忆的几个sql语句
链接查询: 1.查询两个表,在where中定义连接条件: select student.sno,sname,ssex,sage,sdept,cno,grade. from student,sc whe ...
- 通过使用Netty实现RPC
目标:通过使用Netty框架实现RPC(远程过程调用协议),技术储备为以后实现分布式服务框架做技术储备.在这里实现自定义协议主要实现远程方法调用. 技术分析: 1.通过Java的反射技术我们可以获取对 ...
- MySQL5.7版本开启二进制日志是log_bin、bin-log 还是 bin_log ?
已Mac系统为例,文件:/usr/local/mysql/support-files/my-default.cnf 是mysql的默认配置文件,你可以直接修改这个文件但是不推荐,你可以在/etc/my ...
- const 函数参数
void func(int value); 这样的函数,不可以这样子使用: const int value =100; func(value ); 因为func里面可能会对value进行更改,将con ...
- MVVM架构说明1
MVVM是Model-View-ViewModel的简写.微软的WPF带来了新的技术体验,如Sliverlight.音频.视频.3D.动画……,这导致了软件UI层更加细节化.可定制化.同时,在技术层面 ...
- Html工具类
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRespons ...
- 【machine learning通俗讲解code逐行注释】之线性回归实现
现在机器学习算法在分类.回归.数据挖掘等问题上运用的十分广泛,对于初学者来说,可能一听到'算法'或其他的专属名词都感觉高深莫测,以致很多人望而却步,这让很多人在处理很多问题上失去了一个很有用的工具.机 ...
- C#-foreach与yield
(转自:http://www.jb51.net/article/34627.htm) 1. foreach语句 C#编译器会把foreach语句转换为IEnumerable接口的方法和属性. fore ...