道格•赫尔MathWorks
(最初发布在Doug的MATLAB视频教程博客上。)
我最近在这个博客上回答了一个MATLAB用户提出的问题。最后,真正的问题是,他在进行计算并将结果存储在标量Y中,当他完成循环时,他只有Y的最终值但并不是所有他计算的值。这个的解决方法是把Y的每个值都存储到一个向量中。本视频旨在向新用户展示如何做到这一点。
其他视频在这里收集:https://blogs.mathworks.com/pick/category/video/其他关于MATLAB基础的文章也汇集在这里:https://blogs.mathworks.com/pick/category/matlab-basics/
记录:2007年8月20日
在今天关于MATLAB基础的视频中,我们将展示如何将计算结果存储在向量中,向量是矩阵的一种特殊情况。我们要做的是,对于I = 1:10,意味着我们要从1数到10。现在在这个循环中,我们要做的是Y = I + rand。我们将生成一个随机数,介于0和1之间,然后将它与I的当前值相加,然后结束。
我想看看结果。我要把分号拿掉,现在运行这个。我将通过按F5来运行它,这意味着保存并运行当前文件。我们可以看到我们已经循环了10次得到了不同的Y值。
如果我们想把它们画出来呢?嗯,每次通过这个循环,我们都覆盖了Y的值,所以我们损失了,例如,当生成10。857时,我们损失了9。528。如果我们想要画出这些数据,这并不是很好。
所以我们能做的就是来到这里,说我想把Y变成一个向量。所以每次通过循环,这个语句都会读取Y元素1或2,或3,或4,结果和之前一样。现在我们再运行一次。我要按F5。通过在命令窗口中向上滚动,我们会看到首先,Y等于1×1,然后是1×2,1×3。每一次我们都在这里加上一列。我们存储了这些数据。
现在做完了,我们可以在这里画出(y)我们可以在图上看到。这是MATLAB中经常用到的一种技巧的一个很简单的例子你只需要把结果存储在一个矩阵中以便以后使用。
如果您每次通过循环计算一个向量,并希望将其存储为另一列,那么这种方法也可以工作。所以每一列可能代表循环中的一次。如果每次计算都创建一个矩阵,那么您将使用一个三维矩阵,依此类推。MATLAB实际上支持n维矩阵,金宝app所以你可以看到它是如何在多维情况下工作的。
谢谢你!
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。