【发布时间】:2015-02-11 18:31:43
【问题描述】:
我是 MATLAB 的新手。我正在编写一个代码,每次循环结束时,我都需要将矩阵的值保存在一个新矩阵中。这是代码sn-p:
for n=1:3
new_mat=mat(n,:)
for i=0:9
for j=1:4
k = i+j+1;
if k > 10
k = k - 10;
end
if abs(new_mat(i+1)-new_mat(k)) > 6.97
edges(i*4+j) = 1;
else
edges(i*4+j) = 0;
end
end
end
end
这是代码...前两行选择一行并进入 i & j 循环..我在我的代码前面定义了这个变量边,它是一个 1*40 矩阵...我想存储边值在 n 从 1 迭代之前,保存它,然后从 n=2 和 n=3 获取更多边缘值,并将所有三个边缘值放在一个矩阵中。我被困住了..需要你们的帮助
【问题讨论】:
-
我不太明白你想要什么。什么是“边缘值”?你的代码出了什么问题?如果您可以提供一个小的示例输入矩阵以及您希望从中获得的输出,那将会有所帮助。
-
请提供输入矩阵
-
hello chris...edges 是我的代码中已有的矩阵...它是 1 和 0 的 1x40 矩阵...例如 edges=[ 1,0,1,0, 0,0,1......1]..40 像这样的元素..问题是在代码的开头....我有一个名为“mat”的 3x40 矩阵....在第二代码行我从 mat 中选择一行并将其传递给矩阵“new mat”...现在我的代码进入 i & j 的循环...边缘取决于 i &j 的值...所以循环 i & j结束我得到一个边缘矩阵..现在当我再次转到我的第一行代码时,这个矩阵被覆盖......即 n=1:3 ..我想要的是 n=1 的单独边缘矩阵, n=2, n=3..
-
那么也许您需要将边缘矩阵重新声明为矩阵单元。那么每条边{i}都是一个矩阵,对应于n = i ...
-
@scmg:我不明白...