DAY8MATLAB学习笔记—simulink⼊门、MATLAB符号函数的图形绘制
如何打开simulink:
启动simulink:
先打开MATLAB软件界⾯
第⼀步打开simulink
第⼆步在command windows输⼊ simulink然后enter,等待
有很多模块库
第三步:常⽤的simulink库
打开以后会看到simulink library browser这个界⾯
最常⽤的就是simulink和他的⼦模块
点⼀下左上⾓⼩图标,会新建⼀个model
在block⾥选择⼀个图标,右键,add on……
1、file-model properties 模型属性
2、simulink preferences 全局特性窗⼝
<1>solver 设置求解器
开始时间、ode45
如何连接simulink:
正确连接就是⿊⾊,连接失败就是虚线或者是红⾊的
基本操作—模块参数的设置、仿真器的设置、运⾏仿真:
正弦信号发⽣器:
幅值(amplitude)、相位(bias)、频率(frequency)、初始相位(phase)、采样时间(sample time)
仿真器的设置:
simulation-model configuration parameters
start time、stop time
type:variable-step(可变步长)
slover:ode45
设置好以后运⾏
增益器:
改变幅值
微分器(连续时间模块⼦集):
频率是⼏就扩⼤⼏倍
死区模块(⾮连续时间模块⼦集):
设置死区,某区间的输出是0
饱和模块(⾮连续时间模块⼦集):
设置饱和区,⼤于某数值是输出为1
间隔测试模块(⾮连续时间模块⼦集):
设置上限和下限
数位提取模块:
输⼊常数项28,数位提取模块提取需要的⼆进制位
复数模块:
第⼀个是实部,第⼆个是实部,然后把它变成复数,接下来把它变成复数的值和⾓度
回调函数: file-model properties-callbacks就可以看到他的所有回调函数,有程序的就是星号标注
MATLAB符号函数的图形绘制:
⼀元函数:
clear all;
x=-2:0.1:4;
figure
plot(x,humps(x));
title(‘plot’);
fugure;
fplot(@humps,[-2 4])%更加光滑
title(‘fplot’);
同时画三个曲线:
clear all;
clear all;
figure;
fplot(’[1/x,sin(x),cos(x)]’,2pi [-1 1 -1 1]);%x,y都是-2pi到2pi
legend(‘1/x’,‘sin(x)’,‘cos(x)’);
极坐标绘图:
clear all;
figure;
ezpolar(‘sin(8 * t).* cos(8* t)’,[0,pi]);
符号函数的三维⽹格图:
clear all;
figure;
ezmesh(‘x.* exp(x.2)’);
带有等值线的三维⽹格图:
clear all;
figure;
ezmeshc(‘x.exp(-5x.2)’);
符号函数的等值线图:
clear all;
figure;
ezcontour(‘x.* exp(-x.2)’,[-3 3]);
三维彩⾊曲⾯图:
clear all;
figure;
ezsurf(‘x.* y.2+y.^3)’);
带有等值线的三维彩⾊的曲⾯图:
clear all;
figure;
ezsurfc(‘4* x.* exp(-4* x.^2 - 6* y.^2)’);
MATLAB基本绘图函数:
clear all;
t=0.1:0.02:2* pi; %⾃变量范围
figure;
plot(t,sin(t),‘r:’); %红⾊
hold on;
plot(t,cos(t)); %绘制
xlabel(‘x’); %横坐标标签
ylabel(‘y’); %纵坐标标签
title(‘plot’); %题⽬
clear all;
y=magic(4); %%4⾏4列的矩阵
figure;
plot(y); %对每⼀列绘制⼀条线,那就是4条,每条4个点,默认颜⾊不同
clear all;
x=0:0.1:16;
y=sin(x);
figure;
plot(x,y);
clear all;
x=1:4;
y=magic(4);
figure;
plot(x,y);
2-y.2-8*y.2-y.3/(x.
y=cos(x+0.7)+5;
figure;
plot(x,y,'r-.’); %红⾊,线型
clear all;
x=0.01:0.2:6* pi;
y=cos(x);
figure;
plot(x,y,‘g:^’);
%%
clear all;
x=-pi:pi/20:pi;
y=tan(sin(x))-sin(tan(x));
plot(x,y,’–rs’,‘LineWidth’,1,…
‘MarkerEdgeColor’,‘k’,…
‘MarkerFaceColor’,‘g’,…
‘MarkerSize’,4);
同时绘制多条曲线:
clear all;
x=-pi:pi/20:pi;
y=sin(x);
z=cos(x);
figure;
plot(x,y,'r:* ',x,z,‘g-.v’);
MATLAB⼦图绘制和坐标轴控制:
clear all;
x=-pi:pi/20:pi;
figure;
subplot(2,1,1);
plot(x,sin(x),‘r–’);%红⾊
subplot(212);
plot(x,cos(x),'b:* ');%蓝⾊
clear all;
x=-pi:pi/20:pi;
figure;
subplot(2,2,1);
plot(x,sin(x),‘r–’);
subplot(223);
plot(x,cos(x),‘b:*’);
subplot(2,2,[2 4]);
plot(x,sin(x)+cos(x),‘b-.^’);
坐标轴的设置:
clear all;
t=0.01:0.01:pi;
figure;
plot(sin(t),cos(t));
axis %% 设置坐标轴 获取当前坐标轴
clear all;
t=0.01:0.01:pi;
figure;
plot(sin(t),cos(t));
axis([-1 1 -2 2]); % 设置坐标轴显⽰范围
figure;
plot(sin(t),cos(t));
axis off %取消坐标轴的显⽰matlab⽹格线和边框设置:clear all;
t=0.01:0.01:2pi;
figure;
plot(t,sin(t));
axis([0 2pi -1 1]);
grid on; %显⽰⽹格线
clear all;
t=0.01:0.01:2pi;
figure;
plot(t,sin(t));
axis([0 2pi -1 1]);
box off; %关闭边框
坐标轴的缩放:
clear all;
t=0.01:0.01:2*pi;
figure;
subplot(121);
plot(t,sin(t));
axis([-5 10 -3 3]);
title(‘放⼤前’);
subplot(122);
plot(t,sin(t));
axis([-5 10 -3 3]);
zoom on;
title(‘放⼤后’);用subplot函数
clear all;
t=0.01:0.01:2* pi;
figure;
subplot(121);
plot(t,sin(t));
axis([-5 10 -3 3]);
title(‘放⼤前’);
subplot(122);
plot(t,sin(t));
axis([-5 10 -3 3]);
zoom xon;
title(‘x轴放⼤后’);
matlab绘图中级技巧:
图的拖拽:
clear all;
t=0.01:0.01:2* pi;
figure;
plot(t,sin(t),’–r’);
pan on; %打开拖拽功能
数据光标:
clear all;
t=0.01:0.01:2* pi;
figure;
plot(t,sin(t),’–r’);
datacursormode on;%获取数据点
绘制直线:
clear all;
x=0.1:0.8:2pi;
y=sin(x);
figure;
line(x,y);
极坐标绘图:
clear all;
x=0:0.02:2 pi;
y=sin(2* x).* cos(2* x);
figure;
polar(x,y,’–r’); %% 弧度 半径 线型
双Y轴绘图:
clear all;
x=0.1:0.1:2* pi;
y=sin(x);
z=10.^x;
figure;
plotyy(x,y,x,z);
图形的编辑操作:
clear all;
x=0.1:0.1:2pi;
y=cos(x);
figure;
plot(x,y);
axis([0,2pi,-1,1])
title(‘余弦函数’,‘fontname’,‘宋体’,‘fontsize’,10,‘fontweight’,‘bold’);
在⽣成的图形⾥点开编辑,可以到“图形属性”
matlab坐标轴标题和图例:
坐标轴标题:
clear all;
x=0.1:0.1:2* pi;
y=sin(x);
figure;
plot(x,y);
axis([0,2* pi,-1,1])%横坐标0到2π,纵坐标-1到1
xlabel(’\it横轴标题’,‘fontname’,‘宋体’);
ylabel(‘纵轴标题’,‘fontname’,‘宋体’,‘rotation’,-90);%没有最后的90度,会变成横着的
图例:
clear all;
x=0.1:0.1:2* pi;
y=sin(x);
z=cos(x);
figure;
subplot(121);
plot(x,y,’-b’);
hold on;
plot(x,z,’–r’);
axis([0,2* pi,-1,1])
set(gca,‘XTick’,[0 pi 2* pi],‘XTickLabel’,{‘0’,‘pi’,‘2pi’});%
xtick是刻度(⼩竖线);xticklabel 刻度值(竖线下⾯的数值)。
set(gca,‘xtick’,-pi:pi/2:pi)这句的意思是:⼿动设置x轴刻度,-pi到pi之间,每间隔pi/2,划⼀⼩竖线。
set(gca,‘xticklabel’,{’-pi’,’-pi/2’,‘0’,‘pi/2’,‘pi’})这句的意思是:给刚才划上的⼩竖线,标个数值。如果你把它改成: