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里?
求高手指教。谢谢!
展开
 我来答
夜之阴影
2012-02-26 · TA获得超过172个赞
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:85万
展开全部
你这个函数写的有问题:

1,你的R 是一个值,他在for循环里面被赋值了N次,但是他只在for循环外面被写过一次。
所以只有最后一次有写到目标文件。

2,如果你要改正,请将xlswrite写到for循环里面。

3,求人不如求己,自己在.m文件中设置一个断点,然后单步调试一下,你就能发现这个问题。

4,没有调试不明白的程序~!祝你好运。
更多追问追答
追问
我也这样试过,把xlswrite写到里面去,得到的excel文档里还是只有最后一个值。
追答
那就是你的write函数参数的问题

我查了一下,
有4个参数
excel文件的制定行、列

估计是你没定义行列,
他就每次写入都帮上次写入的覆盖了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matlabguy
推荐于2016-03-19 · TA获得超过346个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:300万
展开全部
%%无数据,未测试
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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xfqyang
推荐于2016-10-14 · TA获得超过1247个赞
知道小有建树答主
回答量:525
采纳率:0%
帮助的人:257万
展开全部
建一个二维数组,把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区域。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爆呆鸟
2012-02-27 · TA获得超过109个赞
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:100万
展开全部
应该把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.
追答
哦,没注意
楼下的应该可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式