matlab - 如何嵌套循环以使整个事物重复 100 倍
问题描述
我有一个循环,我试图围绕它创建另一个循环,但我不确定语法应该是什么。这是我的代码:
for (?)
for i=1:6
r(i)=normrnd(0,0.1*sy);
y_new=A+B*x+r;
end
% estimate new A and B
[mm,nn]=size(x); DoF=mm-2;
x_mean=mean(x);
y_mean=mean(y_new);
xp=(x-x_mean);
yp=(y_new-y_mean);
num=sum(xp.*yp);
dem=sum(xp.*xp);
B_new=num/dem;
A_new=y_mean-B_new*x_mean;
end
我不确定在 for 循环中放入什么以使其重复 100X。我假设我需要“for i=1:100”,但是我不确定在循环中的哪个位置设置我的 x(i) 以获得预期的结果。我什至不确定我是否正确地将第一个循环嵌套在其中。我正在尝试使用 normrnd 创建一组 6 个新的 y 值,然后运行线性回归以生成新的 A 和 B(斜率和截距),然后我想将整个过程重复 100 倍。
解决方案
除非你有特定的理由不向量化你的normrnd()
调用,你只需要一个级别的for
s:
%sy,A,B,x initialized elsewhere
for i=1:100
r=normrnd(0,0.1*sy,[6 1]);
y_new=A+B*x+r;
clear r;
% estimate new A and B
[mm,nn]=size(x);
DoF=mm-2;
x_mean=mean(x);
y_mean=mean(y_new);
xp=(x-x_mean);
yp=(y_new-y_mean);
num=sum(xp.*yp);
dem=sum(xp.*xp);
B_new=num/dem;
A_new=y_mean-B_new*x_mean;
%set B=B_new and A=A_new for the next iteration maybe?
end
clear i;
推荐阅读
- powershell - 通过 PowerShell 从远程计算机上的服务器执行卸载设置
- python - python:如何首先根据值(可以为空/无/真/假)然后基于键对字典进行排序
- python - 使用 python3 在 pipenv 中设置 awscli
- java - 如何解决此“应用程序启动方法中的异常”
- amazon-web-services - 一次不能调用超过 64 个 Lambda 函数?
- php - 如何从没有免费主题的默认 wordpress 内核中删除弹出广告
- r - 在R中制作箱形图?
- python - django spotify api python http post 500 错误
- php - 通过 href 方法将复选框的值发送到 control.php 文件
- python - tkinter 按钮在 while 循环中,不使用主循环:它如何以固定间隔工作?