[讨论] 双重for循环 重复问题

楼主: popo14777 (草草)   2015-07-19 12:32:05
以下是小弟的程式码
for repert 1:3 %跑三条不同曲线
for i=1:314 %有314个数据(X轴)
if ....
data=abc; %有包含误差的公式,data是反应值(y轴)
else
data=aba; %有包含误差的公式,data是反应值(y轴)
end
total=[total,data]; %314笔资料(1条曲线)都存入total
end
total_all=[total_all,total]; %3条曲线都存入total_all
end
以下是跑出的结果及问题
1.为什么total资料变942笔(1*942 double),应该要314笔才对
2.为什么total_all资料变1884笔(1*1884 double),应该要942笔才对
3.为什么total_all那栏我使用分号无法编译
以下是想要的结果
1.total资料有314笔(1*314 double)
2.total_all资料有914笔(3*314 double)
再麻烦大大,帮小弟看一下哪边出问题,谢谢
作者: celestialgod (天)   2015-07-19 13:01:00
你total没有每次repeat存出来以及清空,所以第一次total跟total_all都是314,第二次total是628跟total_all是314+628=942,第三次就total是942跟total_all是942+942=1884;无法编译是因为三次total长度都不一样建议改法是最前面加上total_all=zeros(314, 3);循环改成两层i, j 每次改total_all(i, j)的值(preallocate matrix会比较快
作者: name0625 (lawpy)   2015-07-19 22:17:00
plot(total_all') 试试看?http://www.mathworks.com/help/matlab/ref/plot.html#btzptinCreate a 2-D line plot of甴. MATLAB긠plots each matrCreate a 2-D line plot of Y. MATLAB plots eachmatrix column as a separate line.

Links booklink

Contact Us: admin [ a t ] ucptt.com