一个多小时速通MATLAB
原视频地址:https://www.bilibili.com/video/BV13D4y1Q7RS?from=search&seid=9311985917721407930&spm_id_from=333.337.0.0
content
6、没东西
清屏命令:clc
清除工作区:clear(有些老版本应该是clear all,但是我2020b亲测好用clear)
字符与字符串
s=‘s’
abs(a) 求和嘛,其他的自己类比
char(97) 用ASCII初始化字符
num2str()数字转字符串
str=‘abcdefg’
length(str)
等等类似的,都不写了,用到了再查,快进了
%% 矩阵 A=[1,2,3;4,5,6;7,8,9] %一个矩阵 B=A' %转置矩阵 C=A(:) %竖着拉长 D=inv(A) %逆矩阵 E=A*D %矩阵的乘法 E=zeros(10,5,3) %生成一个3维的都是0的矩阵
D=ones(2,4)


在MATLAB中,数组都是从1开始的!
在MATLAB中,数组都是从1开始的!
在MATLAB中,数组都是从1开始的!
%% 元胞数组 A=cell(1,6) % 一行六列 A{2}=eye(3) % eye代表生成一个nxn的单位矩阵 A{5}=magic(5) % magic代表生成幻方(横竖斜对角都是相等的,而且数字从1到n的平方不重复) B=A{5}
其实就相当于一个字典

这里最后两行,用小括号取出来的是cell,用大括号取出来的是字符串
%% 矩阵操作 B=1:2:9 % 起点:步长:终点,最终生成的是一个矩阵 C=repmat(B,3,2) % 把B这个矩阵,重复3行两列,最终合并成一个更大的矩阵 A=[1,2,3,4;5,6,7,8] B=[1,1,2,2;2,2,1,1] C=A+B D=A-B E=A*B' % A乘以B的转置,也就是形状相同的相乘用这个 F=A.*B % 对应项相乘(./同理,对应项相除) G=A/B % 相当于G*B=A,两边同时乘以B的逆矩阵,则G=A*pinv(B),也就是A乘以B的逆矩阵 G=inv(B) % 求B的逆矩阵 % 矩阵的下标 A=magic(5) B=A(2,3) % 下标检索 C=A(3,:) D=A(:,4) [m,n]=find(A>20) %找到A矩阵中大于20的序号,把行号存在m里,把列号存在n里
for循环结构:

while循环

if语句(当然可以加else,即if else end)

MATLAB里面还有switch哦

demo
%% 二维平面绘图 %% x=0:0.01:2*pi y=sin(x) figure % 建立一个幕布 plot(x,y) title('y=sin(x)') xlabel("x") ylabel("sin(x)") xlim([0 2*pi]) % 将图像尺寸在x方向上限制在什么值(0到2pi) ylim([-2 4]) % 这个范围都是从小到大,不可以写反了


%% 二维平面绘图之细节
%%
x=0:0.01:20
y1=200*exp(-0.05*x).*sin(x)
y2=0.8*exp(-0.5*x).*sin(10*x)
y3=2*x
figure
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot')
hold on %保留上面的线,继续在幕布上划线,要是不加这句话,再在这个幕布上划线的时候就会覆盖之前的线条
H3=plot(x,y3)
set(get(AX(1),'Ylabel'),'String','这是y1')
set(get(AX(2),'Ylabel'),'String','这是y2')
xlabel('这是x')
set(H1,"LineStyle",'--')
set(H2,"LineStyle",':')
%% 三维立体绘图demo %% t=0:pi/50:10*pi plot3(sin(t),cos(t),t) xlabel("sin(t)") ylabel("cos(t)") zlabel("t") hold on %指保留当前线,还能继续划线 grid on %生成网格 axis square %限制三个坐标轴的长度为一致(将本来随意的三维图限制成一个三维正方体)
在写论文的时候,可能需要调节分辨率:

%% 双峰图 %% [x,y,z]=peaks(30); mesh(x,y,z) grid
%% 图形窗口的分割 %% %% subplot(几行,几列,切下来第几块(横着数)) % linspace是Matlab中的一个指令,用于产生指定范围内的指定数量点数,相邻数据跨度相同,并返回一个行向量。 % 调用方法:linspace(x1,x2,N) % 功 能:用于产生x1,x2之间的N点行矢量,相邻数据跨度相同。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。 % 举个例子 A=linspace(-6,6,4) % 运行结果如下:A=-6 -2 2 6 %% % axis主要是用来对坐标轴进行一定的缩放操作,其操作命令主要如下: % 1、axis( [xmin xmax ymin ymax] ) 设置当前坐标轴 x轴 和 y轴的限制范围 % 2、axis( [xmin xmax ymin ymax zmin zmax cmin cmax] ) 设置 x,y,z轴的限制范围和色差范围。 % 3、v = axis 返回一个行向量,记录了坐标范围 % 4、axis auto 解除限制,恢复到默认状态 x=linspace(0,2*pi,60) plot(x,sin(x)-1) title("sin(x)-1") axis([0,2*pi,-2,0]) subplot(2,2,1) plot(x,sin(x)-1) title("sin(x)-1") axis([0,2*pi,-2,0]) subplot(11,11,3) plot(x,sin(x)-1) title("sin(x)-1") axis([0,2*pi,-2,0])
注意,这个方法只是分割的大小,而不是内容,如下:
一个是11x11的,一个是8x8的,但是图像还是画的图像,要是想画大图的一部分图像, 或者画其它图像,直接编辑subplot之后的图像即可。


浙公网安备 33010602011771号