Araro Aria 2021-04-28 11:23
浏览 22

能不能帮我看看这个matlab循环我哪里写错了吗?

目的是找到满足max_overshoot为0.43时所对应的K值,使用matlab R2016a

 for  K=1 ;     %定义K初值
     
     
Gs =K /(s*s*s+10*s*s+25*s+K); % 构造 Gs
     
     t = 0:0.05:500; % 设置横轴范围和步长
[y,x,t] = step(Gs,t); % 根据步长逐步响应传递函数
[ymax,tp] = max(y(1:100)); % 获取最大值的点的数据
ystable = dcgain(Gs);
max_overshoot = (ymax-ystable)/ystable % 超调量
if max_overshoot <= 0.435 && max_overshoot >= 0.425;
    disp (K);
end
 K=K+1;
    
 end

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 一直显示正在等待HID—ISP
    • ¥15 Python turtle 画图
    • ¥15 关于大棚监测的pcb板设计
    • ¥15 stm32开发clion时遇到的编译问题
    • ¥15 lna设计 源简并电感型共源放大器
    • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
    • ¥15 Vue3地图和异步函数使用
    • ¥15 C++ yoloV5改写遇到的问题
    • ¥20 win11修改中文用户名路径
    • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入