第十二课 线性方程式和线性系统—讲义14页37min & 讲义20页49min课后练习题答案。
1、电路系统已知电压和电阻求电流:
exercise :Write a function to solve i1 …i5 for given V1,V2 and R1 …R5;
答案如下
clear ;close all;
syms R1 R2 R3 R4 R5 V1 V2 %将R和V定义为代数,则可以用R和V来表示i1,i2...i5;
R = [R1 0 0 R4 0;0 R2 0 -R4 R5; 0 0 -R3 0 R5; 1 -1 0 -1 0; 0 1 -1 0 -1];% R相当于A
V = [V1;0;V2;0;0;];%V相当于b
I = mldivide(R,V);%用R÷V得到的I 结果用R1 R2 R3 R4 R5 V1 V2表示
% I = R\V ;%等同于上式 I = mldivide(R,V);
i1=I(1);i2=I(2);i3=I(3);i4=I(4);i5=I(5);
一、解题思路
1.列等式:(已知下列的等式成立)
V1 =R1.*i1 + R4.*i4
R4.*i4 =R2.*i2 + R5.*i5
R5.*i5 =R3.*i3 + V2
i1 = i2 +i4
i2 = i3 +i5
2.将等式转换成矩阵的形式,RI = U类似于Ax = b;这里理解需要补一点矩阵运算的基础。
矩阵相乘法则:矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和.
郭老师在12课的视频第10分钟有提及,根据矩阵相乘的原理,将上述5个等式转化为如下矩阵。
R = [R1 0 0 R4 0;0 R2 0 -R4 R5; 0 0 -R3 0 R5; 1 -1 0 -1 0; 0 1 -1 0 -1];% R相当于A
V = [V1;0;V2;0;0;];%V相当于b
3.使用函数左除
I = mldivide(R,V);
二、根据上述题目,写出一个可以调用的计算此电路图电流的函数。
自定义函数文件如下,函数命名为:Elec_I;存放在当前文件夹下。
function I = Elec_I(R1, R2, R3, R4, R5, V1, V2 )
%ELE_I 计算给出电阻和电压R1, R2, R3, R4, R5, V1, V2的情况下,电流为多少。
%i1,i2,i3 ,i4,i5分别对应着I(1),I(2),I(3),I(4),I(5);
R = [R1 0 0 R4 0;0 R2 0 -R4 R5; 0 0 -R3 0 R5; 1 -1 0 -1 0; 0 1 -1 0 -1];% R相当于A
V = [V1;0;V2;0;0;];%V相当于b
I = mldivide(R,V);%得到的I 结果用R1 R2 R3 R4 R5 V1 V2表示
% I = R\V ;%等同于上式 I = mldivide(R,V)
end
调用函数代码如下:
%% 调用自定义函数Elec()
clear ;close all;
I = Elec_I(1 ,2 , 3,4, 5,9,7)
i1=I(1);i2=I(2);i3=I(3);i4=I(4);i5=I(5);
2、画出三元一次方程组的3D图像:
exercise :plot the planes in 3D;
{x+y+z=0 } ;{x-y-z=0 };{ x+3z=0};
clear; close all;
[x y ] = meshgrid([-10:0.1:10]) %绘制画布,x&y范围在-10:10
z = -x -y; %用x和y表达z,
mesh(x,y,z) %绘制面 x+y +z=0
hold on;%继续在同一张图上作画
[y z] = meshgrid([-10:0.1:10]);
x =y -z;
mesh(x,y,z) % 绘制面 x-y+z=0
hold on;
[x z] = meshgrid([-10:0.1:10]);
x = - 3*z;
mesh(x,y,z) % 绘制面 x+3*z=0
xlabel('x');ylabel('y');zlabel('z');alpha(0.5)
axis square;