Coursera-ML:Week1-Octave/Matlab Tutorial

来源:互联网 发布:matlab for mac 2016 编辑:程序博客网 时间:2024/04/29 18:15

简单的Matlab命令

1.Basic operation

+ - * / == ~= && || xor>> 2^6 %2的6次方>> a = pi>> disp(sprintf('2 decicmals:%0.2f',a) %列出a精确到小数点后2位,ans = 3.14>> disp(sprintf('6 decicmals:%0.6f',a) %列出a精确到小数点后6位,ans = 3.141593>> format long>> a %以long的形式输出a,a = 3.141592653589793>> format short>> a %以short的形式输出a,a = 3.1416>> A = [1 2; 3 4; 5 6];>> sz = size(A) %A的维度,sz= 3 2>> size(sz) %sz的维度, ans= 1 2>> size(A, 1) %sz的第一个元素,ans = 3>> size(A, 2) %sz的第二个元素,ans = 2>> length(A) %返回A的行数列数两个中的最大值,ans = 3>> v = [1 2 3] %v为1行3列(行向量)>> length(v) %返回v的长度, ans = 3>> v = [1;2;3] %v为3行1列(列向量)>> v = 1:6 %输出从1至6的整数>> v = 1:0.1:2 %从1至2间隔0.1输出(11个数)>> ones(2, 3) %2行3列元素全为1>> zeros(3,1) %3*1的列向量 元素全为0>> rand(1,3) %1*3的行向量 元素为0至1间的随机数>> randn(1,3) %产生的是高斯随机分布中的数(均值0,标准差1)>> -6+sqrt(10)*(randn(1,1000)) %随机数 均值-6,标准差为根号10>> hist(w) %将w分为10个区间,统计每个区间内的元素个数,作出频率直方图>> hist(w,50) %使用50个区间作图>> eye(4) %4*4的单位矩阵(对角线元素为1)>> help eye %帮助命令

2.Moving data around

>> pwd %返回当前工作目录>> cd 'F:\WX' %进入目录F:\WX>> ls %列出当前目录下的文件夹>> who %查看工作区所有的变量(只显示名称)>> whos %会显示变量的size、bytes、class、attributes>> clear v %清除变量v>> clear %清除所有变量>> save hello.mat v %将变量v保存在hello.mat中(二进制存储)>> load hello.mat %加载>> save hello.txt v -ascii %将变量v以ascii形式保存在hello.txt>> A = [1 2; 3 4; 5 6]>> A(3,2) %ans = 6>> A(2,:) %":"means every element along that row/column, ans = 3 4>> A(:,2) %第2列的所有元素ans = [2;4;6]>> A([1 3],:) %第1、3行的所有元素, ans = [1 2; 5 6]>> A(:,2)=[10,11,12] %给A的第2列的所有元素赋值>> A = [A,[100;101;102]] %新增一列A =      1    10   100     3    11   101     5    12   102>> A(:) %将A的所有元素组成一个列向量,ans = [1;3;5;10;11;12;100;101;102]>> A = [1 2;3 4;5 6]>> B = [11 12;13 14;15 16]>> C = [A B] >> C = [A,B] %上述两个表达式均是在A后面再加2列C =     1     2    11    12     3     4    13    14     5     6    15    16>> C = [A;B] %";"相当于换行,即A后面再加3行C =     1     2     3     4     5     6    11    12    13    14    15    16

3.Computing on data

>> C = [1 1;2 2]>> A*C %矩阵相乘ans =      5     5    11    11    17    17>> A.*B %矩阵A、B对应元素相乘ans =    11    24    39    56    75    96>> A .^ 2 %矩阵A的各元素进行平方ans =     1     4     9    16    25    36>> A' %A的转置ans =     1     3     5     2     4     6>> temp  = pinv(A) %A的逆矩阵temp =    0.1472   -0.1444    0.0639   -0.0611    0.0222    0.1056   -0.0194    0.1889   -0.1028>> temp * Aans =    1.0000    0.0000   -0.0000   -0.0000    1.0000    0.0000    0.0000   -0.0000    1.0000>> v = [1;2;3]>> 1 ./ v %向量v各元素除1>> log(v) %对数>> exp(v) %指数>> abs([-1;-2;-3]) %绝对值>> v + ones(length(v),1)>> v + 1 %上述两个表达式都将v各元素加1>> a = [ 1 15 2 0.5]>> val = max(a) %最大值,val = 15>> [val, ind] = max(a) %最大值和索引,val = 15, ind = 2>> a < 3 %返回a各元素比较的结果,1为true,0为falseans =  1×4 logical 数组   1   0   1   1>> find(a<3) %返回a中小于3的元素的索引,ans = 1 3 4>> A = magic(3) %各行、各列、对角线上的元素之和相等A =     8     1     6     3     5     7     4     9     2>> [r,c] = find(A>=7) %A中大于7的元素所在的行和列, r=[1;3;2] c=[1;2;3]>> sum(a) %求和,ans = 18.5000>> prod(a) %求积,ans = 15>> floor(a) %向下求整,ans = 1 15 2 0>> ceil(a) %向上求整,ans = 1 15 2 1>> rand(3)ans =    0.8044    0.5357    0.9891    0.9861    0.0871    0.0669    0.0300    0.8021    0.9394>> max(rand(3),rand(3)) %生成两个3*3的随机矩阵,并输出对应元素中较大的作为新矩阵ans =    0.1821    0.6164    0.6259    0.6838    0.9397    0.9843    0.7837    0.8990    0.9456>> AA =     8     1     6     3     5     7     4     9     2>> max(A)>> max(A,[],1) %上述两个表达式都是返回A各列中最大的值,ans = 8 9 7>> max(A,[],2) %返回A各行中最大的值,ans = [8;7;9]>> max(max(A)) %返回A的最大元素,ans = 9>> sum(A,1) %各列求和,ans = 15 15 15>> sum(A,2) %各行求和,ans = [15;15;15]>> temp = A .* eye(3)temp =     8     0     0     0     5     0     0     0     2>> sum(sum(temp)) %求A正对角线元素之和,ans = 15>> flipud(eye(3)) %flipud上下翻转ans =      0     0     1     0     1     0     1     0     0>> sum(sum(A.*flipud(eye(3)))) %求A反对角线元素之和,ans = 15

To be continued

0 0
原创粉丝点击