资源描述:
《matlab上机题代码及结果4题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、例1下图描述了六个城市之间的航空航线图,其中1、2、……、6表示六个城市,带箭头线段表示两个城市之间的航线。用MATLAB软件完成以下操作:(1)构造该图的邻接矩阵A;(2)若某人连续乘坐五次航班,那么他从哪一个城市出发到达哪一个城市的方法最多?(3)若某人可以乘坐一次、二次、三次或四次航班,那么他从哪一个城市出发总是不能达到哪一个城市?航空航线图(六城市)解:(1)构造邻接矩阵;(2)计算矩阵可达矩阵,找出该矩阵的最大元素,并确定它所在的位置;(3)计算可达矩阵,找出该矩阵中零元素的位置。在MATLAB软件的M编辑器中编写m文件
2、:%图与矩阵clearA=[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];%构造邻接矩阵B=A^5;C=A+A^2+A^3+A^4;disp('邻接矩阵A为:');disp(A);disp('矩阵A^5为:');disp(B);m=max(max(B));%计算矩阵B的最大值[m_i,m_j]=find(B==m);%寻找矩阵B中元素等于m的位置fprintf('矩阵A^5最大值%d的位置在:',m);disp([m_i,m_j
3、]);disp('矩阵A+A^2+A^3+A^4为:');disp(C);[z_i,z_j]=find(C==0);%寻找矩阵C中零元素的位置disp('矩阵A+A^2+A^3+A^4零元素的位置在:');disp([z_i,z_j]);在MATLAB命令窗口中输入m文件名称,计算结果为:邻接矩阵A为:010001001100000110010000101000010010矩阵A^5为:255531244320235521021321264541144742矩阵A^5最大值7的位置在:64矩阵A+A^2+A^3+A^4为:2656
4、42144631254541133310356642366541矩阵A+A^2+A^3+A^4零元素的位置在:46从计算结果中可以看出,矩阵A^5最大值出现在矩阵的第六行第四列,说明:这个人如果从城市6出发连续乘坐五次航班后到达城市4,他可以选择的乘机路线最多,共有7种不同的方法。矩阵A+A^2+A^3+A^4的零元素出现在第四行第六列,说明:这个人如果从城市4出发他乘坐一次、二次、三次或四次航班,都无法到达城市6。实验习题5个小朋友玩传球游戏。游戏规则:任意两个人之间都可以相互传球,但自己不能给自己传。请用MATLAB完成以下操
5、作:(1)把五个小朋友看成五个节点,构造这五个节点的邻接矩阵A;(2)假设从第一个小朋友开始传球,经过四次传球后,球又传回到第一个小朋友手里。问共有多少种不同的传法。(3)假设从第一个小朋友开始传球,经过一次,或者二次,或者三次传球,球传给了第二个小朋友。问共有多少种传法。例2下表给出了平面坐标系中五个点的坐标。五点数据表x01234y-270210-75(1)请过这五个点作一个四次多项式函数,并求当时的函数值。用MATLAB绘制多项式函数曲线、已知点及插值点(5,)。(2)请根据这五个点,拟合一个二次多项式函数,并用MATLAB
6、绘制多项式函数曲线及已知的五个点。解:(1)根据已知条件,把五个点的坐标值分别代入四次多项式函数,可以得到如下线性方程组:对应矩阵等式为:,其中,,系数矩阵A的行列式为范德蒙行列式,且五个坐标点的横坐标各不相同,则该行列式不等于零,所以方程组有唯一解。(2)根据已知条件,把五个点的坐标值分别代入二次多项式函数,可以得到如下线性方程组:对应矩阵等式为:,其中,,该方程组有三个未知数,但有五个方程,进一步分析可以得到该方程组无解,即不存在一个二次多项式曲线刚好能过已知的五个点。MATLAB软件提供了一个利用最小二乘法解决超定方程组近似
7、解的方法。即可以找到一条二次曲线来近似地描述已知5点的变化情况。在MATLAB软件M文件编辑器中编写程序m:%多项式插值和函数逼近clearcloseallx=[0;1;2;3;4];%输入已知点坐标y=[-27;0;21;0;-75];A=[x.^0,x.^1,x.^2,x.^3,x.^4];%构造范德蒙矩阵a=Ay;%得到适定方程组的唯一解a,即确定了多项式函数%或p=polyfit(x,y,4)%p是按从高次幂到低次幂排列的系数向量;disp('四次多项式系数为:')disp(a);xi=linspace(-1,9.5,1
8、00);%构造数组xi,从-1到9.5均匀取100个值yi=a(1)+a(2)*xi+a(3)*xi.^2+a(4)*xi.^3+a(5)*xi.^4;%计算对应xi的多项式函数值yix0=5;y0=a(1)+a(2)*x0+a(3)*x0^2+a