【数据类型、格式、显示】 1==2 ans = 0 %false 1==1 ans = 1 %true 1~=2 ans = 1 1&&0 ans = 0 1||0 ans = 1 xor(1,0) ans = 1 %yihuo a=pi; %加了分号就不会及时显示 a %直接显示a disp(a) %同上 默认short 4位小数 disp(sprintf('%0.2f',a)) 3.14 %控制格式 format long a a = 3.14159265358979 【矩阵构造】 A=[1 2;3 4;5 6] %矩阵 v=[1 2 3] %向量 v=[1:0.1:2] %从1到2每隔0.1取一个数 成为一行向量 v=1:6 %默认取1到6整数 ones(2,3) %生成一个全为1的2*3矩阵 C=2*ones(2,3) %生成了一个全为2的 zeros(2,3) %全为0的2*3矩阵 eye(4) %四阶单位矩阵 rand(3) %随机生成3*3的矩阵 rand(2,3) %随机的2*3矩阵,每一个值介于0到1之间 randn(2,3) %normal分布(正态分布)的随机值,均值为0 hist(w) %绘制w分布的直方图 hist(w,50) %50条的直方图 help 命令名字 可以显示该命令的用法 【矩阵读取】 A=[1 2;3 4;5 6] A(3,2) %3行2列对应的值 A(2,:) %第2行的所有元素 A(:,2) %第2列的所有元素 A([1 3],:) %第1和第3行的所有元素 A(:,2)=[10;11;12] %给A的第2列赋值 A=[A,[100;101;102]] %给A加一列 A(:) %把所有A的元素排成一列 C=[A B] %直接把两个矩阵左右相连 空格和逗号等效 C=[A;B] %把两个矩阵上下相连 【矩阵的属性】 sz = size(A) sz = 3 2 %返回矩阵的行和列 size(sz) ans = 1 2 %上面的 3 2 是一个1行2列的矩阵 size(A,1) ans = 3 size(A,2) ans = 2 %返回A的大小的第1/2维 v=[1 2 3 4] length(v) ans = 4 length(A) ans = 3 %length()返回行和列中较大的一个 【文件路径操作】 pwd %当前路径 cd 'C:\Users\ty\Desktop' %改变路径 ls %桌面文件 load featuresX.dat %读入该文件 load('featuresX.dat') %同上 featuresX %文件名代表现在这个文件变量 可以直接显示 who %当前所有变量 whos %当前变量的详细信息 v=featuresX(1:10) %把featuresX的前10个元素存到v save hello.mat v %把v这个变量存入hello.mat文件 在默认路径 save hello.txt -ascii %以ASCII码来存成txt文件 【矩阵操作】 A*B % 矩阵乘法 A.*B % 对矩阵里每一个对应的数做乘法 以此类推 除法 平方 log(v) % 对v中没一个数求log exp(v) % 对v中每一个数求e为底的幂次运算 abs(v) % 对每一个数求绝对值 sum(v) % 求和 sum(A,1) % 对A的每一列求和 sum(A,2) % 每一行求和 prod(a) % product 求乘积 floor(a) % 向下取整 ceil(a) % 向上取整 -v = -1*v v+1 % v中每一个数+1 A' %A的转置矩阵 pinv(A) % A的逆矩阵 val=max(v) % v中最大的数 如果v是矩阵的话,max求的是矩阵每一列的最大值 [cal,ind]=max(v) % 返回最大值和最大值的索引 max(A) = max(A,[],1) % A矩阵第1维的最大值,即返回每一列的最大值 max(A,[],2) % A矩阵第2维的最大值,即返回每一行的最大值 A<3 % 返回一个和A大小相同的01矩阵,代表该位置的值是否<3 magic(3) % 返回一个3*3的矩阵,每行 每列 每个对角线的值相等 [r,c]=find(A>=7) r= ... c= ... % 返回A中大于等于7的值所在的行和列 【画图】 t = [0:0.01:0.98]; y1 = sin(2*pi*4*t); plot(t,y1) % t为自变量画图 y2 = cos(2*pi*4*t) hold on % 保持前面画的图不变 plot(t,y2,'r') % 在上图的基础上画y2曲线,颜色为'r' xlabel('time') % 给x维加上'time' ylabel('value') % 给y维加上'value' legend('sin','cos') % 加上图例 两条曲线分别叫'sin' 'cos' title('myplot') % 加上标题 print -dpng 'myplot.png' % 在默认路径中将该图像保存为'myplot.png' close % 关闭图像 (如果保存 貌似也删除了) figure(1); plot(t,y1); figure(2); plot(t,y2); % 此时有两个图像文件 subplot(1,2,1); % 分出1*2的两块区域,使用第一块区域 plot(t,y1); % 此时第一块格子内出现了y1的图像 subplot(1,2,2); % 使用第二块区域 plot(t,y2); % 此时第二块格子内出现了y2的图像 axis([0.5 1 -1 1]) % 改变了图像的坐标,四个数分别对应 minx maxx miny maxy clf % 将画图全部清除 A=magic(A) imagesc(A) % 绘制了一个5*5的彩色格图 不同颜色对应矩阵中的不同值 imagesc(A), colorbar, colormap gray; %逗号分隔的命令依次运行 颜色的深浅代表了不同的值 【条件语句】 for i=1:10, v(i)=2^i; % 缩进只为了好看,空格多少并不影响 end; % 每个语句结尾必须要end indices=1:10; for i=indices, end; % 和上面等价 while i<=5, i=i+1; end; while true, i=i+1; if i==6, brek; end; end; if v(1)==1, disp('value is 1.'); elseif v(1)==2, disp('value is 2.'); else disp('not 1 or 2.'); end; 【函数】 function [y1,y2] = square(x) % 等号前面是返回值,可以不止一个 y1=x^2 % 等号后面是函数名,必须与文件名一致,括号内是参数 y2=x^3 [a,b]=square(5) % 该函数在当前目录下才能调用 a = 25 b = 125 % 添加别的路径,使用时会自动搜索当前路径和添加的路径,就可以不用切换当前路径了 addpath('C:\Users\ty\Desktop')
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-09 05:30:36