matlab中for语句中,怎样把每一个i得到的结果都保存在一个excel文档里?
有如下程序:clearclca=xlsread('mu=5.xlsx');b=a(1:106,1);c=a(1:106,2:51);fori=1:50X=b;Y=c(:,...
有如下程序:
clear
clc
a=xlsread('mu=5.xlsx');
b=a(1:106,1);
c=a(1:106,2:51);
for i=1:50
X=b;
Y=c(:,i);
R=corrcoef(X,Y)
end
xlswrite('aaa.xlsx',R)
我想把每一个i得到的R都保存在excel名为aaa的文档里。可是我这样写程序,结果aaa的excel文档里得到的只是i=50时的R值。怎样才能吧所有的R值都存储到名为aaa的excel里?
求高手指教。谢谢! 展开
clear
clc
a=xlsread('mu=5.xlsx');
b=a(1:106,1);
c=a(1:106,2:51);
for i=1:50
X=b;
Y=c(:,i);
R=corrcoef(X,Y)
end
xlswrite('aaa.xlsx',R)
我想把每一个i得到的R都保存在excel名为aaa的文档里。可是我这样写程序,结果aaa的excel文档里得到的只是i=50时的R值。怎样才能吧所有的R值都存储到名为aaa的excel里?
求高手指教。谢谢! 展开
4个回答
展开全部
你这个函数写的有问题:
1,你的R 是一个值,他在for循环里面被赋值了N次,但是他只在for循环外面被写过一次。
所以只有最后一次有写到目标文件。
2,如果你要改正,请将xlswrite写到for循环里面。
3,求人不如求己,自己在.m文件中设置一个断点,然后单步调试一下,你就能发现这个问题。
4,没有调试不明白的程序~!祝你好运。
1,你的R 是一个值,他在for循环里面被赋值了N次,但是他只在for循环外面被写过一次。
所以只有最后一次有写到目标文件。
2,如果你要改正,请将xlswrite写到for循环里面。
3,求人不如求己,自己在.m文件中设置一个断点,然后单步调试一下,你就能发现这个问题。
4,没有调试不明白的程序~!祝你好运。
更多追问追答
追问
我也这样试过,把xlswrite写到里面去,得到的excel文档里还是只有最后一个值。
追答
那就是你的write函数参数的问题
我查了一下,
有4个参数
excel文件的制定行、列
估计是你没定义行列,
他就每次写入都帮上次写入的覆盖了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%%无数据,未测试
clear
clc
a=xlsread('mu=5.xlsx');
b=a(1:106,1);
c=a(1:106,2:51);
R=[];
for i=1:50
X=b;
Y=c(:,i);
R=[R;corrcoef(X,Y)];%改了这
end
xlswrite('aaa.xlsx',R)
clear
clc
a=xlsread('mu=5.xlsx');
b=a(1:106,1);
c=a(1:106,2:51);
R=[];
for i=1:50
X=b;
Y=c(:,i);
R=[R;corrcoef(X,Y)];%改了这
end
xlswrite('aaa.xlsx',R)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建一个二维数组,把i值按顺序赋值组数组,for语句执行完后,将数组写入想赋值的单元格区域即可。
例:
dim arry1(1 to 100)
for t= 1 to a
i=f(t)
arry1(t)=i
next t
me.range("A2').resize(100,1)=arry1
以上例子为将不每个i值写入当前工作表的A2:A101区域。
例:
dim arry1(1 to 100)
for t= 1 to a
i=f(t)
arry1(t)=i
next t
me.range("A2').resize(100,1)=arry1
以上例子为将不每个i值写入当前工作表的A2:A101区域。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该把R定义成矩阵
clear
clc
a=xlsread('mu=5.xlsx');
b=a(1:106,1);
c=a(1:106,2:51);
for i=1:50
X=b;
Y=c(:,i);
R(i)=corrcoef(X,Y);%改了这
end
xlswrite('aaa.xlsx',R)
clear
clc
a=xlsread('mu=5.xlsx');
b=a(1:106,1);
c=a(1:106,2:51);
for i=1:50
X=b;
Y=c(:,i);
R(i)=corrcoef(X,Y);%改了这
end
xlswrite('aaa.xlsx',R)
追问
这样也不行啊,提示错误:In an assignment A(I) = B, the number of elements in B and
I must be the same.
追答
哦,没注意
楼下的应该可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询