第二章 Mablab语言基础
2.1 Matlab的变量与常量
1) input:x=input(‘please enter a numb’)
2) Inf/inf:正无穷大
3) pi:圆周率
4) 默认保留变量:ans
2.2 Matlab的基本数据结构(1)
1) 修改Curent Folder:修改快捷方式的目标属性
2) 向量=数组
3) 行矩阵a=[1 2 3]或a=[1,2,3];列矩阵b=[1 2 3]'或b=[1;2;3]
4) 内置矩阵函数ones(ones(4):4维全1矩阵):
zeros(全0);
eye(单位矩阵);
5) 行矩阵k:j /k:i:j (1:4 =1 2 3 4; 1:2:5=1 3 5 ),,其中i是增量,默认是1
6) 列矩阵(k:j)' / (k:i:k)'
2.2 Matlab的基本数据类型(2)
1) 引用矩阵的值:行矩阵a=1 2 3,则a(2)=2。b(2,3)引用矩阵,b是矩阵
2) matlab对矩阵是按列存储;
3) matlab中的下标从1开始;
4) size函数:返回矩阵行、列数;size(a,1)返回行数;size(a,2)返回列数。
5) length函数:返回行、列数最大的;
2.3 Matlab中的空数组与子数组
1) 空数组:nullmatrix = []
2) 子数组:child = magicmatrix(3,:),第3行元素
child = magicmatrix(3,[2,4]),第3行中的2、4列
child =magicmatrix(3,2:end),第3行中第2...到最后列
3) linspace等差数列生成矩阵:linspace(m,n,count),m到n的count个数
4) logspace等比数列生成矩阵:
5) reshape将一组无数按格式生成矩阵(按列排):ans = 1 2 3 4 5 6 7 8 9
reshape(ans,3,3) = [1 4 7;2 5 8;3 6 9]
6) data、clock、today、now
7) year(now)、month(today)、day(today)
2.4 Matlab的算术运算符
1) 5/6 = 6\5
2) 5^2 = 5*5
3) power(n,m):n的m次幂
4) inv(B):B的逆矩阵
5) A/B = A*inv(B)
6) A.*B:A、B对就位置相乘
7) A.^2:A各个元素的2次幂;A./3;
8) A + 3:各个元素加3;A.+3(非法);如果如果是标量,则不需要加“.”。
2.5 常见的Matlab运算函数(1)
1) 三角函数,需要的是弧度制。如:30°,要转换成pi/6。
2) log、log2、abs、sqrt(平方根)、sign(符号函数)、ceil(向正无穷取整)、floor(向负无穷取整)、fix(向零取整)、round(四舍五入)、mod(取余)、rem(取余)、conv(相乘)、min/max(运算对象是矩阵的话,是每列的最小/大值)、
2.6 常见的Matlab运算函数(2)
1) sum(a):求a的和;sum(a)=sum(a,1)按列计算,sum(a,2)按行计算
2) prod(a):求a的积;prod(a)=prod(a,1)....,prod(a,2)....
3) conv:展开式。(x^2+2x+3)*(3x^3+2x^2+1)=conv([1 2 3],[3 2 0 1])
4) 复数单位i或j:1+2i=1+2j
5) real、img、abs:取实部、虚数、模
6) conj():取共轭;conj(1+2i)=(1+2i)'
7) cross、dot:叉积、点积
8) compan:求伴随矩阵(跟数据定义不太一样)
9) det:行列式的值
10) rank:求秩
11) eig:特征值
12) trace:迹(主对角线相加)
2.7 Matlab的字符串及其运算
1) 用单引号“'”
2) abs、double:将字符转成数字
3) char:将数字转成字符
4) str2num、num2str
5) lower()、upper():大小写转化
2.8 字符串函数及二维字符串
1) strcmp(str1,str2):str1=str2,为1;否则为0
2) strncmp(str1,str2,4):比较前4个字符
3) findstr(str1,str3):str1中str3的所有位置
4) strcat(str1,str2):=[str1,str2],拼接
5) disp(str1):打印函数,多用于提示用户
6) strvcat(str1,str2):二维字符拼接
2.9 绘图入门
1) plot(x,y):绘图函数,如:x=0:0.01:2*pi,y=sin(x);plot(x,y)是一条正弦曲线;
2) xlabel、ylabel:可x、y轴加上提示
3) grid on、grid off:打开、关闭网格
4) legend:给图加上图例、
5) hold on:打开可绘制多幅图或plot(x,y1,x,y2)
2.10 绘图属性的控制
1) axis:对轴的设置
2.11 图形窗口菜单及对数坐标
1) semilogx(x,y):将x转化成logx做为x轴
2) semilogy(x,y):同上;
3) loglog(x,y):对x,y轴取对数;
2.12 本章小结
1) fprintf:格式化输入函数。
对于复数只输出实部,可用disp替换,disp([‘x='num2str(x)'\n'])。
2) %:单行注释