[已答复] 对于一个for循环,A和B出来的列数为啥不一样了

[复制链接]
luyannan11 发表于 2021-9-14 09:39:31
对于一个for循环,A和B出来的列数为啥不一样了
for i=1:nsum+1+ndif
%     i
    A(i)=a+(i-1)*pi*1j;
    B(i)=-exp(a)*(-1)^i;
end
A
B
A =

  1.0e+02 *

  列 1 至 6

   0.0600 + 0.0000i   0.0600 + 0.0314i   0.0600 + 0.0628i   0.0600 + 0.0942i   0.0600 + 0.1257i   0.0600 + 0.1571i
B=
列 1 至 12

  403.4288 -403.4288  403.4288 -403.4288  403.4288 -403.4288  403.4288 -403.4288  403.4288 -403.4288  403.4288 -403.4288


5 条回复


EngineerLeon 发表于 2021-9-14 09:58:13
谁说不一样了?你确定A和B此前都是没有被赋过值的吗?
clear;
a = 1;
for i = 1 : 20
    A(i)=a+(i-1)*pi*1j;
    B(i)=-exp(a)*(-1)^i;
end
numel( A )
numel( B )

luyannan11 发表于 2021-9-14 10:06:17
EngineerLeon 发表于 2021-9-14 09:58
谁说不一样了?你确定A和B此前都是没有被赋过值的吗?
clear;
a = 1;

就是A出来的值从1到6,而B是从1到12,这个是怎么回事

EngineerLeon 发表于 2021-9-14 10:11:14
luyannan11 发表于 2021-9-14 10:06
就是A出来的值从1到6,而B是从1到12,这个是怎么回事

上面讲了啊,你确定A和B此前都是没有被赋过值的吗?
照着我的代码,起手先用clear清空所有变量,再把a nsum ndif几个用到的变量都赋值,最后运行对A和B的计算,怎么可能数组中元素数目会不一样呢?

luyannan11 发表于 2021-9-14 10:40:30
EngineerLeon 发表于 2021-9-14 10:11
上面讲了啊,你确定A和B此前都是没有被赋过值的吗?
照着我的代码,起手先用clear清空所有变量,再把a ns ...

我跑出来了A和B结果也是一样的,就是看了中间出来了数据过程为啥A不是1到12,一直到150,B是从1到12然后到150的

aijunhao 发表于 2021-9-14 14:35:04
完整代码都没有,谁知道你在进行这个循环之前对A和B进行了什么操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表