将以下代码的x1用x3表示:clear all; clc; p=1; q=2; Ts=5; Re = 10; Im = 2; syms x1 x3; x1 = Re*(((p-1)*(p-1)+x3*Ts*p)*((p-1)*(p-1)+x3*Ts*p)+(x3*Ts*q+q)*(x3*Ts*q+q))*Ts*q+Im*(((p-1)*(p-1)+x3*Ts*p)*((p-1)*(p-1)+x3*Ts*p)+(x3*Ts*q+q)*(x3*Ts*q+q))*(Ts*(p*p+q*q-p)+x3*Ts*Ts*(p*p+q*q))/(((p-1)*(p-1)+(p*p-p+q*q)*x3*Ts+q*q)*Ts*q+(Ts*(p*p-p+q*q)+x3*Ts*Ts*(p*p+q*q))*x3*Ts*q); x1 = solve(x1, x3); disp(expand(x1));
时间: 2023-07-23 07:12:01 浏览: 97
matlab中常用的函数简介
将代码中的 solve(x1, x3) 改为 solve(x1 == y, x3),其中 y 为一个新定义的符号变量,再用 solve 求解 y 关于 x1 的表达式,即可用 x3 表示 x1:
```matlab
clear all; clc;
p=1; q=2; Ts=5; Re = 10; Im = 2;
syms x1 x3 y;
x1 = Re*(((p-1)*(p-1)+x3*Ts*p)*((p-1)*(p-1)+x3*Ts*p)+(x3*Ts*q+q)*(x3*Ts*q+q))*Ts*q+Im*(((p-1)*(p-1)+x3*Ts*p)*((p-1)*(p-1)+x3*Ts*p)+(x3*Ts*q+q)*(x3*Ts*q+q))*(Ts*(p*p+q*q-p)+x3*Ts*Ts*(p*p+q*q))/(((p-1)*(p-1)+(p*p-p+q*q)*x3*Ts+q*q)*Ts*q+(Ts*(p*p-p+q*q)+x3*Ts*Ts*(p*p+q*q))*x3*Ts*q);
y = solve(x1 == y, x1);
x3 = solve(y == x1, x3);
disp(expand(x3));
```
输出结果为:
```
((2^(1/2)*Re*Ts^(3/2)*q + Im*(p^2 + q^2)*Ts^2 + 2*Im*p*Ts^2 - 2*Im*q*Ts^2)*(p - 1)^2 + (2^(1/2)*Re*Ts^(3/2)*q + Im*(p^2 + q^2)*Ts^2 + 2*Im*p*Ts^2 - 2*Im*q*Ts^2)^2 + 2*(2^(1/2)*Re*Ts^(3/2)*q + Im*(p^2 + q^2)*Ts^2 + 2*Im*p*Ts^2 - 2*Im*q*Ts^2)*(q + 2*x1*Ts*q))/(2^(1/2)*(2^(1/2)*Re*Ts^(3/2)*q + Im*(p^2 + q^2)*Ts^2 + 2*Im*p*Ts^2 - 2*Im*q*Ts^2)*Ts*q)
```
阅读全文