查看: 471|回复: 2|关注: 0

[已解决] 在for循环中,变量数组的储存问题,有源程序

[复制链接]

新手

38 麦片

财富积分


050


14

主题

53

帖子

2

最佳答案
各位 MATLAB 大神,请教如下的问题(在for循环中,变量数组的储存问题)
编该程序主要目的是,变量 C 会随着 i 的变化而变化,最终希望画出 C 的图形,因此选择用 D 来储存 C 每次变化的量。
程序 1 可以正常工作,源程序如下:
  1. clear
  2. clc
  3. n = 1;
  4. A = [2];
  5. for i = 1:1:3
  6.     C = A * 10^i;
  7.     D(n) = C;
  8.     n = n + 1;
  9. end
  10. plot(D)
复制代码
但是当 A 有 1*1 的矩阵,变成 3*1 的矩阵时,程序就会出错,程序 2 的源程序如下:
  1. clear
  2. clc
  3. n = 1;
  4. A = [2;5;9];
  5. for i = 1:1:3
  6.     C = A * 10^i;
  7.     D(n) = C;
  8.     n = n + 1;
  9. end
  10. plot(D)
复制代码
报错为:在赋值 A(I)=B 中,B 和 I 中的元素数目必须相同。
出错 for_V3a (line 7)
    D(n) = C;

请教各位大神,如果希望实现程序 2 的功能,应当如何修改?

感谢!

论坛优秀回答者

入门

456 麦片

财富积分


50500


2

主题

429

帖子

90

最佳答案
  • 关注者: 7
发表于 2018-4-16 13:26:56 | 显示全部楼层 |此回复为最佳答案
程序中for循环想实现的是
1. 每次计算A矩阵中的其中一个元素 * 10 ^ i
2. 每次计算矩阵中所有的元素* 10 ^ i

如果是1
那么将第6行更改为 C = A(i) * 10 ^ i;
如果是2
那么将第7行更改为 D(:,n) = C;
画图的时候可能要一列一列画出D保存的值。

新手

38 麦片

财富积分


050


14

主题

53

帖子

2

最佳答案
 楼主| 发表于 2018-4-16 14:00:10 | 显示全部楼层
TCCMATLAB 发表于 2018-4-16 13:26
程序中for循环想实现的是
1. 每次计算A矩阵中的其中一个元素 * 10 ^ i
2. 每次计算矩阵中所有的元素* 10 ^  ...

非常非常感谢!您回答的太棒了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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