博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MATLAB 基本命令 ...
阅读量:4326 次
发布时间:2019-06-06

本文共 5883 字,大约阅读时间需要 19 分钟。

注:每条命令后面跟不跟分号的区别就是:不加分号执行命令后立即显示出来,加上分号不显示。

1.矩阵的建立

A = [1 2; 3 4; 5 6]; % 建立一个 3x2的矩阵、

>>  A = [1 2; 3 4; 5 6]A =     1     2     3     4     5     6

v = [1 2 3]; %建立一个1x3的行向量

>> v = [1 2 3] v =     1     2     3

v = [1;2;3]; %建立一个3维列向量

>> v = [1;2;3]v =     1     2     3

v = 1:0.2:2;%建立一个行向量,从1开始,步长为0.2,到2结束

>> v = 1:0.2:2v =    1.0000    1.2000    1.4000    1.6000    1.8000    2.0000

v = 1:6; %建立一个行向量,从1开始,步长为1,到6结束

v = 1:2:6; %建立一个行向量,从1开始,步长为2,到6结束
ones(2,3); %建立一个2x3的矩阵,元素全是1

>> ones(2,3)ans =     1     1     1     1     1     1

zeros(2,3);%建立一个2x3的矩阵,元素全是0

c = 2*ones(2,3);%建立一个2x3的矩阵c,元素全是2

>> c = 2*ones(2,3)c =     2     2     2     2     2     2

rand(2,3);%建立一个2x3的随机矩阵

>> rand(2,3)ans =    0.8147    0.1270    0.6324    0.9058    0.9134    0.0975

randn(2,3); %同上

eye(4) % 4 x 4 单位矩阵

A = [1 2; 3 4; 5 6];

size(A); %返回A的行数和列数

>> A = [1 2; 3 4; 5 6];>> size(A)ans =     3     2

size(A,1); % 返回A的行数

size(A,2);% 返回A的列数
length(A);// 返回max(row,column)

2.数据操作

A = [1 2; 3 4; 5 6];

A =     1     2     3     4     5     6

A(3,2);% 得到第三行第二列的元素

>> A(3,2)ans =     6

A(2,:); % 得到第二行的所有元素

>> A(2,:)ans =     3     4

A(:,1) ;%得到第一列的所有元素。‘:’表示沿着每一行/列的所有元素

>> A(:,1) ans =     1     3     5

A([1 3],:)%得到所有行号为1、3的元素,即第一行和第三行

A([1:2:7],:) %得到第一、三、五、七行

>> A([1 3],:)ans      1     2     5     6

A(:,[1 2])%得到第一、二列

A(:,2) = [10;11;12] %用10,11,12来替换A的第二列

>> A(:,2) = [10;11;12]A =     1    10     3    11     5    12

A(2,:) = [23 24] %用23 24来替换第二行

>> A(2,:) = [23 24]A =     1    10    23    24     5    12>>

A = [A,[100;101;102]] %在A的右边加上一列

>> A = [A,[100;101;102]] A =     1    10   100    23    24   101     5    12   102

注:如果若干元素在同一行,用逗号或空格隔开;若在同一列用分号隔开

A = [A;[7,8,9]] %在A的下方添加一行

>> A = [A;[7,8,9]]A =     1    10   100    23    24   101     5    12   102     7     8     9

V=A(:) %让A的所有元素变成一列,并赋给V。

>> V = A(:)V =     1    23     5     7    10    24    12     8   100   101   102     9

A = [1 2; 3 4]

B = [6 7;8 9]
C = [A B] ;%将A(左边) B(右边)组合成一个矩阵

>> C = [A B]C =     1     2     6     7     3     4     8     9

C = [A;B] %将A(上) B(下)组合成一个矩阵,使用的时候注意维度的匹配

>> C = [A;B]C =     1     2     3     4     6     7     8     9

3.矩阵计算

M = [1 2;3 4;5 6] Y = [3 2]

M - Y %M的第一列都减3,第二列都减2

>> M - Y ans =    -2     0     0     2     2     4

M ./ Y %M的第一列都除以3,第二列都除以2

>> M ./ Yans =    0.3333    1.0000    1.0000    2.0000    1.6667    3.0000

M .* Y %M的第一列都乘以3,第二列都乘以2

>> M .* Y ans =     3     4     9     8    15    12

A = [1 2; 3 4; 5 6]

B = [11 12; 13 14; 15 16]
C = [1 1; 2 2]
A*C % 3x2 * 2x2 = 3x2 的矩阵

>> A*Cans =     5     5    11    11    17    17

A.*B % A和B的对应元素相乘(所有要就AB的维度要相同)

>> A.*Bans =    11    24    39    56    75    96

A.^2 %得到A的每一个元素的平方

>> A.^2ans =     1     4     9    16    25    36

A ./ 2 %A的每一个元素除以2

>> A ./ 2ans =    0.5000    1.0000    1.5000    2.0000    2.5000    3.0000

2 ./ A %2除以A的每一个元素

