数学建模社区-数学中国

标题: 矩阵变换编程 [打印本页]

作者: qiyachao    时间: 2007-4-10 12:38
标题: 矩阵变换编程
<p>请编一个matlab函数,请只用一重for循环,两重for已做完程序如下</p><p>希望高手给予指导</p><p>判断矩阵A的列是否含有单位矩阵的列,若无,则增加这些列<br/>例如:</p><p>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br/>%&nbsp; A =<br/>%<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>%<br/>%修改后的矩阵是<br/>%<br/>%&nbsp; B =<br/>%<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br/>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br/>%&nbsp; A =<br/>%<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>%<br/>%修改后的矩阵是<br/>%<br/>%&nbsp; B =<br/>%<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>%&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p>附程序:</p><p>function y=table(A)</p><p>%&nbsp; 判断矩阵A的列是否含有单位矩阵的列,若无,则增加这些列<br/>%&nbsp; Input&nbsp; - A&nbsp; M x N 矩阵<br/>%&nbsp; Output - B&nbsp; 修改后的矩阵</p><p>% Initialize parameters<br/>A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = input('Input the Matrix A (M x N) = \n\n')<br/>[m,n]&nbsp;&nbsp;&nbsp;&nbsp; = size(A);<br/>E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = eye(m);</p><p>flag1&nbsp;&nbsp;&nbsp;&nbsp; = sum(A==1);<br/>flag2&nbsp;&nbsp;&nbsp;&nbsp; = sum(A==0);<br/>num&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = [1:m];</p><p>for j=1:n<br/>&nbsp;&nbsp;&nbsp; if&nbsp; flag1(j)==1 &amp;&amp; flag2(j)==(m-1) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for i=1:m<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if E(:,i)-A(:,j)==0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num(i)=0;<br/>end; end; end; end;</p><p>fprintf('修改后的矩阵是\n')<br/>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = [A E(:,num~=0)]</p>/ A" U) Y' O& j8 q2 h: `' u6 v
[此贴子已经被作者于2007-4-10 12:39:24编辑过]

作者: neilcn824    时间: 2007-5-12 14:01
thanks
作者: YANGZHONGSH    时间: 2007-6-17 23:34
xie xie!
作者: Timo    时间: 2007-8-14 22:38
xie xie!!
作者: DriftCloud    时间: 2007-9-24 12:04
<p>你这个变换是做啥子用的?</p>
作者: bent2008    时间: 2007-10-20 19:03
<div>优秀的视频网站,大家看看啊<a href="http://www.abab123.com/bbs/down.asp?html=707637" target="_blank"><font color="#004f97">http://www.abab123.com/bbs/down.asp?html=707637</font></a></div>
作者: 文化~向超    时间: 2011-12-30 13:45
为什么搞这么麻烦那?你当这是编网页啊?不过我无能,不能解答。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5