01–根据数学公式进行绘制
1.绘制连续函数
①一元函数
t=0:0.1:10; y=3*t+2; plot(t,y)
②一元二次函数
t=0:0.1:10; y=t.*t; plot(t,y)
注意此处应为点乘
③一元3次
t=0:0.1:10; y=t.*t.*t; plot(t,y)
④y=1/t
t=0:0.1:10; y=1./t; plot(t,y)
⑤y=exp(t)
t=0:0.1:10; y=exp(2*t); plot(t,y)
⑥y=sin(t)
t=0:0.1:10; y=sin(2*t+0.5*pi); plot(t,y)
2.绘制离散函数
若想绘制离散函数点,则使用指令stem
t=0:0.1:10; y=sin(2*t+0.5*pi); stem(t,y)
02–常用的绘制指令
先取时间t
t=0:0.1:10;
绘制如下曲线:
y=sin(2*t+0.5*pi);
plot(t,y)
length
取点的个数
L=length(y);
rand
随机数,若直接用rand就是随机一个数,若用arand(x,y) 则随机x行y列的振幅为a的数
比如 >>a=1.5*rand(2,3)
a =
0.6461 1.1498 0.5142
1.4633 0.5251 0.7826
继续在前面的算式中按如下绘制
z=y+1.2*rand(1,L); plot(t,z)
subplot
如果想要同时显示2个窗口,则使用该指令
subplot – 在平铺位置创建坐标区
此 MATLAB 函数 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。MATLAB
按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区。
subplot(m,n,p)
subplot(m,n,p,’replace’)
subplot(m,n,p,’align’)
subplot(m,n,p,ax)
subplot(‘Position’,pos)
subplot(___,Name,Value)
ax = subplot(___)
subplot(ax)
title
加标题
>> t=0:0.1:10; y=sin(2*t+0.5*pi); z=y+1.2*rand(1,L);subplot(2,1,1); plot(t,z)
>> title(‘sin随机曲线’,’fontweight’,’bold’);
这里的subplot指的是2行1列,在第一个位置绘图
例如我们想在第二个位置绘图,那么可以先把subplot挪到第2个位置
>> subplot(2,1,2);
绘制一个sin曲线
>> z=y+1.2*rand;
>> plot(t,z)
>> title(‘sin曲线’,’fontweight’,’bold’);
结果:
如果想再返回第一个图绘制,则继续挪位置到第一个图
>> subplot(2,1,1);
>> title(‘sin随机1曲线’,’fontweight’,’bold’);
若想绘制多个图只需要去改变行列数值就行了
例如有2行2列四个图
>> t=0:0.1:10; y=sin(2*t+0.5*pi); z=y+1.2*rand(1,L);subplot(2,2,1); plot(t,z)
>> t=0:0.1:10; y=sin(2*t+0.5*pi); z=y+1.2*rand;subplot(2,2,2); plot(t,z)
>> t=0:0.01:10; y=sin(2*t+0.5*pi); z=y+t;subplot(2,2,3); plot(t,z)
>> t=0:0.1:10; y=sin(2*t+0.5*pi); z=y+1.2*rand(2,L);subplot(2,2,4); plot(t,z)
grid
会把当前的绘制图加上表格线
>> t=0:0.1:10; y=sin(2*t+0.5*pi); z=y+1.2*rand(2,101); plot(t,z)
>> grid
xabel,ylabel
xlabel – 为 x 轴添加标签
此 MATLAB 函数 将为 gca 命令返回的当前坐标区或图的 x 轴添加标签。重新发出 xlabel 命令会将旧标签替换为新标签。
xlabel(txt)
xlabel(target,txt)
xlabel(___,Name,Value)
t = xlabel(___)
>> xlabel(‘Time’)
>> ylabel(‘Value’)
冷end
更详细的参考帮助文档
simulink相关
打开模型
open_system(‘模型名字’)
运行模型
sim(‘模型名字’)
03–补充收集
//MATLAB绘画指令hold on //保持打开指令,可在当前已经plot的图形上继续作画hold off //与hold on相反,关闭当前的plot继续作画的功能title(' ') //给当前图画添加标题xlabel(' ') //给横轴加标注ylabel(' ')//给纵轴加标注legend(' ')//增加图例grid on(' ')//给绘图增加网格线grid off(' ')//关闭网格线subplot(3,3,9)//总共有3行3列的图形,当前显示第9个图形plot(t,y)//一般横轴作为自变量,纵轴作为求值,画出折线图plot(t,y,'*')//设置图线的显示形式//图线的显示形式有:B蓝色,G绿色,R红色,C青色,M品红//Y黄色,K黑色,-.点划线,:点线,*星号,V向下三角形,D菱形//S正方形,>向右正方形plot(x,y,'R:*')//同时加颜色和图线scatter(t,y) //散点图linspace(-2,2,5)//生成线性间距向量//y = linspace(x1,x2) //返回包含 x1 和 x2 之间的 100 个等间距点的行向量。//y = linspace(x1,x2,n) 生成 n 个点。//这些点的间距为 (x2-x1)/(n-1)。bar(t,y)//柱形图bar3(t,y)//三维的柱形图bar(y,'stack')//堆叠的柱形图barh(y)//水平的柱形图stem(t,y)//离散的曲线图pie(y)//饼状图X=[10,50,5,30,5];explode = [0 1 0 0 0];pie(X,explode);//突出某一扇形的饼状图pie3(y)//三维饼状图x = 0:pi/100:2*pi;y = sin(x);y2 = sin(x-.25);y3 = sin(x-.5);plot(x,y,x,y2,x,y3)//在一幅图形中绘制多个数据集legend('sin(x)','sin(x-.25)','sin(x-.5)')//同样的图示也需要增加set(gca,'XLim',[-50 50]);//X轴的数据显示范围set(gca,'XTick',[-50:10:50]);//设置要显示的坐标刻度set(gca,'YLim',[0 100]); //Y轴的数据显示范围set(gca,'YTick',[0:10:100]); //设置要显示的坐标刻度axis([xmin xmax ymin ymax]); //设置坐标轴在指定的区间//xmin、xmax 表示设置横坐标的最小最大值;//ymin、ymax 表示设置纵坐标的最小最大值。set(handles,‘xtick’,0:100:2500) // handles可以指定具体坐标轴的句柄//功能: 设置X轴坐标范围0到2500,显示间隔是100;set(handles,‘ytick’,0:100:2500) //handles可以指定具体坐标轴的句柄//功能: 设置X轴坐标范围0到2500,显示间隔是100;grid on//显示网格语句grid minor//显示次网格语句
举例:
a=3:4
b=[1 2 1;3 4 5]
bar(a,b)
bar3(a,b)
bar(b,’stack’)
barh(b)
pie(b)
explode = [0 1 0;0 0 0];
pie(b,explode);
pie3(b)