Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab脚本中的循环_Matlab_Loops - Fatal编程技术网

matlab脚本中的循环

matlab脚本中的循环,matlab,loops,Matlab,Loops,我正在使用matlab作为我最后一年项目的一部分。我在解一个几何级数,比如x^j的和,从j=0到n-1。到目前为止,我有以下代码: $Variable dictionary %N Number of terms to sum %alpha Sum of series %x Vector of constants %n Loop counter N = input('Enter the number of terms to sum: '); alpha = 0; x = [0.9 0.99 0

我正在使用matlab作为我最后一年项目的一部分。我在解一个几何级数,比如x^j的和,从j=0到n-1。到目前为止,我有以下代码:

$Variable dictionary
%N Number of terms to sum
%alpha Sum of series
%x Vector of constants 
%n Loop counter

N = input('Enter the number of terms to sum: ');
alpha = 0;
x = [0.9 0.99 0.999 0.9999 0.99999 0.999999];
for n = 0:N-1
alpha = alpha + (x.^(n));
end
format long
alpha
当我运行这个脚本时,它允许我在脚本中输入x的值作为向量,但要求用户输入n的值。我是否可以修改我的代码,这样我就可以在自己的代码中添加n?并使其超过n的一个值


谢谢修改这部分代码:

for n = 1: length(N)
alpha = alpha + (x.^(N(n)));
end

并将N作为向量传递[10 100 1000]

修改这部分代码:

for n = 1: length(N)
alpha = alpha + (x.^(N(n)));
end

并将N作为向量传递[10 100 1000]

修改这部分代码:

for n = 1: length(N)
alpha = alpha + (x.^(N(n)));
end

并将N作为向量传递[10 100 1000]

修改这部分代码:

for n = 1: length(N)
alpha = alpha + (x.^(N(n)));
end
并将N作为向量[10 100 1000]

传递给以下解决方案:

x = [0.9 0.99 0.999 0.9999 0.99999 0.999999];
nlist = [10,100,1000];
for elm = nlist
    alpha = alpha + (x.^(elm));
end
这里有一个解决方案:

x = [0.9 0.99 0.999 0.9999 0.99999 0.999999];
nlist = [10,100,1000];
for elm = nlist
    alpha = alpha + (x.^(elm));
end
这里有一个解决方案:

x = [0.9 0.99 0.999 0.9999 0.99999 0.999999];
nlist = [10,100,1000];
for elm = nlist
    alpha = alpha + (x.^(elm));
end
这里有一个解决方案:

x = [0.9 0.99 0.999 0.9999 0.99999 0.999999];
nlist = [10,100,1000];
for elm = nlist
    alpha = alpha + (x.^(elm));
end

也许这就是您想要的(不需要循环):


也许这就是您想要的(不需要循环):


也许这就是您想要的(不需要循环):


也许这就是您想要的(不需要循环):



您希望传递什么值作为n?例如,如果你有另一个制造功率(m)的术语,用户可以输入n和m,然后你可以使用另一个迭代器来迭代n和m。基本上,当n增加时,我会显示答案的差异,所以我想显示n=10,n=100,n=1000等等on@user12428你的
x
N
有多大。如果不是太大。。。那么您甚至可能不需要任何循环。您希望将哪些值作为n传递?例如,如果你有另一个制造功率(m)的术语,用户可以输入n和m,然后你可以使用另一个迭代器来迭代n和m。基本上,当n增加时,我会显示答案的差异,所以我想显示n=10,n=100,n=1000等等on@user12428你的
x
N
有多大。如果不是太大。。。那么您甚至可能不需要任何循环。您希望将哪些值作为n传递?例如,如果你有另一个制造功率(m)的术语,用户可以输入n和m,然后你可以使用另一个迭代器来迭代n和m。基本上,当n增加时,我会显示答案的差异,所以我想显示n=10,n=100,n=1000等等on@user12428你的
x
N
有多大。如果不是太大。。。那么您甚至可能不需要任何循环。您希望将哪些值作为n传递?例如,如果你有另一个制造功率(m)的术语,用户可以输入n和m,然后你可以使用另一个迭代器来迭代n和m。基本上,当n增加时,我会显示答案的差异,所以我想显示n=10,n=100,n=1000等等on@user12428你的
x
N
有多大。如果不是太大。。。然后,您甚至可能不需要任何循环。您可以使用Matlab for循环直接迭代列表,如我的解决方案所示。您可以使用Matlab for循环直接迭代列表,如我的解决方案所示。您可以使用Matlab for循环直接迭代列表,如我的解决方案所示。您可以使用Matlab for循环直接迭代列表,如我的解决方案所示。非常好,将尝试这两种方法!谢谢你!这很有帮助,谢谢,但这个答案只是解决了第一部分?它不是对所有值求和,例如n=10到n-1。很好,我们将尝试这两种方法!谢谢你!这很有帮助,谢谢,但这个答案只是解决了第一部分?它不是对所有值求和,例如n=10到n-1。很好,我们将尝试这两种方法!谢谢你!这很有帮助,谢谢,但这个答案只是解决了第一部分?它不是对所有值求和,例如n=10到n-1。很好,我们将尝试这两种方法!谢谢你!这很有帮助,谢谢,但这个答案只是解决了第一部分?它不是所有值的总和,例如n=10到n-1。