1、内容简介

2、内容说明

clear
clc
close all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f = @(x) 2*x.^2-1; % 定义函数
% ==============================
xstart = 0;
xstop = 2;
num_steps = 20;
xpoints = linspace(xstart,xstop,num_steps);
ypoints = f(xpoints); % 调用之前的函数
integral = trap_integrate(ypoints,xstart,xstop,num_steps)
% 理论积分数值 16/3-2
% ==============================
xstart = 0;
xstop = 2;
num_steps = 50;
xpoints = linspace(xstart,xstop,num_steps);
ypoints = f(xpoints);
integral = trap_integrate(ypoints,xstart,xstop,num_steps)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f = @(x) tan(x);
% ==============================
xstart = 0;
xstop = pi/3;
num_steps = 100;
xpoints = linspace(xstart,xstop,num_steps);
ypoints = f(xpoints);
integral = trap_integrate(ypoints,xstart,xstop,num_steps)
% ==============================
xstart = 0;
xstop = pi/3;
num_steps = 200;
xpoints = linspace(xstart,xstop,num_steps);
ypoints = f(xpoints);
integral = trap_integrate(ypoints,xstart,xstop,num_steps)
%%
C = 33.3e-6;
R = 200;
sys = tf([1 0],[R 1/C]); %传递函数
step(sys)
xstart=0;
xstop=10;
num_steps=1000;
t = linspace(xstart,xstop,num_steps); % 时间
U = @(t)200*cos(300*t);
in = U(t);
i = lsim(sys,in,t);% 仿真
plot(t,i)
integral = trap_integrate(i.^2,xstart,xstop,num_steps);
rms = sqrt(integral/(xstop-xstart))
function integral = trap_integrate(ypoints,xstart,xstop,num_steps)
data = linspace(xstart,xstop,num_steps); %生成x数据
integral = 0;
if length(data)~=length(ypoints)
error('输入的x,y数据长度不相等,请检查输入') % 判断输入的数据是不是合理
end
step =data(2)- data(1); % x数据间隔
for i = 1:num_steps-1
integral = integral+(ypoints(i)+ypoints(i+1))*step/2; % 梯形积分累加
end

3、仿真分析

4、参考论文