发布于 2021-08-03 23:35 ,所属分类:知识学习综合资讯
线性代数的一个主要用途就是求解线性方程组,线性方程组的一个重要问题就是有解和无解的问题。这篇文章我们就来回顾这些内容,我们从两个未知数的线性方程组开始,然后逐渐扩展到三个未知数的线性方程组。在开始本文之前,我们先导入本文需要的一些packages。
%guiqt#mayavi主要用来绘制3维可视化图形frommayaviimportmlabimportmatplotlib.pyplotaspltimportnumpyasnp#mpl_toolkits.mplot3d是Matplotlib里面专门用来画三维图的工具包frommpl_toolkits.mplot3dimportAxes3D#precision表示小数点之后保留三位,suppress为True表示浮点数都使用固定的格式表示,否则当数据中最小值的绝对值小于1e-4,会使用scientificnotationnp.set_printoptions(precision=3,suppress=False)
考虑以下的线性方程组:
当然,两条直线并不一定交于一点,它们可能平行,也可能重合,重合的两条直线上的每个点都是交点。考虑下面两个方程:
以及
它们分别对应了无解和有无穷多解的情况。
现在我们把方程扩展到三个未知数的线性方程组,这样每个方程将确定三维空间中的一个plane(平面)。在可视化这样的线性方程组之前,我们先学习一下怎么绘制plane。首先使用numpy中的meshgrid函数,其作用是从coordinate vector(坐标向量)返回coordinate matrices(坐标矩阵)。
x,y=np.arange(-2,3,1),np.arange(-2,3,1)X,Y=np.meshgrid(x,y)fig,ax=plt.subplots(figsize=(12,7))ax.scatter(X,Y,s=50)ax.axis([-3,3,-3,3])ax.spines['left'].set_position('zero')ax.spines['right'].set_color('none')ax.spines['bottom'].set_position('zero')ax.spines['top'].set_color('none')
现在我们考虑函数
这看起来并不像一个平面,我们其实可以使用plot_surface函数来绘制一个平面,matplotlib会自动在笛卡尔坐标之间进行插值,这使得图形看起来像一个平面。
fig=plt.figure(figsize=(12,7))ax=fig.add_subplot(111,projection='3d')ax.plot_surface(X,Y,Z,cmap='viridis')ax.set_xlabel('xaxis')ax.set_ylabel('yaxis')ax.set_zlabel('zaxis')
现在我们已经学会了怎么去绘制平面,接下来我们来讨论3个未知数的线性方程组的解的问题。
考虑一下的线性方程组:
我们确信这里是有解的,但是该图并没有显示plane相交的部分,这主要是因为matplotlib的rending(渲染)算法并不是在绘制真正的3d图形,而仅仅是投射3d图形到2维来模拟3D特征。
Mayavi包 在rending 3d图形方面非常专业,我们可以调用Mayavi包来进行绘制,这个包在文章的开始部分已经被导入了。
mlab.clf()X,Y=np.mgrid[-25:26:1,-25:26:1]Z1=X+2*Ymlab.mesh(X,Y,Z1,colormap="spring")Z2=6-2*X-Ymlab.mesh(X,Y,Z2,colormap="winter")Z3=1.5*X+1.5*Ymlab.mesh(X,Y,Z3,colormap="summer")#添加坐标轴mlab.axes()#添加框架mlab.outline()
可以看到三个平面相交于一个点,而这个点就是方程组的唯一解。
现在让我们对不存在解的线性方程组进行可视化。我们知道齐次线性方程组一定有解,因为至少会有一个零解,所以无需讨论齐次线性方程组。而非齐次线性方程组无解,充要条件是系数矩阵的秩不等于增广矩阵的秩。我们看以下的线性方程组:
我们看到三个平面没有产生相交,因而无解。
非齐次线性方程组有无穷多解,其充要条件是系数矩阵的秩等于增广矩阵的秩,但是小于。如下方程:
三个平面相交于一条直线,这就是方程组有无穷多解的直观展示。
以上我们对线性方程组无解、有唯一解、有无穷多解做了可视化展示。最后,我们总结一下方程组解的问题,主要是一些理论知识:
对于齐次线性方程组
更多精彩等着你
生活中的物理知识大全!99-的人都需要(试卷常考题型)
掌握系统思维,理解家庭,打破僵局:解决家庭问题的有效方法
初中数学竞赛代数专题49讲
[php基础] 解决PHP中的Bug,搞定PHP的错误体系的各种问题
摄影构图解码:构图艺术教程
【百万IP实操课程】完整IP孵化方法,解决做号99%的问题
【百度网盘】魏不惑:小白一学就会的短视频剪辑课,解决你常见的剪辑问题
高中英语考试常出现的247组重要单词变形,千万不要写错 pdf文档
【完结】清华潘潘-行程问题
暗组论坛免杀培训教程
全国中考压轴题真题精选——动点问题【带讲义】 朱韬中考数学
爱学堂 初中物理动画图解系列
中国红客联盟学生组B组安全渗透教程
图解小学数学1-6年级思维训练题
清华潘潘【完结】行程问题
【高中数学】数学之圆锥曲线与方程全16讲
独家揭秘!25大高考历史重点问题全透析!
徐云昊2022寒质心高联二试-代数板块14讲带讲义
精品干货-高考化学常识性问题汇总
图解速记高中英语词汇3500+1000(音频+PDF讲义)[百度云资源]
暗组Gh0st编译免杀系列教程
30天30个问题学懂高中数学
装修常见问题及解决方法实操指南
初中文言文阅读专题全解Word文档
yeslab安德 《CCIE组播技术》视频讲解
相关资源