matlab - 尝试在 for 循环中多次重复脚本时出错
问题描述
我正在尝试执行此代码 500 次并将其保存为数组 x。
u=rand();
m=1;
while(u>=cum_prob(m))%
m=m+1;
end
x=(bin_edges(m-1)-bin_edges(m-2))/(cum_prob(m-1)-cum_prob(m-2))*(u-((((bin_edges(m-1)*cum_prob(m-2))-((bin_edges(m-2)*cum_prob(m-1))))/(bin_edges(m-1)-bin_edges(m-2)))));
当我运行它时,它有效。现在我需要这样做 500 次并将结果存储在一个数组 x 中。我为此编写的代码如下所示,但是我收到错误“数组索引必须是正整数或逻辑值”。在以 x(a)=..... 开头的行
x=zeros(1,500);
for a=1:500
u=rand();
m=1;
while(u>=cum_prob(m))%
m=m+1;
end
x(a)=(bin_edges(m-1)-bin_edges(m-2))/(cum_prob(m-1)-cum_prob(m-2))*(u-((((bin_edges(m-1)*cum_prob(m-2))-((bin_edges(m-2)*cum_prob(m-1))))/(bin_edges(m-1)-bin_edges(m-2)))));
end
如果有人能指出我正确的方向,那就太好了!谢谢
解决方案
那时。u<cum_prob(m)
_ m = 1
在x(a)
你有bin_edges(m-1)
,和的行bin_edges(m-2)
中。我不知道是什么,但我假设至少是一个向量,因此会导致错误。cum_prob(m-2)
cum_prob(m-2)
bin_edges
cum_prob
m-2
推荐阅读
- javascript - VueJs 输入文件 @change 在第一次调用 chrome 后执行
- angular - 如何自定义 mat-calendar-header 以添加时间选择器
- java - 如何在请求参数spring中使用对象对url字符串进行编码
- java - UncaughtExceptionHandler 有时不起作用
- java - 如何在java流过滤器中使用java流映射
- javascript - 将项目放入网格和相邻框中的更干净的方法?
- batch-file - 我想在没有 Windows 任务计划程序的情况下计划批处理文件
- c - 求 2 名学生的平均值
- qt - 当我的应用程序未在 qt 中运行时如何通知用户?
- excel - vba:复制工作表内容(不是工作表)