MATLAB学习笔记
MATLAB 变量命名规则
变量名区分大小写
变量名长度不超过63位
变量名以字母开头,可以由字母,数字和下划线组成,但不能使用标点
变量名应简洁明了,通过变量名可以只管看出所表示的物理意义
ch5
C = textscan(fileID,formatSpec) 将已打开的文本文件中的数据读取到元胞数组 C。该文本文件由文件标识符 fileID 指示。使用 fopen 可打开文件并获取 fileID 值。完成文件读取后,请调用 fclose(fileID) 来关闭文件。
textscan 尝试将文件中的数据与 formatSpec 中的转换设定符匹配。textscan 函数在整个文件中按 formatSpec 重复扫描数据,直至 formatSpec 找不到匹配的数据时才停止。
data=textscan('1 2 3 4 5','%d'); %1*1cell数组
data=textscan('1 2 3 4 5','%d %d'); %1*2的cell数组
C = textscan(chr,'%3.1f %*1d');
设定符 %3.1f 指示字段宽度为 3 位数,精度为 1。textscan 函数读取全部 3 位数,包括小数点和小数点后的 1 位数。设定符 %*1d 指示 textscan 跳过其余位数。
显示元胞数组 C 的内容。
celldisp©
C{1} =
0.4000
8.2000
3.5000
6.2000
9zz
习题1
1.执行下列指令,观察运算结果
(1)
[1 2;3 4]+10-2i
这个矩阵是2*2的,元素之间用空格隔开,用分号;换行,
对应输出结果是矩阵中每个元素+10-2i,相当于10-2i构成一个数乘矩阵加对应元素
ans =
11.0000 - 2.0000i 12.0000 - 2.0000i
13.0000 - 2.0000i 14.0000 - 2.0000i
(2)
[1 2;3 4].*[0.1 0.2;0.3 0.4]
.* 为对应元素相乘,输出结果为
ans =
0.1000 0.4000
0.9000 1.6000
(3)
[1 2;3 4].\[20 10;9 2]
.\为对应元素左除,哪边平行哪边就做分母啊
,输出结果
ans =
20.0000 5.0000
3.0000 0.5000
(4)
[1 2;3 4].^2
.^对应为矩阵中的每个元素的平方
ans =
1 4
9 16
(5)
exp([1 2;3 4])
ans =
2.7183 7.3891
20.0855 54.5982
哼唧唧,不知道咋来的,找doc exp
帮助文档
学习
拼接函数
cat 指定维拼接
horzcat 水平方向拼接
vercat 垂直方向拼接
repmat 通过对现有矩阵复制和粘贴操作生成新矩阵
blkdiag 现有矩阵构造对角矩阵
W=eye(2)
Y=repmat(W,2,3)%repmat拼接生成相当于以矩阵W为元素的2*3的矩阵Y
c=ones(3)
d=blkdiag(W,c)%拼接生成模块对角矩阵,原始矩阵不一定是方阵,互相也不需要尺寸对应
改变矩阵的尺寸
1.变大
a=eye(3)
a(2,4)=3%给矩阵添加第2行第4列的元素,新增一列元素,其余新增元素补0
a(:,4)=3%给新扩容矩阵的第4列元素赋值,(矩阵a并没有)对矩阵元素的添加超出矩阵的尺寸是允许的,但对矩阵的访问超出了矩阵的尺寸系统将报错
2.变小
a=rand(4)
a(:,3)=[]%删除第3列
a(2,:)=[]%删除第2行
a(1,2)=[]%使用双下标时,不可以使用此方法删除单个元素,否则系统报错
3.改变矩阵形状
reshape 重新排列矩阵
rot90 矩阵逆时针旋转90°
fliplr 垂直方向为轴翻转为矩阵
flipud 水平方向为轴翻转为矩阵
flipdim指定方向为轴翻转为矩阵
>> linspace(1,100)%生成一个首尾分别为1和100的100个数(包含端点)行向量
>> linspace(0,100,10)%生成一个首尾分别为0和100,包含10个数字的等差数列
>y = logspace(a,b) 生成一个由在 10^a 和 10^b(10 的 N 次幂)之间的 50 个对数间距点组成的行向量 y。logspace 函数对于创建频率向量特别有用。该函数是 linspace 和“:”运算符的对数等价函数。
字符与字符串
>> abs('a')%用abs指令得到对应的ASCII数值
>> char(97)%用char函数得到相应字符
>1.字符串可以包含标点
>2.建立二维数组时,字符数组要求每行字符含有相同的列,当有不同的长度时,要加上's'/空格补齐
>> success=char('talent','+','hard-working')
success =
3×12 char 数组
'talent '
'+ '
'hard-working'
>> factor1=deblank(success(3,:))%deblank函数从一个字符串中抽取某一个字符串
factor1 =
'hard-working'
>> ['abc ' 'abcde']
ans =
'abc abcde'
>> strcat('abc ','abcde')%strcat会自动删除空格合并
ans =
'abcabcde'
strvcat垂直方向合并
strcmp 比较两个字符串是否相等
strcmpi 比较两个字符串是否相等不区分大小写
strncmp 比较两个字符的前n个字符是否相等
strcnmpi 比较两个字符串前n个字符是否相等,不区分大小写
数值转字符
char 把截去小数部分正整数数值转换为等值字符
int2str 把小数部分四舍五入的正负整数转换为字符类型
num2str 把数值类型数据转换称指定精度和形式的字符类型
mat2str 把数值类型数据转换称指定精度和形式的字符类型,并返回MATLAB可以识别的格式
dec2hex 把正整数转换为十六进制的字符类型
dec2bin 把正整数转换为2进制的字符类型
dec2base 把正整数转换为任意进制的字符类型
字符转数值
uintN 与abs类似
str2num 字符串转等值数据类型
str2double 类up,but提供对字符串元胞的操作
...
换下顺序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)