道格•赫尔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维矩阵,万博1manbetx所以你可以看到这是如何在多维中工作的。
谢谢你!
您也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站表现。其他MathWorks国家网站不适合从您的位置访问。
本网站使用cookie来改善用户体验,个性化内容和广告,并分析网站流量。如您继续使用本网站,即表示您同意我们使用cookies。请参阅我们的隐私政策了解更多关于cookies和如何更改您的设置。