声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1777|回复: 8

[求助]怎样把矩阵的某一行删掉呢?谢谢!

[复制链接]
发表于 2006-4-9 11:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
你好,我现在遇到个问题,<BR> 把一个矩阵复制后,发现有很多行都是零,想把这些行删掉,我该怎么写语句呢?<BR>我正急着解决这个问题,请指点吧,谢谢!<BR>我用:a(1,:)=[],这种写法运行不行呀
回复
分享到:

使用道具 举报

发表于 2006-4-9 11:35 | 显示全部楼层
<P>可以的啊!<BR>错误是什么呢?</P>
 楼主| 发表于 2006-4-9 12:08 | 显示全部楼层

回复:(cdwxg)可以的啊!错误是什么呢?

你帮我看看就是这个程序:<BR>for i=1:n<BR>  for j=i+1:n<BR>    if J_i(i,j)~=0<BR>        J_i(j,:)=[];<BR>    end<BR>  end<BR>end<BR><BR>报Indexed empty matrix assignment is not allowed,这个错误
 楼主| 发表于 2006-4-9 12:45 | 显示全部楼层
你帮我看看就是这个程序:<BR>for i=1:n<BR>  for j=i+1:n<BR>    if J_i(i,j)~=0<BR>        J_i(j,:)=[];<BR>    end<BR>  end<BR>end<BR>运行时报的错误是:Index of element to remove exceeds matrix dimensions.<BR>指点指点吧,在线等呢.
发表于 2006-4-9 15:21 | 显示全部楼层

回复:(lesley)[求助]怎样把矩阵的某一行删掉呢?谢谢...

a =[  1     2     3     4<BR>     0     0     0     7<BR>     2     0     2     9<BR>     0     0     0     0];<BR>for i=1:4<BR>    if sum(a(i,:).^2)==0<BR>        a(i,:)=[];<BR>    end<BR>end
发表于 2006-4-9 15:29 | 显示全部楼层

回复:(happy)回复:(lesley)[求助]怎样把矩阵的某...

if sum(a(i,:).^2)==0<br>这个语句换成if a(i,:)==0不行么?教授
[此贴子已经被作者于2006-4-9 15:35:40编辑过]

发表于 2006-4-9 15:33 | 显示全部楼层

回复:(lesley)[求助]怎样把矩阵的某一行删掉呢?谢谢...

<P>可以的,这是我习惯性问题</P>
[此贴子已经被作者于2006-4-9 15:33:47编辑过]

发表于 2006-4-9 15:38 | 显示全部楼层
晕死<BR>你这习惯也忒逻辑严谨了点吧<BR>楼主还有问题可以问happy教授了哈<BR>免得明天老板批评你:)
 楼主| 发表于 2006-4-9 18:27 | 显示全部楼层

回复:(cdwxg)晕死你这习惯也忒逻辑严谨了点吧楼主还...

<P>我改了程序,能够删掉,<BR>但是循环多次后,就要出问题,说超出矩阵范围,因为删了一行后,<BR>矩阵的行数就减少一行了.</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-20 19:42 , Processed in 0.060399 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表