Matlab如何打开新版本程序,求助:老程序在新版本的matlab中运行

本帖最后由 麦克雷 于 2020-12-31 19:39 编辑

求助:想使用一个多年前的老程序,但是新版本的matlab不支持运行。matlab版本R2018a。

程序目的是仿真一个三阶电路,图片见附件。m文件程序如下:

syms t s

dI = sym('diff(I(t),t)');

dU = sym('diff(U(t),t)');

I = sym('I(t)'); U = sym('U(t)');

E = sin(t);

eq1 = 8/5 * dI - 1/2 * dU + 6 * I;

eq2 = 1/4 * dU - (E - U + 2 * I)/5;

L1 = laplace(eq1,t,s);

L2 = laplace(eq2,t,s);

syms LI LU

NI = subs( L1, {'I(0)', 'U(0)'}, {15, 8});

NU = subs( L2, {'I(0)', 'U(0)'}, {15, 8});

NI = subs(NI, {'laplace(I(t),t,s)','laplace(U(t),t,s)'},{LI, LU});

NU = subs(NU, {'laplace(I(t),t,s)','laplace(U(t),t,s)'},{LI, LU});

NI = collect(NI,LI);

NU = collect(NU,LU);

[LI,LU] = solve(NI,NU,LI,LU);

I = ilaplace(LI,s,t);

U = ilaplace(LU,s,t);

Subplot(2,2,1); ezplot(I, [0, 10]);

Title('current'); ylabel('I(t)'); grid

Subplot(2,2,1); ezplot(U, [0, 10]);

Title('voltage'); ylabel('I(t)'); grid

Subplot(2,2,1); ezplot(I, [5, 25]);

Title('current'); ylabel('I(t)'); grid

Subplot(2,2,1); ezplot(U, [5, 25]);

Title('current'); ylabel('I(t)'); grid

自己也做过多次尝试,比如sym换成str2sym、更换subs函数等,但都不能解决问题。第一次使用matlab,新人小白向大佬们求助,请问如何解决问题?

PS.sym改成str2sym、第11行~14行改为

NI = str2sym(strrep(L1,{'I(0)','U(0)'},{15,8}));

NU = str2sym(strrep(L2,{'I(0)','U(0)'},{15,8}));

NI = str2sym(strrep(NI,{'laplace(I(t),t,s)','laplace(U(t),t,s)'},{LI, LU}));

NU = str2sym(strrep(NU,{'laplace(I(t),t,s)','laplace(U(t),t,s)'},{LI, LU}));

后,报错信息如下:

警告: 输入必须为字符向量、字符向量元胞数组或字符串数组。

> In shiyan1 (line 11)

错误使用 strrep

图1.png

(11.21 KB, 下载次数: 1)

2020-12-31 19:28 上传

b4d287d1aacbf0cf95a77c41289acfe6.gif

c5006d1a5b4047f80d42a7082635a87b.gif

电路图

8e1ac78eed44ee0b43685672030a5b6a.png

图2.png

(12.05 KB, 下载次数: 1)

2020-12-31 19:28 上传

b4d287d1aacbf0cf95a77c41289acfe6.gif

c5006d1a5b4047f80d42a7082635a87b.gif

方程

eab8ba80e944412e6986267eba840219.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值