瀏覽代碼

splitted to solution

master
Wouter Horlings 8 年之前
父節點
當前提交
11e3cbd652
共有 6 個檔案被更改,包括 39 行新增23 行删除
  1. 二進制
      OOequipment/RC_TransferFunction.mlx
  2. 二進制
      OOequipment/RC_TransferFunction_solution.mlx
  3. 二進制
      OOequipment/RLC_TransferFunction.mlx
  4. 二進制
      OOequipment/RLC_TransferFunction_solution.mlx
  5. +19
    -11
      OOequipment/subfiles/RC_TransferFunction_script.m
  6. +20
    -12
      OOequipment/subfiles/RLC_TransferFunction_script.m

二進制
OOequipment/RC_TransferFunction.mlx 查看文件


二進制
OOequipment/RC_TransferFunction_solution.mlx 查看文件


二進制
OOequipment/RLC_TransferFunction.mlx 查看文件


二進制
OOequipment/RLC_TransferFunction_solution.mlx 查看文件


+ 19
- 11
OOequipment/subfiles/RC_TransferFunction_script.m 查看文件

@@ -23,16 +23,24 @@ linkaxes([ax1,ax2],'x')
%% Run the measurements
if theory_only == false
data = transferFunction(oscilloscope,functiongenerator,f_start,f_stop,amplitude,n_steps,n_measurements);
%% Plotting
%% Process the data
A_mean = mean(data.magnitude);
P_mean = mean(data.phase);
A_std = std(data.magnitude);
P_std = std(data.phase);
A_mean = mean(data.magnitude,1);
P_mean = mean(data.phase,1);
A_std = zeros(1,data.steps);
P_std = zeros(1,data.steps);
if data.measurements > 1
A_std = std(data.magnitude,1);
P_std = std(data.phase,1);
end
A_mean_log = 20*log10(A_mean);
A_std_log_neg = A_mean_log - 20*log10(A_mean - A_std);
A_std_log_pos = 20*log10(A_mean + A_std) - A_mean_log;

%% plot average measurement, theory and asymptote.
figure;
ax1 = subplot(2,1,1);
semilogx(data.frequency,20*log10(A_mean),f,A,f,S)
semilogx(data.frequency,A_mean_log,f,A,f,S)
ylabel('Magnitude [dB]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement','Theory','Asymptote');
@@ -49,21 +57,21 @@ if theory_only == false
%% plot avearage measurement with standard deviation and theory.
figure;
ax1 = subplot(2,1,1);
errorbar(data.frequency,A_mean_log,A_std_log_neg,A_std_log_pos)
ax1.XScale = 'log';
errorbar(data.frequency,20*log10(A_mean),20*log10(A_std))
hold on
semilogx(f,A)
hold off
ylabel('Magnitude [dB]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement','Theory','Asymptote');
legend('Average Measurement','Theory');
grid on
title('RC-circuit Bodeplot')
ax2 = subplot(2,1,2);
ax2.XScale = 'log';
errorbar(data.frequency,P_mean,P_std);
ax2.XScale = 'log';
hold on
semilogx(data.frequency,P_mean,f,P)
semilogx(f,P)
hold off
ylabel('Phase [rad]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
@@ -73,16 +81,16 @@ if theory_only == false
%% plot avearage measurement with standard deviation.
figure;
ax1 = subplot(2,1,1);
errorbar(data.frequency,A_mean_log,A_std_log_neg,A_std_log_pos)
ax1.XScale = 'log';
errorbar(data.frequency,20*log10(A_mean),20*log10(A_std))
ylabel('Magnitude [dB]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement');
grid on
title('RC-circuit Bodeplot')
ax2 = subplot(2,1,2);
ax2.XScale = 'log';
errorbar(data.frequency,P_mean,P_std);
ax2.XScale = 'log';
ylabel('Phase [rad]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement');


+ 20
- 12
OOequipment/subfiles/RLC_TransferFunction_script.m 查看文件

@@ -10,7 +10,7 @@ xlabel('Frequency [Hz]','Fontsize',10);
xlim([f_start,f_stop]);
legend('Theory','Asymptote');
grid on
title('RLC-circuit Bodeplot Theory')
title('RC-circuit Bodeplot Theory')
ax2 = subplot(2,1,2);
semilogx(f,P)
ylabel('Phase [rad]','Fontsize',10);
@@ -23,16 +23,24 @@ linkaxes([ax1,ax2],'x')
%% Run the measurements
if theory_only == false
data = transferFunction(oscilloscope,functiongenerator,f_start,f_stop,amplitude,n_steps,n_measurements);
%% Plotting
%% Process the data
A_mean = mean(data.magnitude);
P_mean = mean(data.phase);
A_std = std(data.magnitude);
P_std = std(data.phase);
A_mean = mean(data.magnitude,1);
P_mean = mean(data.phase,1);
A_std = zeros(1,data.steps);
P_std = zeros(1,data.steps);
if data.measurements > 1
A_std = std(data.magnitude,1);
P_std = std(data.phase,1);
end
A_mean_log = 20*log10(A_mean);
A_std_log_neg = A_mean_log - 20*log10(A_mean - A_std);
A_std_log_pos = 20*log10(A_mean + A_std) - A_mean_log;

%% plot average measurement, theory and asymptote.
figure;
ax1 = subplot(2,1,1);
semilogx(data.frequency,20*log10(A_mean),f,A,f,S)
semilogx(data.frequency,A_mean_log,f,A,f,S)
ylabel('Magnitude [dB]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement','Theory','Asymptote');
@@ -49,21 +57,21 @@ if theory_only == false
%% plot avearage measurement with standard deviation and theory.
figure;
ax1 = subplot(2,1,1);
errorbar(data.frequency,A_mean_log,A_std_log_neg,A_std_log_pos)
ax1.XScale = 'log';
errorbar(data.frequency,20*log10(A_mean),20*log10(A_std))
hold on
semilogx(f,A)
hold off
ylabel('Magnitude [dB]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement','Theory','Asymptote');
legend('Average Measurement','Theory');
grid on
title('RLC-circuit Bodeplot')
ax2 = subplot(2,1,2);
ax2.XScale = 'log';
errorbar(data.frequency,P_mean,P_std);
ax2.XScale = 'log';
hold on
semilogx(data.frequency,P_mean,f,P)
semilogx(f,P)
hold off
ylabel('Phase [rad]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
@@ -73,16 +81,16 @@ if theory_only == false
%% plot avearage measurement with standard deviation.
figure;
ax1 = subplot(2,1,1);
errorbar(data.frequency,A_mean_log,A_std_log_neg,A_std_log_pos)
ax1.XScale = 'log';
errorbar(data.frequency,20*log10(A_mean),20*log10(A_std))
ylabel('Magnitude [dB]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement');
grid on
title('RLC-circuit Bodeplot')
ax2 = subplot(2,1,2);
ax2.XScale = 'log';
errorbar(data.frequency,P_mean,P_std);
ax2.XScale = 'log';
ylabel('Phase [rad]','Fontsize',10);
xlabel('Frequency [Hz]','Fontsize',10);
legend('Average Measurement');


Loading…
取消
儲存