大神们来帮帮我啊!
A=这个矩阵里 我想提取每列 从上到下 第一个等于1的元素的坐标。 即第一列有三个1 但是我要第一个1的坐标 即是(2,1) 求大神们能帮我编一个小程序解决 因为这样的矩阵倒是可以数出来 但是对于1000*1000的矩阵就不知道该怎么办了 谢谢了 本帖最后由 Vir 于 2012-10-2 17:00 编辑
随手编了一个,目测满足你的需求,有BUG再告诉我哈
A=
mn=size(A);
B=zeros(mn(2),2);
num=0;
for i=1:mn(2)
for j=1:mn(1)
if(A(j,i)==1)
num=num+1;
B(num,1)=j;
B(num,2)=i;
break;
end
end
end
B
num
{:soso_e100:} 楼上对的 kong1234 发表于 2012-10-2 18:09 static/image/common/back.gif
楼上对的
谢谢支持瓦~~~~~~ num =
6
B =
2 1
3 2
3 3
4 4
4 5
5 6 不过这个也太简单了吧
是瓦 ,希望大家认真学MATLAB 数学建模很大程度上学的有用的就是编程环节瓦 Vir 发表于 2012-10-2 19:24 static/image/common/back.gif
是瓦 ,希望大家认真学MATLAB 数学建模很大程度上学的有用的就是编程环节瓦
据老师说MATLAB中循环的利用会导致效率很低下(但是我经常用……)您怎么看? wangluzhu 发表于 2012-10-2 19:25 static/image/common/back.gif
据老师说MATLAB中循环的利用会导致效率很低下(但是我经常用……)您怎么看?
尽量用内置的运算符,比如矩阵的自然运算。
比如 某行和另一行的倍数之类的 运算 ,就不用循环。
但是当循环变得无法避免,或者不用循环就要用更加复杂的数学逻辑,就没必要,用循环是最好的 顶....{:soso_e113:}
页:
[1]
2