用matlab解下面的方程,如果无穷大次求和解不出来的话可以用一个较大的数代替无穷大,最后要附上代码和解的图像
1条回答 默认 最新
- CSDN专家-Matlab_Fans 2021-08-04 20:16关注
代码:
V0 = 1e8; T = 0.00025; td = 0.0000152; N = 1e4; n = 1:N; Vpt = @(t) V0/2 + sum( V0*( sin(2*n*pi*td/T).*cos(2*n*pi*t/T) + (1-cos(2*n*pi*td/T)).*sin(2*n*pi*t/T) )./(n*pi) ); Fpt = @(t) V0*t/2 + sum( (T*(V0*cos((2*pi*n*t)/T - (2*pi*n*td)/T) - V0*cos((2*pi*n*t)/T)))./(2*n.^2*pi^2) ); Fpt2 = @(t) Fpt(t) - Fpt(0); % 原函数 dfun = @(t,x) Vpt(t)*x./Fpt(t); [T,X] = ode45( dfun,[1 10],0.1 ); figure plot(T,X)
结果:
需要注意的问题:
- t=0时,若Fpt(0)=0,则会出现分母为0无意义的情况;
- 需要给出tau的初始值。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