查看: 102|回复: 6|关注: 0

[已解决] for两次循环输出到excel

[复制链接]

新手

38 麦片

财富积分


050


27

主题

104

帖子

0

最佳答案
  1. clear;clc;
  2. j=0;
  3. for a=1:1:3
  4.     j=j+1;jj=0;
  5.     for b=2:2:4
  6.         jj=jj+1;
  7.         fprintf('a=%g,b=%g\n',a,b);
  8.         A(jj)=a;
  9.         B(jj)=b;
  10.     end
  11.    c(i)=[A',B'];
  12.      
  13. end
  14.   xlswrite('000.xlsx',C,1,'A1');%%再将数据写入到excel文件当中
复制代码
20181107194113.png
我想通过代码实现输出数据如图这样,但是自己调整了很久都没有得到正确解决,希望能得到您的帮助,感谢,好人一生平安!!

新手

38 麦片

财富积分


050


27

主题

104

帖子

0

最佳答案
 楼主| 发表于 2018-11-7 19:47:56 | 显示全部楼层
本帖最后由 jiangchangs123 于 2018-11-7 19:50 编辑

我自己尝试了很久都没有得到正确答案,恳请能帮帮忙
  1. clear;clc;
  2. j=0;
  3. for a=1:1:3
  4.     j=j+1;jj=0;
  5.     for b=2:2:4
  6.         jj=jj+1;
  7.         fprintf('a=%g,b=%g\n',a,b);
  8.         A(jj)=a;
  9.         B(jj)=b;
  10.     end
  11.    c(j)=[A',B'];
  12.      
  13. end
  14.   xlswrite('000.xlsx',C,1,'A1');%%再将数据写入到excel文件当中
复制代码

新手

22 麦片

财富积分


050


0

主题

24

帖子

2

最佳答案
发表于 2018-11-7 21:33:41 | 显示全部楼层 |此回复为最佳答案
clear;clc;
j=0;
for a=1:3
    j=j+1;jj=0;
    A(jj+1,1+(a-1)*2)=a;
    for b=2:2:4
        jj=jj+1;
        A(jj,a*2)=b;
    end
end
xlswrite('E:\1.xlsx',A,1,'A2');%%再将数据写入到excel文件当中。附件中,你再改写程序把0去掉。然后,在相应位置输入a,b即可。


1.xlsx

7.68 KB, 下载次数: 1

excel文件

新手

38 麦片

财富积分


050


27

主题

104

帖子

0

最佳答案
 楼主| 发表于 2018-11-8 09:45:57 | 显示全部楼层
木木木林 发表于 2018-11-7 21:33
clear;clc;
j=0;
for a=1:3

谢谢您的耐心解答

新手

22 麦片

财富积分


050


0

主题

24

帖子

2

最佳答案
发表于 2018-11-8 09:48:14 | 显示全部楼层
也是新手,,,加油!!!

新手

38 麦片

财富积分


050


27

主题

104

帖子

0

最佳答案
 楼主| 发表于 2018-11-8 09:50:24 | 显示全部楼层
木木木林 发表于 2018-11-8 09:48
也是新手,,,加油!!!

但是我发觉一个问题 如果a从1变道100,b从2变道100这个写出来的表格中间没得空的栏,看上去就比较乱

新手

22 麦片

财富积分


050


0

主题

24

帖子

2

最佳答案
发表于 2018-11-8 10:02:08 | 显示全部楼层
矩阵未赋值部分自动补为零。你想办法保证矩阵你不想要的部分是空的,或者输出好多矩阵,使用for循环。感觉很麻烦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表