MATLAB证明一阶RC电路中,任一点切线的横坐标差值A(t2-t1)等于时间常数τ

%证明一阶RC电路中,任一点切线的横坐标差值A(t2-t1)等于时间常数τ
%swu_ly
%初始设值
clear,clc%清空数据与指令行
U=1;R=40;C=1;%假设电压U为1伏,电阻R为40欧,电容为1法拉
t0=0;%取t0=0秒切切线
t1=randi(150);%取t1为1到150以内的值做切线

syms t;%声明变量t
u(t)=U*exp(-t/R*C);	%syms声明要和函数一起,不然会报错
u0=u(t0);
u1=u(t1);

f(t)=diff(u(t));%求导求斜率
k=f(t1);
k0=f(t0);

t=(0:1:150);

y0=k0*t+u0;%切线
y=k*(t-t1)+u1;
t2=fzero(@(t)k*(t-t1)+u1,[0,150]);%通过该切线与x坐标轴的交点计算出t2
tao=fzero(@(t)k0*t+u0,[0,150]);;%tao为τ,通过该切线与x坐标轴的交点计算出τ


plot(t,u(t),'r',t,y,'b',t,y0,'g'),ylim([0,1]);%画图
line([t1,t1],[0,u1],'color','k','linestyle','--');
line([0,t1],[u1,u1],'color','k','linestyle','--');
hold on;  %保持当前的图与坐标轴属性,以便后续的绘图命令添加到现有的图表中
grid on
plot(0,1,'.','Color','g','MarkerSize',20);
plot(tao,0,'.','Color','g','MarkerSize',20);
plot(t2,0,'.','Color','b','MarkerSize',20);
plot(t1,u1,'.','Color','b','MarkerSize',20);
plot(t1,0,'.','Color','b','MarkerSize',20);
text(t1,u1,'切点')
text(t1,u1,'切点')
text(t1,0,'t1')
text(t2,0,'t2')
text(tao,0,'τ')
title('证明一阶RC电路中,任一点切线的横坐标差值A(t2-t1)等于时间常数τ示图')
legend('u(t)=U*exp(-t/R*C)','y=k*(t-t1)+u1','y0=k0*t+u0','Location','North')%最后‘'Location','North'’是位置

%进行判断
A=t2-t1;%A为t2-t2的差值
tf = isequal(A, tao)%判断A与τ是否相等,输出逻辑判断,为1则证明成功,为0则证明失败

有点小bug,希望大家谅解,恳请大佬修改指正,谢谢大家 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮牛牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值