1图论的一个基本应用

下图描述了4个城市之间的航空航线图,

为了描述着4个城市之间航线的邻接关系,定义邻接矩阵

第i行描述从城市i出发,可以达到各个城市的情况,

可以证明,矩阵A^N表示一个人连续坐N次航班可以达到的城市,元素大小对应方法种数

例:下图描述了6个城市之间的航空航线图,带箭头线段表示两个城市之间的航线.

1若某人连续乘坐5次航班,那么他从哪一个城市出发到达哪一个城市方法最多

2若某人可以乘坐一次、二次、三次、或四次航班,那么他从哪一个城市出发总是不能达到哪一个城市

运行Test.m

%邻接矩阵
A=[0 1 0 0 0 1;0 0 1 1 0 0;0 0 0 1 1 0;0 1 0 0 0 0;1 0 1 0 0 0;0 1 0 0 1 0];
%连续乘坐5次航班
m =max(max(A^5));
[i,j] = find(A^5 == m);
fprintf('从一个城市出发到另一个城市方法最多有%d条,有:\n',m);
disp([i,j])
%可以乘坐1、2、3或4次
A = A+A^2+A^3+A^4;
[i,j] = find(A == 0);
fprintf('不能从一个城市达到另一个城市的有:\n');
disp([i,j])

2情报检索问题

假如数据库中包括了n个文件,而搜索所用的关键词有m个,关键词按字母顺序排列,我们就可以把数据库用一个mxn的矩阵A来表示,矩阵A的第j列表示第j个文件

矩阵A的第i行表示第i个关键词,矩阵A中的元素aij表示第i个关键词在第j个文件中出现的相对频率。用于检索的关键词清单用m维列向量x表示,假如检索策略中含有

i、j、k三个关键词,则让搜索向量x的第i、j、k个元素为1,其它为0。当确定了数据库矩阵和搜索向量x后,进行线性变换运算,y=A'x,y即为检索结果,数字大小对应着匹配度高低

3.MATLAB命令x=A\b

1)当方程组为适定方程组,x为方程组的唯一解

2)当方程组为欠定方程组时,x为方程组的一个特解

3)当方程组为超定方程组时,x为按照最小二乘原理得到的一组近似解

4已知向量组

请用向量u和v来线性表示向量w,并绘制向量图

易得方程组的解2u+3v=w

程序drawvec.m是一个绘制二维向量的函数

function drawvec(u)
plot([0;u(1)],[0;u(2)]);%画向量线段
hold on
theta = acos(u(1)/norm(u));%计算向量u与x轴的夹角,0<theta<pi
if(u(2) < 0)
theta = 2*pi - theta;%当u向量在第三和第四象限时,theta>pi
end
fill([u(1)-0.5*cos(theta+pi/12),u(1),u(1)-0.5*cos(theta-pi/12)],[u(2)-0.5*sin(theta+pi/12),u(2),u(2)-0.5*sin(theta-pi/12)],'black');%给向量箭头填充
hold off

程序la.m绘制了向量u和向量v线性表示向量w的几何图形,其中调用了drawvec.m

clear

close all
u=[1;2];v=[2;-1];w=[8;1];
u1 = u*2; v1= v*3;
%调用函数drawvec(),画向量
drawvec(u);hold on
drawvec(v);hold on
drawvec(u1);hold on
drawvec(v1);hold on
drawvec(w);hold on
%补虚线,将线条属性设置为虚线--
A = [u1,w];
B = [v1,w];
plot(A(1,:),A(2,:),'--k',B(1,:),B(2,:),'--r');
%显示坐标
text(A(1,1),A(2,1),['(',num2str(A(1,1)),',',num2str(A(2,1)),')'],'EdgeColor','red');
text(A(1,2),A(2,2),['(',num2str(A(1,2)),',',num2str(A(2,2)),')'],'EdgeColor','green');
text(B(1,1),B(2,1),['(',num2str(A(1,1)),',',num2str(A(2,1)),')'],'EdgeColor','blue');
axis([-2 10 -5 6]),grid on%设置坐标范围和网格线

运行la.m

