【Matlab】Matlab基础用法:基础操作、矩阵、计算、绘制图像、控制语句、函数

在Matlab中命令行中执行测试代码,直接输入命令,点击回车即可

本文主要介绍Matlab的语法,即在命令行或.m文件中,可以直接进行简单测试运行的代码和函数操作等Matlab的基础使用方法,更深层次的以文件为主的结构化编程在后续给出介绍。

基本操作

基础

命令 作用
% 注释
^ 次方
== 等于
~= 不等于
&& 逻辑与
|| 逻辑或
xor(a,b) 异或

注意:MATLAB中下标从1开始

变量

命令 作用
a = 3 声明变量并输出
a = 3; 加分号,抑制输出
1/0 True、False
pi 3.14…
disp(…) 括号内可以放入更复杂的指令,甚至C语言命令
format long 格式化数字的格式
format short 同上

向量、矩阵

A = [1 2; 3 4; 5 6]
A = [1 2;
3 4;
5 6]
V = [1 2 3] %行向量
V = [1; 2; 3] %列向量
v = 1:0.1:2 %生成从1到2步长为0.1的一些数
v = 1:6 %默认步长为1
ones(2,3) %全为1
2*ones(2,3) %全为2
zeros(1,3)
rand(1,3) %随机,0到1
randn(1,3) %服从高斯分布的随机值。均值为0,方差为1

hist(v,num) %绘制直方图,num:直方数量

eye(n) %生成n阶单位矩阵

help command %帮助命令

移动数据

就是对数据进行加载(为矩阵)、操作、移动

1.矩阵操作
矩阵A,向量v

size(A) %返回矩阵的shape
size(A,n) %返回矩阵第n维的大小

length(v) %返回向量长度
length(A) %返回矩阵最长的维度的长度

2.数据的加载
pwd % 当前所在路径
cd % 改变路径
ls

load filename
load ('filename')

who % 输出当前内存中存储的所有变量名
whos %更详细(size、bytes、类型)

clear 变量名 %删除一个变量
clear %删除所有变量

3.数据的操作
v = priceY(1:10)
save filename 变量名 %保存变量(二进制)
save filename 变量名 -ascii %保存为text格式

A(:,2) = [..;..;] %赋值
A = [A,[..;..;..]] %追加
A(:) %把A放在一个向量中
矩阵AB
C = [A B] %横着合并
C = [A;B] %竖着

计算数据

A * B  %矩阵乘法
A .* B %对应位置相乘
A .^ 2 %A中所有元素平方
%% 通常.(点)表示对每一个位置的元素进行操作
1 ./ A %A中所有元素求倒数
log(v)
exp(v) %以e为底,v中元素为指数的幂运算
abs(v) %绝对值
-v
v + ones(length(v),1)
v + 1
A' %转置
pinv(A) %求伪逆
val = max(v)
val = max(A) % 得到每一列的最大值
[val,index] = max(A)
v < 3 %返回各元素是否小于3
find(条件) %找出满足条件的所有元素
[a,b] = xxx() %接收两个参数

sum(A)
prod(A) %所有元素乘积
floor(A)
ceil()

rand(3) %3x3的随机矩阵

数据绘制

plot(x,y)

2.两个图片在一起
plot(x,y1)
hold on
plot(x,y2,'red')
xlabel('xxx')
ylabel('xxx')
legend('y1','y2')
title('xxx')
print -dpng 'filename.png' %导出图像
close %关闭图像

3.展示两个窗体
figure(1);plot(x,y1);
figure(2);plot(x,y2);

subplot(1,2,1);
axis([x_low,x_high,y_low,y_high])
clf %清楚图像

imagesc(A) %可视化矩阵,不同的颜色表示不同的元素
colorbar %颜色与数值的对应bar
colormap 具体的map;

逗号和分号可以连接语句

控制语句

1.for循环
for i=1:10,
	v(i) = 2^i;
end;

indexs = 1:10;
for i=indexs,
	....
end;

break,continue,都可以使用

2.while循环
i = 1;
while i <= 5,
	v(i) = 100;
	i=i+1;
end;

i = 1;
while true,
	xxx;
	if xxx,
		break;
	end;
end;

3.if-else
if 条件1,
	xxx;
elseif 条件2,
	xxx;
else
	xxx;
end;

exit、quit %退出

函数

1.创建函数
需要创建一个文件:函数名.m

function 返回值 = 函数名(变量名)
函数主体

2.调用函数
y = 函数名(x)

3.进阶
%返回两个值
function [y1,y2] = 函数名(x)
...
%调用
[a,b] = 函数名(10)

向量化(Vectorization)

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41340996/article/details/124786279