2D数组用于循环问题

264意见(过去30天)
Suha Ismail.
Suha Ismail. 于2020年5月7日
评论: Suha Ismail.于2020年5月7日
n = 40.
a = 0.9
x =零(41,41)
为了k = 0:n
为了col = 0:41
为了行= 0:41
x(行,col)= a。^(k + k)* 1;
结尾
结尾
结尾
问题是什么(错误:x(0,_):下标必须是整数1到(2 ^ 31)-1或逻辑)?

接受答案

akihumi.
akihumi. 于2020年5月7日
编辑:akihumi. 于2020年5月7日
与Python,C,C ++和其他编程语言不同,Matlab启动矩阵索引,而不是0。
所以只需更改第一个号码,那么它应该在没有错误的情况下工作。
n = 40.
a = 0.9
x =零(41,41)
为了k = 1:n
为了col = 1:40
为了行= 1:40
x(行,col)= a。^(k + k)* 1;
结尾
结尾
结尾
但是,k对于循环的k的第一至第39次迭代可能被覆盖,x只会显示循环的k的第40次迭代的结果...... x的最终结果只有一个包含值的40×40矩阵所有元素的0.9 ^ 80 = 2.1847e-4 ...
这可以简化为
n = 40.
a = 0.9
x = a ^(2 * n)*(n)

更多答案(0)

标签

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!