线性代数与MATALB1的更多相关文章

  1. 【BZOJ-3996】线性代数 最小割-最大流

    3996: [TJOI2015]线性代数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1054  Solved: 684[Submit][Statu ...

  2. 斯坦福大学CS224d基础1:线性代数回顾

    转自 http://blog.csdn.net/han_xiaoyang/article/details/51629242 斯坦福大学CS224d基础1:线性代数知识 作者:Zico Kolter ( ...

  3. 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍

    调试DeepFlow光流算法,由于作者给出的算法是基于Linux系统的,所以要在Windows上运行,不得不做大量的修改工作.移植到Windows平台,除了一些头文件找不到外,还有一些函数也找不到.这 ...

  4. 【BZOJ】【TJOI2015】线性代数

    网络流/最小割/最大权闭合图 2333好开心,除了一开始把$500^2$算成25000……导致数组没开够RE了一发,可以算是一次AC~ 咳咳还是回归正题来说题解吧: 一拿到这道题,我就想:这是什么鬼玩 ...

  5. OpenGLES 怎样在十天内掌握线性代数 - 希望这是真的!

    OpenGLES 怎样在十天内掌握线性代数 - 希望这是真的! 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...

  6. MIT线性代数课程 总结与理解-第一部分

    概述 个人认为线性代数从三个角度,或者说三个工具来阐述了线性关系,分别是: 向量 矩阵 空间 这三个工具有各自的一套方法,而彼此之间又存在这密切的联系,通过这些抽象出来的工具可以用来干一些实际的活,最 ...

  7. 线性代数-矩阵-【1】矩阵汇总 C和C++的实现

    矩阵的知识点之多足以写成一本线性代数. 在C++中,我们把矩阵封装成类.. 程序清单: Matrix.h//未完待续 #ifndef _MATRIX_H #define _MATRIX_H #incl ...

  8. 线性代数-矩阵-【2】矩阵生成 C和C++实现

    矩阵的知识点之多足以写成一本线性代数. 所以我们把矩阵的运算封装成矩阵类.以C++为主进行详解. 点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Lia ...

  9. 带你领会 线性代数 微积分的本质 3blue1brown 动画效果帅出天际

    前段时间在 哔哩哔哩 上偶然发现了 3blue1brown 精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维 其中两大系列,非常值得反复观看: 线性代数的本质(Essence of line ...

随机推荐

  1. .Net开发人员有趣的Podcast

            如果你是一个.Net开发人员,那么一定不要错过这些Podcasts,它们可是即可以了解IT业态,又可以锻炼英文听力.有采访很多开源人员,涉及项目等等.先尽力听他们说什么,然后再看Tra ...

  2. ASP.NET Boilerplate 深入系列之:概述

    因为项目需要,最近个人购买了一直在研究的ABP框架的一个Regular Licience,马上要用到一个实际的项目中,为了能够准确把握该框架涉及到设计思想.使用模式.内在实现细节.准备在接下来的一个月 ...

  3. 原型 prototype

    原型 prototype js 的对象比较 由于 js 是解释执行的语言, 那么再代码中出现函数与对象如果重复执行, 会创建多个副本 在代码中重复执行的代码容易出现重复的对象 创建一个 Person ...

  4. viewport的一些事

    整理了下viewport的东西,用脑图画了下

  5. webpack打包

    (1) 首先生成一个package.json文件 进入项目文件的根目录执行npm init 在根目录中生成一个package.json文件 (2)全局安装webpack  执行npm install ...

  6. ArcGIS知乎上有哪些干货可以推荐?

    http://zhihu.esrichina.com.cn/question/12709

  7. SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)

    简介:上传文档到文档库,并对项目级授权,查看项目级权限方法         //在列表根目录下创建文件夹 public static string CreatFolderToSPDocLib(stri ...

  8. Android logcat

    logcat是Android中一个命令行工具,可以用于得到程序的log信息. 基本命令 logcat使用方法如下所示: [adb] logcat [<option>] ... [<f ...

  9. 【读书笔记】iOS-Coco内存管理规则-拥有对象

    一,事件循环.一个典型的图形应用程序往往花费很多时间等待用户操作.在控制程序运行的人非常缓慢地作出决定(例如单击鼠标或按下某个键)以前,程序将一直处于空闲状态.当发生这样的事件时,程序被唤醒并开始工作 ...

  10. Grand Central Dispatch (GCD)

    Grand Central Dispatch (GCD) Reference Grand Central Dispatch (GCD) comprises language features, run ...