如何在指定的用户定义函数中迭代matlab中矩阵的行和列
这是我的老师发来的。我需要以下特定编码的帮助,这些编码涉及到在先前确定的数组中迭代行和列。colNum=20和rowNum 10。此外,已经定义了试探色函数并开始工作,它创建了一个101x3矩阵,每行根据0-100度之间的温度提供不同的颜色阴影 “此函数有一个finElems参数,不返回任何内容。它绘制finElems数组中的所有温度值。您可以在下面看到我的示例绘图。要绘制颜色,请使用如下语句:如何在指定的用户定义函数中迭代matlab中矩阵的行和列,matlab,Matlab,这是我的老师发来的。我需要以下特定编码的帮助,这些编码涉及到在先前确定的数组中迭代行和列。colNum=20和rowNum 10。此外,已经定义了试探色函数并开始工作,它创建了一个101x3矩阵,每行根据0-100度之间的温度提供不同的颜色阴影 “此函数有一个finElems参数,不返回任何内容。它绘制finElems数组中的所有温度值。您可以在下面看到我的示例绘图。要绘制颜色,请使用如下语句: plot(colNum, numRows-rowNum, 's', 'Color', color,
plot(colNum, numRows-rowNum, 's', 'Color', color, 'MarkerFaceColor', color, 'MarkerSize', 20);
for num_rows = 1:10
% Here add some code
end;
为了使用该语句,您应该创建几个变量:colNum:这是当前的列号
。您将遍历数组中的所有列,因此将当前列号存储在此变量中。
rowNum:与colNum相同,只是它是当前的行号。
•颜色:这是当前finElems元素的颜色,由函数TELTOCOLOR确定
。我发现有必要使用表达式numRows-rowNum,以便数组的底行(编号最高的行)显示为图形上的底行。否则,fin在图形中显示为倒置。请将此轮廓用于函数:
function plotFin(finElems)
hold on;
% iterate through all the rows:
% iterate through all the columns: (this is a loop within a loop)
% Use the tempToColor function to get the temperature.
% Plot the temperature color.
% end
% end
axis equal tight;
axis([0 (numCols+1) -1 numRows]);
hold off;
end
Matlab的一些“工具”“对于迭代,是循环语句。如果在迭代之前知道要执行循环多少次,那么for
就是你的事情。如果您不知道,并且每次都需要决定是否继续迭代,那么您可以使用while
。如果您有Matlab,打开它,在编辑器窗口中为和编写和while
,然后将光标放在它们上,然后按F1。(别担心,文本会一直在这里,直到你回来)
在您的例子中,您预先知道需要迭代多少行(10)和多少列(20)。那么,你需要的是?。。。没错,您需要为
设置一个。在rows情况下,语句可能如下所示:
plot(colNum, numRows-rowNum, 's', 'Color', color, 'MarkerFaceColor', color, 'MarkerSize', 20);
for num_rows = 1:10
% Here add some code
end;
这告诉Matlab执行十次内的任何操作。每次,num_rows
的值在循环体的中都会不同:第一次是1,然后是2,然后是3,依此类推,直到10
现在,计划是:对于每一行,还必须迭代槽列。为此,可以将两个循环组合成另一个循环(我认为单词是“nest”--对不起,不是英语母语人士。想想嵌套循环,比如电子手表上的数字:每小时迭代有60分钟的迭代)。代码可能如下所示:
for num_rows = 1:10
for num_cols = 1:20
% Here some other code
end;
end;
现在,当num\u rows
为1时,每个内部迭代的num\u cols
值从1变为20,然后当num\u rows
为2时,再次从1变为20,依此类推,直到num\u rows
为10和num\u cols
为20
澄清了这些内容后(我希望如此),我建议您在Matlab中按F1键查看更多内容;它是最优秀的帮助文档之一,如果不利用它,那将是一件憾事。好的,您尝试过什么但没有成功?@CST-Link。我更困惑于如何遍历行和列。在我的书中并没有关于迭代的章节,我在网上看到的很多例子都不是像我这样一开始就采用的格式。我不知道如何接近。可能是类似于numCols=1:size(101,1)的东西,非常感谢您的解释,它比我最初认为的简单多了!!