table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}
1、使用MATLAB推导具有以下根的多项式:a. 根为(6.5708, – 0.7146 + j0.3132, – 0.7146 – j0.3132);b. 在(x = – 2.000)处有两个根,在(x = – 3.000)处有三个根。
在MATLAB中,可使用
poly
函数根据已知根推导多项式。
对于 a,定义根向量:
r_a = [6.5708, -0.7146 + 1i*0.3132, -0.7146 - 1i*0.3132];
然后使用:
p_a = poly(r_a);
得到多项式系数。
对于 b,定义根向量:
r_b = [-2, -2, -3, -3, -3];
再使用:
p_b = poly(r_b);
得到多项式系数。
2、使用MATLAB计算以下多项式在指定值处的值。a. 多项式(p(x)=x^{3}+8x^{2}+10x + 4)在(x = 1.25)处的值;b. 多项式(p(y)=y^{5}+7y^{4}+19y^{3}+25y^{2}+16y + 4)在(y=-3.75)处的值。
在MATLAB中,对于 $ a $,可使用语句
p_a = [1 8 10 4];
val_a = polyval(p_a, 1.25)
来计算;对于 $ b $,可使用语句
p_b = [1 7 19 25 16 4];
val_b = polyval(p_b, -3.75)
来计算。
3、已知在某电路中,施加的电压 (V_S) 保持恒定,电容器两端的电压 (V_C) 与弧度频率 (ω) 的关系如下:(ω) 的数值为 500、600、700、800、900、1000、1100、1200、1300、1400、1500、1600;(V_C) 的数值为 88.9、98.5、103.0、104.9、105.3、104.8、103.8、102.4、100.7、98.9、96.5、94.9。以 (V_C)(dB 刻度)为纵坐标,(ω)(常用对数刻度)为横坐标绘制图表,并正确标注坐标轴。
可使用以下 MATLAB 代码实现:
omega = [500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600];
VC = [88.9, 98.5, 103.0, 104.9, 105.3, 104.8, 103.8, 102.4, 100.7, 98.9, 96.5, 94.9];
VC_dB = 20*log10(VC);
semilogx(omega, VC_dB);
xlabel('ω (rad/s)');
ylabel('V_C (dB)');
title('Capacitor Voltage vs Radian Frequency');
grid on;
4、已知多项式系数向量 Px = [1 8 10 4],求该多项式的根;已知多项式系数向量 Py = [1 7 19 25 16 4],求该多项式的根。
`roots(Px)` 的结果为 -6.5708、-0.7146 + 0.3132i、-0.7146 - 0.3132i;
`roots(Py)` 的结果为 -2.0000、-2.0000、-1.0000、-1.0000 + 0.0000i、-1.0000 - 0.0000i。
5、已知r1=[−6.5708 −0.7146+0.3132j −0.7146−0.3132j],求poly_r1=poly(r1);已知r2=[−2 −2 −3 −3 −3],求poly_r2=poly(r2)。
poly_r1 = 1.0000 8.0000 9.9997 4.0000;
poly_r2 = 1 13 67 171 216 108
6、已知Pv=[1 8 10 4],求value=polyval(Pv, 1.25);已知Pw=[1 7 19 25 16 4],求value=polyval(Pw, −3.75)。
当
Pv = [1 8 10 4]
时,
value = polyval(Pv, 1.25)
的结果为
30.9531
;
当
Pw = [1 7 19 25 16 4]
时,
value = polyval(Pw, -3.75)
的结果为
-63.6904
。
7、已知w=[5 6 7 8 9 10 11 12 13 14 15 16]
100; Vc=[88.9 98.5 103 104.9 105.3 104.8 103.8 102.4 100.7 98.9 96.5 94.9]; 执行dB=20
log10(Vc); semilogx(w,dB); grid; title(‘Magnitude of Vc vs. w’); xlabel(‘w in rads/sec’); ylabel(‘|Vc| in volts’),请解释操作的含义。
此段代码是用MATLAB进行操作,首先定义了两个数组
w
和
Vc
,接着计算
Vc
各元素以10为底的对数再乘以20得到
dB
数组,然后绘制以
w
为x轴(对数刻度)、
dB
为y轴的半对数坐标图,添加网格线,设置图的标题为
‘Vc的幅值与w的关系’
,设置x轴标签为
‘w(弧度/秒)’
,y轴标签为
‘|Vc|(伏特)’
。
8、使用MATLAB的for – end循环程序,对多项式(y = x^4 + x – 3)进行12次迭代,用二分法求根。
以下是实现该功能的MATLAB代码:
% 定义多项式函数
f = @(x) x.^4 + x - 3;
% 初始区间
a = -2; % 左端点
b = 2; % 右端点
% 迭代次数
n = 12;
for i = 1:n
% 计算中点
c = (a + b) / 2;
% 判断根所在的区间
if f(c) * f(a) < 0
b = c;
else
a = c;
end
end
% 输出结果
root = (a + b) / 2;
fprintf('经过12次迭代后,多项式的根近似为: %.10f
', root);
将上述代码复制到MATLAB命令窗口或脚本文件中运行,即可得到经过12次迭代后多项式的近似根。
9、使用MATLAB验证:(22 + 6j)/(3 + 2j),(8 + 6j)/(-3 – j),120/(4 – 10j),(3 – 2j)/(3 + 2j)的值
以下是给定的文本内容转换为 Markdown 格式的结果:
给定的复数运算结果如下:
$frac{22 + 6j}{3 + 2j}$ 的结果为 $6 – 2j$
$frac{8 + 6j}{-3 – j}$ 的结果为 $-3 – 1j$
$frac{120}{4 – 10j}$ 的结果为 $frac{120}{29} + frac{300}{29}j$
$frac{3 – 2j}{3 + 2j}$ 的结果为 $frac{5}{13} – frac{12}{13}j$
10、用MATLAB检验:(12 + 5j)^(1/6),(100 * sqrt(2) * (1 – j))^(1/4) 的结果
以下是给定内容的 Markdown 格式呈现:
(12+5j)^(1/6) 的结果约为 1.53 + j0.10;
(100*sqrt(2)*(1−j))^(1/4) 的结果约为 3.6883 - j0.7337
11、使用MATLAB检查:4×(cos(π/6)+sin(π/6)×j) / (5×(cos(-5π/6)+sin(-5π/6)×j)) 以及 exp(π×j/3) / (-2×exp(-π×j/6)) 的结果
第一个表达式结果为 -0.8000 – 0.0000i
第二个表达式结果为 -0.0000 – 0.5000i
12、已知矩阵A,分别计算矩阵A的行列式detA;求矩阵A的伴随矩阵adjA;求矩阵A的逆矩阵A^(-1);若存在矩阵关系,计算X的值。给出以下矩阵:矩阵A1 = [1 2 3; 1 3 4; 1 4 3],矩阵A2 = [4 3; 2 2],矩阵A3 = [2 3 1; 1 2 3; 3 1 2],矩阵A4 = [1 3 4; 3 1 2; -2 3 5],分别对这些矩阵进行上述计算。
不同矩阵的计算结果
对于矩阵 A = [1 2 3; 1 3 4; 1 4 3]:
– detA = -2
– adjA = [7 -6 1; -1 0 1; -1 2 -1]
– A⁻¹ = [3.5 -3 0.5; -0.5 0 0.5; -0.5 1 -0.5]
对于矩阵 A = [4 3; 2 2]:
– detA = 2
– adjA = [2 -3; -2 4]
– A⁻¹ = [1 -3/2; -1 2]
对于矩阵 A = [2 3 1; 1 2 3; 3 1 2]:
– detA = 18
– adjA = [1 -5 7; 7 1 -5; -5 7 1]
– A⁻¹ = [1/18 -5/18 7/18; 7/18 1/18 -5/18; -5/18 7/18 1/18]
– X = [1.9444; 1.6111; 0.2778]
对于矩阵 A = [1 3 4; 3 1 2; -2 3 5]:
– detA = -18
– adjA = [11 -3 -10; -19 -3 -14; 7 3 -8]
– A⁻¹ = [-11/18 3/18 10/18; 19/18 3/18 14/18; -7/18 -3/18 8/18]
– X = [1.5; -3.5; 1.5]
13、已知电容电流和电压关系iC(t) = C(dvC/dt),C = 1F,电容由恒定电流I充电,求电压vC(t)关于时间的函数,已知参考时间t = 0时电压为V0
对 $ i_C(t) = C frac{dv_C}{dt} $ 变形得
dvC=iCCdtdvC=iCCdt
因为 $ C = 1 ext{F} $,$ i_C = I $(恒定电流),所以
dvC=IdtdvC=Idt
两边积分可得
vC(t)−vC(0)=∫t0IdtvC(t)−vC(0)=∫0tIdt
已知 $ t = 0 $ 时电压为 $ V_0 $,即 $ v_C(0) = V_0 $,所以
vC(t)=V0+ItvC(t)=V0+It
14、将积分 – 微分方程 $frac{d^{2}v}{dt^{2}}+k_{3}frac{dv}{dt}+k_{2}v + k_{1}int_{0}^{t}v( au)d au=sin3t+cos3t$ 表示为状态方程矩阵形式,其中 $k_{1},k_{2},k_{3}$ 为常数。
对给定的积分 – 微分方程关于 $t$ 求导,得到
d3vdt3+k3d2vdt2+k2dvdt+k1v=3cos3t−3sin3td3vdt3+k3d2vdt2+k2dvdt+k1v=3cos3t−3sin3t
设
v=x1,dvdt=x2=x˙1,d2vdt2=x3=x˙2,d3vdt3=x˙3v=x1,dvdt=x2=x˙1,d2vdt2=x3=x˙2,d3vdt3=x˙3
代入可得状态方程:
x˙1=x2 x˙2=x3 x˙3=−k1x1−k2x2−k3x3+3cos3t−3sin3tx˙1=x2 x˙2=x3 x˙3=−k1x1−k2x2−k3x3+3cos3t−3sin3t
写成矩阵形式为:
[x˙1 x˙2 x˙3]=[010 001 −k1−k2−k3][x1 x2 x3]+[0 0 1](3cos3t−3sin3t)[x˙1 x˙2 x˙3]=[010 001 −k1−k2−k3][x1 x2 x3]+[0 0 1](3cos3t−3sin3t)
15、求解常微分方程(特征方程有两个相等根)的通解,已知特征方程的两个相等根为 s₁ = s₂ = -1,求该方程通解
当特征方程有两个相等实根 $ s₁ = s₂ = -1 $ 时,对应的常微分方程的通解为
y=(C₁+C₂x)e−xy=(C₁+C₂x)e−x
其中 $ C₁ $、$ C₂ $ 为任意常数。
16、对给定的积分 – 微分方程 (dv_3/dt^3 + k_3
dv_2/dt^2 + k_2
dv/dt + k_1
v = 3
cos(3t) – 3*sin(3t)) 求状态方程并写成矩阵形式
令 $ x_1 = v $,$ x_2 = frac{dv}{dt} $,$ x_3 = frac{d^2v}{dt^2} $,则状态方程为:
dx1dt=x2dx1dt=x2
dx2dt=x3dx2dt=x3
dx3dt=−k1x1−k2x2−k3x3+3cos(3t)−3sin(3t)dx3dt=−k1x1−k2x2−k3x3+3cos(3t)−3sin(3t)
矩阵形式为:
[x˙1 x˙2 x˙3]=[010 001 −k1−k2−k3][x1 x2 x3]+[0 0 3cos(3t)−3sin(3t)][x˙1 x˙2 x˙3]=[010 001 −k1−k2−k3][x1 x2 x3]+[0 0 3cos(3t)−3sin(3t)]
17、对给定矩阵 $A =
[12 3−1][12 3−1]$ 求其特征值
可通过求解特征方程 $|A – lambda I| = 0$ 来得到特征值。对于矩阵
A=[12 3−1]A=[12 3−1]
有
A−λI=[1−λ2 3−1−λ]A−λI=[1−λ2 3−1−λ]
则
|A−λI|=(1−λ)(−1−λ)−2×3=λ2−1−6=λ2−7=0|A−λI|=(1−λ)(−1−λ)−2×3=λ2−1−6=λ2−7=0
解得
λ=±7–√λ=±7
所以矩阵 $ A $ 的特征值为 $ sqrt{7} $ 和 $ -sqrt{7} $。
18、计算下列每个函数的麦克劳林级数的前4项。a. f(x) = e⁻ˣ;b. f(x) = sin x;c. f(x) = sinh x。用MATLAB验证你的答案。
对于a:
已知 $ f(x) = e^x $ 的麦克劳林级数为:
1+x+x22!+x33!+⋯1+x+x22!+x33!+⋯
那么 $ f(x) = e^{-x} $ 的麦克劳林级数为:
1−x+x22!−x33!+⋯1−x+x22!−x33!+⋯
对于b:
$ f(x) = sin x $,
$ f(0) = 0 $,
$ f’(x) = cos x $,
$ f’(0) = 1 $,
$ f’‘(x) = -sin x $,
$ f’‘(0) = 0 $,
$ f’‘’(x) = -cos x $,
$ f’‘’(0) = -1 $,
其麦克劳林级数前4项为:
x−x33!x−x33!
对于c:
$ f(x) = sinh x = frac{e^x – e^{-x}}{2} $,
$ f(0) = 0 $,
$ f’(x) = cosh x $,
$ f’(0) = 1 $,
$ f’‘(x) = sinh x $,
$ f’‘(0) = 0 $,
$ f’‘’(x) = cosh x $,
$ f’‘’(0) = 1 $,
其麦克劳林级数前4项为:
x+x33!x+x33!
在 MATLAB 中,可分别用以下代码验证:
a.
syms x;
pretty(taylor(exp(-x), 4, 0));
b.
syms x;
pretty(taylor(sin(x), 4, 0));
c.
syms x;
pretty(taylor(sinh(x), 4, 0));
19、求函数f(x)=sin(x)的泰勒级数展开式,并使用MATLAB验证
函数 $ f(x) = sin(x) $ 的泰勒级数展开式为:
fn(x)=x−x33!+x55!−x77!+⋯fn(x)=x−x33!+x55!−x77!+⋯
MATLAB 验证代码为:
x = sym('x');
fn = taylor(sin(x));
pretty(fn)
结果显示为:
x - 1/6 * x³ + 1/120 * x⁵
20、a. 已知自变量x的取值为(1.1,1.2,1.5,1.7,1.8,2.0),函数y = f(x)对应取值为(1.112,1.219,1.636,2.054,2.323,3.011),求f(1.3)的值。b. 已知自变量x的取值为(1.1,1.2,1.5,1.7,1.8,2.0),函数y = f(x)对应取值为(1.112,1.219,1.636,2.054,2.323,3.011),求f(1.95)的值。
可使用插值法来计算。
对于a,可采用线性插值:
先确定1.3介于1.2和1.5之间
设 $ f(x) = ax + b $
将 $ (1.2, 1.219) $ 和 $ (1.5, 1.636) $ 代入求出 $ a $ 和 $ b $
进而得到 $ f(1.3) $ 的值
对于b:
1.95介于1.8和2.0之间
同样用线性插值
将 $ (1.8, 2.323) $ 和 $ (2.0, 3.011) $ 代入 $ f(x) = ax + b $ 求出 $ a $ 和 $ b $
得到 $ f(1.95) $ 的值
不过,精确计算需借助工具,这里仅给出方法。
21、求差分方程 (E² + 7E + 12)y = 0 的通解。
本题可先写出该差分方程的特征方程,再求解特征方程的根,最后根据根的情况写出通解。
写出特征方程
对于差分方程 $(E^2 + 7E + 12)y = 0$,其特征方程为
M2+7M+12=0M2+7M+12=0
求解特征方程的根
对于一元二次方程 $ax^2 + bx + c = 0$(这里 $a = 1$,$b = 7$,$c = 12$),可根据求根公式
x=−b±b2−4ac−−−−−−−√2ax=−b±b2−4ac2a
求解。将 $a = 1$,$b = 7$,$c = 12$ 代入求根公式可得:
M=−7±72−4×1×12−−−−−−−−−−−−√2×1=−7±49−48−−−−−−√2=−7±12M=−7±72−4×1×122×1=−7±49−482=−7±12
解得
M1=−7+12=−3,M2=−7−12=−4M1=−7+12=−3,M2=−7−12=−4
即特征方程的根为两个不相等的实数根。
根据根的情况写出通解
当特征方程的根为两个不相等的实数根 $M_1$ 和 $M_2$ 时,差分方程的通解形式为
y=k1Mx1+k2Mx2(k1,k2 为常数)y=k1M1x+k2M2x(k1,k2 为常数)
将 $M_1 = -3$,$M_2 = -4$ 代入通解形式,可得该差分方程的通解为
y=k1(−3)x+k2(−4)xy=k1(−3)x+k2(−4)x
其中 $k_1$,$k_2$ 为任意常数。
22、求差分方程 (E² + 2E + 2)y = 0 的通解。
根据特征方程求解,对于差分方程
(a2E2+a1E+a0)y=0(a2E2+a1E+a0)y=0
其特征方程为
a2M2+a1M+a0=0a2M2+a1M+a0=0
本题中 $ a_2 = 1 $,$ a_1 = 2 $,$ a_0 = 2 $,特征方程为
M2+2M+2=0M2+2M+2=0
由求根公式可得
M=−2±22−4×1×2−−−−−−−−−−−√2×1=−1±jM=−2±22−4×1×22×1=−1±j
这里判别式
a21−4a2a0=4−8=−4<0a12−4a2a0=4−8=−4<0
属于复共轭根情况。
对于复共轭根的差分方程通解形式为
y=rx(C1cos(θx)+C2sin(θx))y=rx(C1cos(θx)+C2sin(θx))
其中
r=α2+β2−−−−−−√,θ=arctan(βα)r=α2+β2,θ=arctan(βα)
$alpha$ 为特征根实部,$eta$ 为特征根虚部。
本题中 $alpha = -1$,$eta = 1$,所以
r=(−1)2+12−−−−−−−−−√=2–√,θ=arctan(1−1)=−π4r=(−1)2+12=2,θ=arctan(1−1)=−π4
故通解为
y=(2–√)x(C1cos(−πx4)+C2sin(−πx4))y=(2)x(C1cos(−πx4)+C2sin(−πx4))
其中 $C_1$ 和 $C_2$ 为常数。
23、求差分方程 ((E^2 + 1)y = sin x) 的通解。
y = C₁*cos((π/2)x) + C₂*sin((π/2)x) + (x*(2 - sin x) + sin(2x + 1/2))/(2*cos(1/2))
24、已知特征方程为$E^{2}+7E + 12 = 0$,假设$y(0)=1$且$y(1)=2$,求差分方程$(E^{2}+7E + 12)y = 0$的解。
差分方程的解为$y(x)=6 imes(-3)^{x}-5 imes(-4)^{x}$。
25、已知特征方程为(E^2 + 2E + 2 = 0),求差分方程((E^2 + 2E + 2)y = 0)的解。
以下是给定文本内容转换为
Markdown
格式的结果(未添加任何额外描述,仅格式调整):
特征方程 $ M^2 + 2M + 2 = 0 $ 的根为
M1=−1+jM1=−1+j 和
M2=−1−jM2=−1−j
计算模长:
r=(−1)2+12−−−−−−−−−√=2–√r=(−1)2+12=2
计算幅角:
θ=arctan(1−1)=−π4θ=arctan(1−1)=−π4
因此,差分方程的解为
y=(2–√)x(C1cos(−π4x)+C2sin(−π4x))y=(2)x(C1cos(−π4x)+C2sin(−π4x))
其中常数 $ C_1 $ 和 $ C_2 $ 可由初始条件确定,但本题未给出初始条件。
26、已知特征方程为 (E^2 + 1 = 0),求差分方程 ((E^2 + 1)y_x = sin x) 的解。
特征方程 $ M^2 + 1 = 0 $ 的根为
– $ M_1 = j $
– $ M_2 = -j $
其中:
– $ r = 1 $
– $ heta = frac{pi}{2} $
齐次解为
YH=C1cos(π2⋅x)+C2sin(π2⋅x)YH=C1cos(π2⋅x)+C2sin(π2⋅x)
设特解形式为
YP=Axcosx+BxsinxYP=Axcosx+Bxsinx
将特解代入原方程,利用三角函数恒等式展开、整理、合并同类项后,得到总解为
y=C1cos(π2⋅x)+C2sin(π2⋅x)+xsinx−(x−2)cosx2y=C1cos(π2⋅x)+C2sin(π2⋅x)+xsinx−(x−2)cosx2
27、对(frac{1}{s(s + 1)^2})进行部分分式展开,使用MATLAB进行化简和验证结果。
部分分式展开结果为
1s−1(s+1)2−1s+11s−1(s+1)2−1s+1
MATLAB验证代码及结果如下:
syms s;
expand(s*(s+1)^2)
输出结果为:
ans = s^3 + 2*s^2 + s
继续执行部分分式分解代码:
Ns = [0, 0, 0, 1];
Ds = [1, 2, 1, 0];
[r, p, k] = residue(Ns, Ds)
得到结果:
r =
-1
-1
1
p =
-1
-1
0
k = []
28、给定Ns = [0, 0, -1]; Ds = [1, 0, -1],使用MATLAB中的residue函数求r、p和k。
r = [0.5000, -0.5000]; p = [-1, 1]; k = []
29、给定 Ns = [0, 0, 1]; Ds = [1, 4, -5],在将格式设置为有理格式后,使用 MATLAB 中的 residue 函数来求 r、p 和 k。
在 MATLAB 中,可按以下步骤操作:
首先设置格式为有理格式,即
format rat
;
然后使用
residue
函数计算,代码为:
matlab
Ns = [0, 0, 1];
Ds = [1, 4, -5];
[r, p, k] = residue(Ns, Ds)
运行代码后即可得到
r
、
p
和
k
的值。
30、给定Ns = [0, 1, 0]; Ds = [1, -2, -3],在将格式设置为有理格式后,使用MATLAB中的residue函数来求r、p和k。
在MATLAB中可按如下步骤操作:
首先设置格式为有理格式。
然后使用
residue
函数进行计算。
代码如下:
format rat;
Ns = [0, 1, 0];
Ds = [1, -2, -3];
[r, p, k] = residue(Ns, Ds)
运行该代码即可得到
r
、
p
和
k
的值。
31、使用MATLAB的deconv(num,den)函数将有理多项式s^2/(s^2 + 2s + 1)表示为一个多项式与一个真分式之和的形式,然后使用residue函数求出该真分式部分对应的留数r、极点p和直项k。
使用
deconv
函数:
num = [1 0 0];
den = [1 2 1];
[q, r] = deconv(num, den)
结果为:
q = 1
r = [0 -2 -1]
即
s2s2+2s+1=1+−2s−1s2+2s+1s2s2+2s+1=1+−2s−1s2+2s+1
使用
residue
函数:
Ns = [1, 0, 0];
Ds = [1, 2, 1];
[r, p, k] = residue(Ns, Ds)
结果为:
r = [-2 1]
p = [-1 -1]
k = 1
32、求解方程组 r1 + r2 = 0,r2 + r3 = 0,r1 + r3 = 1,然后给定分子多项式系数向量 Ns = [0, 0, 0, 1],分母多项式系数向量 Ds = [1, 1, 1, 1],使用 MATLAB 中的 residue 函数求留数向量 r、极点向量 p 和直接项向量 k。
方程组的解为 $ r_1 = frac{1}{2} $,$ r_2 = -frac{1}{2} $,$ r_3 = frac{1}{2} $。使用
residue
函数得到
r=[12 −14−14i −14+14i],p=[−1 −16004799503160662+1i −16004799503160662−1i],k=[]r=[12 −14−14i −14+14i],p=[−1 −16004799503160662+1i −16004799503160662−1i],k=[]