资源简介
分数阶PIDmatlab设计模块

代码片段和文件信息
function varargout = bodeFr(F Q w delay)
% [gain phase w] = bodeFr(F Q w delay)
% Bode diagram of a fractional plant. Paramter w may be a vector with the
% frequencies of the plot (in rad/s) or a cell with the limits of the
% frequency range of the plot (in rad/s). If empty a suitable range is
% provided.
% F may be of the form [P I lambda D mu] in which case the plant is
% P + I/(s^lambda) + D*(s^mu) and parameter Q is irrelevant; or be an lti
% object in which case Q will be the commensurate order (the default value
% of which will be 1. For instance plant 1/(1+s^.5) correponds to
% F = tf(1[1 1]) and Q = 0.5.
% Parameter delay is an optional delay the default being 0.
% A Bode diagram is plot if there are no return values.
% Otherwise the function returns the gain (absolute value) and the phase
% (in degrees) at frequencies w (in rad/s).
% Duarte Val閞io 2004
if nargin < 4 delay = 0; end % there is no delay by default
if nargin < 3 | isempty(w) % no data on w was provided
try % F is given as an ltimodel
temp = abs([tzero(F); pole(F)]);
catch % length(F) == 5 F is given as a list of parameters for a fractional PID
P = F(1); I = F(2); lambda = F(3); D = F(4); mu = F(5);
temp = sort([abs((-P+sqrt(P^2-4*D*I))/(2*D)) abs((-P-sqrt(P^2-4*D*I))/(2*D))]);
end % now temp has the zeros and poles of the plant
if min(temp)
wmax = 10^ceil(log10(max(temp))) * 100; %limits are powers of 10
wmin = 10^floor(log10(min(temp))) / 100;
else % temp has zeros
wmax = 100;
wmin = .01;
end
w = logspace(log10(wmin) log10(wmax) 10 * ceil(log10(wmax/wmin)));
end
% there are 10 frequencies per decade
if iscell(w) % only wmax and wmin were provided
wmin = w{1};
wmax = w{2};
w = logspace(log10(wmin) log10(wmax) 10 * ceil(log10(wmax/wmin)));
end
if nargin < 2 | isempty(Q) Q = 1; end % integer plants assumed as default
resp = freqrespFr(F Q w delay); % freqrespFr does the important work
gain = abs(resp);
phase = rad2deg(unwrap(angle(resp)));
if nargout == 0 % there are no output variables draw a plot
subplot(211)
semilogx(w 20*log10(gain))
grid on
title(‘Bode diagram‘)
xlabel(‘frequency / rad s^{-1}‘)
ylabel(‘gain / dB‘)
subplot(212)
semilogx(w phase)
grid on
ylabel(‘phase / ?)
else
varargout{1} = gain; % absolute value (NOT dB)
if nargout > 1 varargout{2} = phase; end % degrees
if nargout > 2 varargout{3} = w; end % rad/s
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2584 2005-08-17 12:46 ninteger\bodeFr.m
文件 2658 2005-08-17 18:01 ninteger\contents.m
文件 1779 2005-08-17 11:36 ninteger\crone1.m
文件 7442 2005-07-04 11:48 ninteger\crone2.m
文件 8274 2005-07-07 13:05 ninteger\crone2z.m
文件 14716 2004-02-16 18:34 ninteger\crone3.m
文件 1416 2005-07-14 12:13 ninteger\freqrespFr.m
文件 1363 2004-01-19 21:58 ninteger\hartley.m
文件 3387 2005-07-12 13:38 ninteger\lawro.m
文件 3431 2005-07-28 17:08 ninteger\levy.m
文件 762 2003-07-30 20:48 ninteger\matsudaCFE.m
文件 1927 2005-06-29 15:48 ninteger\newton.m
文件 2406 2005-07-14 13:12 ninteger\nicholsFr.m
文件 14751 2005-06-27 18:45 ninteger\nid.m
文件 19910 2005-08-01 18:27 ninteger\nintblocks.mdl
文件 2681 2005-06-27 11:02 ninteger\nipid.m
文件 5599 2005-08-23 16:53 ninteger\normh2Fr.m
文件 1030 2005-07-15 11:15 ninteger\normhinfFr.m
文件 2442 2005-07-14 13:12 ninteger\nyquistFr.m
文件 4560 2004-12-03 14:27 ninteger\sanko.m
文件 2247 2005-08-23 17:49 ninteger\sigmaFr.m
文件 3632 2004-08-10 12:20 ninteger\vinagre.m
文件 977 2002-07-18 13:56 ninteger\cfractions\contfrac.m
文件 1345 2004-08-24 11:23 ninteger\cfractions\contfraceval.m
文件 872 2003-08-04 09:44 ninteger\cfractions\contfracf.m
文件 1106 2002-07-24 18:20 ninteger\cfractions\contfracfeval.m
文件 51512 2003-09-22 12:43 ninteger\gui\crone2Gui.fig
文件 29634 2004-07-27 14:03 ninteger\gui\crone2Gui.m
文件 29376 2003-09-22 23:33 ninteger\gui\crone3Gui1.fig
文件 13312 2003-09-22 23:54 ninteger\gui\crone3Gui1.m
............此处省略21个文件信息
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论