ccyu45 发表于 2012-10-4 12:53

这是我写的程序,希望大家指正与批评
A=;
out=[];
for i=1:size(A,2)
   index=find(A(:,i)==1) ;
   if ~isempty(index)
       out=;%该列有1的元素就取第一个1所在的位置
   else
       out=;%该列如果没有1的元素就置0
   end
end
out=';

newyear2012 发表于 2012-10-5 11:54

Vir 发表于 2012-10-2 16:58 static/image/common/back.gif
随手编了一个,目测满足你的需求,有BUG再告诉我哈

A=

{:3_59:}牛

caps123 发表于 2012-10-6 17:46

牛人还是有的啊

szy241 发表于 2012-10-6 18:05

直接用内置的find函数,你可以help一下来查看用法。尽量使用内置函数避免循环语句

老小冬 发表于 2012-10-6 19:09

个人意见只要不是多重循环,在matlab里用循环问题就不是太大。
但感觉如果巧用了向量或者矩阵的某些特点,有时候会有一些比循环快得多的方法
页: 1 [2]
查看完整版本: 大神们来帮帮我啊!