Add two functions
This commit is contained in:
parent
e5e290cb81
commit
2affca0685
15
gravimeter/align.m
Normal file
15
gravimeter/align.m
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
function [A] = align(V)
|
||||||
|
%A!ALIGN(V) returns a constat matrix A which is the real alignment of the
|
||||||
|
%INVERSE of the complex input matrix V
|
||||||
|
%from Mohit slides
|
||||||
|
|
||||||
|
if (nargin ==0) || (nargin > 1)
|
||||||
|
disp('usage: mat_inv_real = align(mat)')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
D = pinv(real(V'*V));
|
||||||
|
A = D*real(V'*diag(exp(1i * angle(diag(V*D*V.'))/2)));
|
||||||
|
|
||||||
|
|
||||||
|
end
|
34
gravimeter/pzmap_testCL.m
Normal file
34
gravimeter/pzmap_testCL.m
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
function [] = pzmap_testCL(system,H,gain,feedin,feedout)
|
||||||
|
% evaluate and plot the pole-zero map for the closed loop system for
|
||||||
|
% different values of the gain
|
||||||
|
|
||||||
|
[~, n] = size(gain);
|
||||||
|
[m1, n1, ~] = size(H);
|
||||||
|
[~,n2] = size(feedin);
|
||||||
|
|
||||||
|
figure
|
||||||
|
for i = 1:n
|
||||||
|
% if n1 == n2
|
||||||
|
system_CL = feedback(system,gain(i)*H,feedin,feedout);
|
||||||
|
|
||||||
|
[P,Z] = pzmap(system_CL);
|
||||||
|
plot(real(P(:)),imag(P(:)),'x',real(Z(:)),imag(Z(:)),'o');hold on
|
||||||
|
xlabel('Real axis (s^{-1})');ylabel('Imaginary Axis (s^{-1})');
|
||||||
|
% clear P Z
|
||||||
|
% else
|
||||||
|
% system_CL = feedback(system,gain(i)*H(:,1+(i-1)*m1:m1+(i-1)*m1),feedin,feedout);
|
||||||
|
%
|
||||||
|
% [P,Z] = pzmap(system_CL);
|
||||||
|
% plot(real(P(:)),imag(P(:)),'x',real(Z(:)),imag(Z(:)),'o');hold on
|
||||||
|
% xlabel('Real axis (s^{-1})');ylabel('Imaginary Axis (s^{-1})');
|
||||||
|
% clear P Z
|
||||||
|
% end
|
||||||
|
end
|
||||||
|
str = {strcat('gain = ' , num2str(gain(1)))}; % at the end of first loop, z being loop output
|
||||||
|
str = [str , strcat('gain = ' , num2str(gain(1)))]; % after 2nd loop
|
||||||
|
for i = 2:n
|
||||||
|
str = [str , strcat('gain = ' , num2str(gain(i)))]; % after 2nd loop
|
||||||
|
str = [str , strcat('gain = ' , num2str(gain(i)))]; % after 2nd loop
|
||||||
|
end
|
||||||
|
legend(str{:})
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user