How to fix this error in interp1?
이전 댓글 표시
this is my code, i want to zoom in the db from -5 to -1, there is a problem that error using interp1 X mush be a vector, could you please help me?
R = 1e3; % resistor value [Ohms]
C = 1e-6; % Capacitor value [Farads]
H = tf([R*C,0], [R*C,1]);
% plot a bode plot (3dB frequency should be at 1/RC = 1000 rads/sec.
[mag,phase,wout] = bode(H);
zoom y lim = [-5,-1]; % y-axis range for zoom in section
min max w zoom = interp1(20*log10(mag),wout,zoom y lim);
indexOfInterest = (wout > min(min max w zoom)) & (wout < max(min max w zoom));
plot(wout(indexOfInterest),20*log10(mag(indexOfInterest)));
답변 (1개)
R = 1e3; % resistor value [Ohms]
C = 1e-6; % Capacitor value [Farads]
H = tf([R*C,0], [R*C,1]);
% plot a bode plot (3dB frequency should be at 1/RC = 1000 rads/sec.
[mag,phase,wout] = bode(H);
wout = squeeze(wout);
mag = squeeze(mag);
plot(wout, 20*log10(mag), 'b:');
zoom_y_lim = (-5:.1:-1); % y-axis range for zoom in section
w_zoom = interp1(20*log10(mag), wout, zoom_y_lim);
whos
hold on
plot(w_zoom, zoom_y_lim, 'r-', 'Linewidth', 2);
ylim([-8 0])
xlim( [0 1]*1e4)
figure
semilogx(wout, 20*log10(mag), 'b'); grid on
ax = axes('Pos', [.4 .2 .4 .4], 'Box', 'on');
semilogx(w_zoom, zoom_y_lim); grid on
댓글 수: 9
Huijia Ma
2021년 11월 17일
Chunru
2021년 11월 17일
See the updated.
Huijia Ma
2021년 11월 17일
Huijia Ma
2021년 11월 18일
Chunru
2021년 11월 18일
First find two measurement points:
[~, i1] = min(abs(f_vec - F1));
[~, i2] = min(abs(f_vec - F2));
Then plot the measurement response:
hold on
plot(fvec([i1 i2]), 20*log10(abs(resp([i1 i2]))), 'ro'); % check if u need log10
Huijia Ma
2021년 11월 18일
Huijia Ma
2021년 11월 19일
Chunru
2021년 11월 20일
Let's assume that f_vec=[0 1 2 3 4 5 6 7]; F1=4.99; min(abs(f_vec-F1)) is to find the closest point in f_vec to F1. In this case, it is f_vec(6)=5 which is closest to 4.99. The whole statement of [~, i1]=min(abs(f_vec-F1)) will assign the index 6 to i1.
Huijia Ma
2021년 11월 20일
카테고리
도움말 센터 및 File Exchange에서 Scopes and Data Logging에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