>> 2 ./ Aans =    2.0000    1.0000    0.6667    0.5000    0.4000    0.3333

log(A)

exp(A)
abs(A) %对A的每一个元素进行相应的运算

A’ %得到A的转置

>> A'ans =     1     3     5     2     4     6

max(A) %得到每一列的最大元素,如果A是一个1xn的向量,则返回最大值

>> max(A)ans =     5     6

max(max(A))% 返回的就是5,6中的最大值

>> max(max(A))ans =     6

max(A,[],1) // 等同于 max(A)

max(A,[],2) //得到每一行的最大值

>> max(A,[],2)ans =     2     4     6

A < 3 %返回元素是否小于3的逻辑判断值

>> A < 3ans =  3×2 logical 数组   1   1   0   0   0   0

find(A<3) %返回元素小于3的元素的编号

>> find(A<3) ans =     1     4

[row,colunm] = find(A<3)%返回元素小于3的元素的行号和列号

>> [row,colunm] = find(A<3)row =     1     1colunm =     1     2     %即A中的(1,1),(1,2)都小于3

sum(A) %计算A中每一列的和,如果A为1xn的向量,则返回所有元素的和

>> sum(A) ans =     9    12

sum(sum(A)) %返回9 12 的和,也就是A中所以元素的和,等同于sum(A(:))

>> sum(sum(A))ans =    21

sum(A,1) %等同于 sum(A),返回每一列的和

sum(A,2) %返回每一行的和

>> sum(A,2)ans =     3     7    11

prod(A) %返回每一列各个元素的乘积,等同于prod(A,1)

>> prod(A)ans =    15    48

prod(A,2) %返回每一行各个元素的乘积

**floor(r) %所有元素向下取整

ceil(r) % 所有元素向上取整**

>> r=rand(2)r =    0.9649    0.9706    0.1576    0.9572>> floor(r)ans =     0     0>> ceil(r)ans =     1     1     1     1

flipud(eye(3))

>> flipud(eye(3))ans =     0     0     1     0     1     0     1     0     0

pinv(A) %A的逆运算

>> pinv(A)ans =   -1.3333   -0.3333    0.6667    1.0833    0.3333   -0.4167

4.作图

t = [0:0.01:0.98]

y1 = sin(2*pi*4*t)
plot(t,y1)
这里写图片描述

y2=cos(2*pi*4*t);

hold on; %表示画下一个图的时候,上一个图不消失,可以使两幅图在一个窗口中
plot(t,y2,’r’)%’r’ 表示曲线颜色
xlabel(‘time’)
ylabel(‘value’) %添加横纵坐标标签
legend(‘sin’,’cos’) %标识曲线
title(‘my plot’)%添加名称
这里写图片描述

plot(t,y1,’rx’,’MarkerSize’,10) % ‘rx’ 代表用红叉作图,大小为10

这里写图片描述

print -dpng ‘myPlot’ %导出图片到当前路径

figure(1); plot(t,y1);%打开窗口一,并画图(可以两个命令同时执行,用分号隔开)

figure(2); plot(t,y2); %打开另外一个窗口二,作图

subplot(1,2,1) // divides plot in a one-by-two grid, access first element

subplot(1,2,2)
plot(t,y2,’r’)
axis([0.5 1 -1 1])%设置X的范围
clf //clear figure

imagesc(A) //视觉化矩阵A

imagesc(magic(5)), colorbar, colormap gray %用灰度图视觉化
这里写图片描述

5.其他

mean(M,1) % 计算每一列的平均值

mean(M,2) % 计算每一行的平均值
std(M) % 计算每一列的标准差,等同于(M,0,1)
std(M,0,2) % 计算每一行的平均值
size(M,1) % 一共多少行
size(M,2) % 一共多少列
numel(A) %返回一共有多少个元素
plot(J,’-b’,’Linewidth’,2) % plot a line in blue with width equal to 2
plot(X,’rx’,’MarkerSize’,10,’LineWidth’,20) % plot figure with red cross and width equal to 20

disp(var) // display variable

disp(sprintf(‘2 decimals: %0.2f’,a)) //format with two decimals
format long //
format short //
hist(w) //画出w值的直方分布图
pwd //reture the current path
ls //display
load filename //loading file
load(‘filename’) //loading file
who //show the all varable in current memory
whos //show the all varable of detailed view
// save and load data
load priceY //load a data set (a vector) named priceY
v = priceY(1:10)// v will be a vector with first 10 elements in priceY

load dataX //load a data set (a matrix) named dataX

v = dataX(1:10) // v will be a 1 by 10 matrix with first 10 elements in first column of dataX
save hello.mat v; // save the variable V into a file called hello.mat at current direction
clear // deletest all of the variables in your workspace

转载于:https://www.cnblogs.com/tolic/p/7142211.html

你可能感兴趣的文章
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_04.ssm整合之编写SpringMVC框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_08.ssm整合之Spring整合MyBatis框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_19、SpringBoot个性化启动banner设置debug日志...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_34、SpringBoot整合Mybatis实操和打印SQL语句...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>