失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用 MATLAB GUI进行动态电路可视化分析

利用 MATLAB GUI进行动态电路可视化分析

时间:2022-09-06 01:51:56

相关推荐

利用 MATLAB  GUI进行动态电路可视化分析

在学习完电路的动态电路知识后,作为物联网专业的大二萌新(嗯嗯嗯,对对对),思考如何将电路知识与专业相结合,更加直观的分析电路呢?这里选择利用MATLAB的GUI界面,来设计程序对一阶/二阶动态电路进行分析。

预期目标:

1、实现一个良好交互界面的应用程序;

2、输入一阶电容电路参数,分析零状态、零输入响应过程;

3、输入一阶电感电路参数,分析零状态、零输入响应过程;

4、输入二阶动态电路参数,进行全响应分析;

5、生动的展现各种分析结果。

6、实现对电路元件、电路结构的建模;

7、对建模电路进行自动暂态过程分析。

开发环境:

开发环境:windows 10,64位

使用工具:MATLAB Rb

设计思路

第一步

分析要求(产品经理nb~),理清具体要求,由于电路类型多,情况复杂,在同一界面下完成比较困难,可把不同电路分成几幅图,设计一个首页,调用不同的图;

通过下拉选择框,进行选择不同电路类型,即在popupmenu1_Callback下,构造一个全局变量JM(自己随便定义的),用来记录选择的内容值,并把值传给pushbutton_Callback,在按下“确认”键之后,根据不同的JM值,来选择需要打开的动态电路分析模型

第二步

子菜单设计,根据要求分为了七个模块,即一阶RL/RC零输入,零输入,全响应,二阶全响应;对于每一个菜单栏进行设计,根据动态电路,设计需要的模块,例如,对于一阶RL电路,用静态文本框,显示了初始电压,电感,电阻,时间常数等名称,在用可输入文本框作给赋值,或者值得传递;再设计坐标轴,画出电感两端电流值随时间的变化情况;

button_Callback

str2=get(handles.edit2,'string');%获取输入框的值str3=get(handles.edit3,'string');str4=get(handles.edit4,'string');global U to %定义全局变量R=str2double(str2);U=str2double(str3);C=str2double(str4);to=R*C;str1=num2str(to);set(handles.edit1,'string',str1);t=0:0.01:5;Uc=U*exp(-t/to);plot(handles.axis1,Uc);title('一阶RC零输入');ylabel('电容两端电压U/V');xlabel('时间T/s');%hold on %如果希望保持上次作图界面,注释去掉grid on

第三步

获取某一时刻的电压/电流值,调用矩形拖动框,在slider1_Callback

下,调用刚才全局变量参数,用get(handles.slider1,'value');获取拖动框对应的值,在根据比例,转化为对应的时间t(用edit框显示出来),根据时间t,算出该时刻的电压/电流值,set(handles.edit8,'string',str8);传输到界面显示;

global U tot0=get(handles.slider1,'value');set(handles.edit9,'string',t0);u=U*exp(-t0/to);str8=num2str(u);set(handles.edit8,'string',str8);

第四步

其他,一阶电路设计基本思路类似,只是参数和微分方程变化。

对于二阶而言,需要解微分方程组(虽然有解的公式,但是,这更简单粗暴,更具普适性)

syms uc(t) il(t);conduc = uc(0) == Us;condil = il(0) == I;ode1=diff(uc)==il/C;ode2=diff(il)==-uc/L -R*il/L +Us/L;odes=[ode1;ode2];conds=[conduc;condil];[ua(t),ia(t)]=dsolve(odes,conds);ui(t)=Us-R*ia-ua; %计算电感两端电压fplot(handles.axis1,t,ua);hold onfplot(handles.axis1,t,ui);title('二阶全响应');ylabel('电压U/V');xlabel('时间T/s');grid onlegend('电容电压','电感电压','Location','best')

🆗,大概基本完成可以进行调试了;

结果图如下:

如果觉得《利用 MATLAB GUI进行动态电路可视化分析》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。