⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wengccc.m

📁 运用MATLAB对控制系统进行仿真操作
💻 M
字号:
%用龙格库塔法计算开环传递函数在阶跃输入下的响应
clear;clc;
disp('*******************************************')
disp('**     用龙格库塔法计算开环或闭环传递      **')
disp('**       函数在阶跃输入下的响应            **')
disp('*********************************************')
disp('                                             ')
disp('1.开环传递函数');
disp('2.闭环传递函数');
Loop_style=input('请选择传递函数的种类1或2:');


value_n=input('请输入输出y的最高阶导数n的值:');
value_m=input('请输入输入u的最高阶导数m的值:');
N=input('请以矩阵形式输入输出y的各阶导数的系数由高到低\n')       %Y的系数值
M=input('请以矩阵形式输入输入u的的各阶导数的系数由高到低\n')      %U的系数值
if N(1)~=1
    M=M/N(1);
    N=N/N(1);
end
N=N(2:end);
q=1;
[A,B,C,D]=weng1(N,M,q,value_n,value_m);

if Loop_style==1
    V=input('输入反馈系数\n');
    A=A-B*V*C;
end
U=input('输入阶跃输入系数\n');
disp('                        ');
disp('1.欧拉算法');
disp('2.二阶龙格库塔算法');
disp('3.三阶龙格库塔算法');
disp('4.四阶龙格库塔算法');
Q=input('输入数值计算方法:1-4::');

disp('                 ');
h=input('请输入步长:');
n=input('请输入积分时间系数(数值计算循环次数):')
if D==0
    disp('Success');
else
    disp('Wrong with the non_zero D')
end

N=value_n;


if Q==4
    y=RKfour(h,A,B,C,U,N,n)
    disp('success of 4-RK!')
elseif Q==3
    y=RKthree(h,A,B,C,U,N,n)
    disp('success of 3-RK!');
elseif Q==2
    y=RKtwo(h,A,B,C,U,N,n)    
    disp('success of 2-RK!');

elseif Q==1
    y=RKone(h,A,B,C,U,N,n)
    
    disp('success of 1-RK!');
else
    disp('The wrong numerical calculation method!');       
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -