Matlab,使用一个衬垫摆脱for循环

时间:2017-02-13 02:23:25

标签: matlab for-loop

让我们假设我们有一些代码。在Matlab编辑器中:

x = zeros(1,10);
x(1,1) = 2;
for k = 1: 9
    x(k+1) = 10 * x(k);
end

是否可以在没有for循环的情况下编写方程式?

3 个答案:

答案 0 :(得分:2)

试试这个:

x = 2 * 10.^(0:9);

希望有所帮助。

答案 1 :(得分:0)

查看日志空间功能:     X = 2 * LOGSPACE(0,9,10)

答案 2 :(得分:0)

您有错误,因为它违反矩阵乘法规则。 我的解决方案如下,我使用了Matlab的免费模拟 - Octave,它具有类似的语法:

X=randint(2) % Matrix of size 2 by 2
X =

   1   0
   0   0

Y=2 * 10.^X(:)
Y =

   20
    2
    2
    2

您有权将此类型的矩阵相乘:

N x P

N

结果是以下维度的矩阵:

M x P

另见:

Element-wise multiplication

Element-wise power

我希望这有帮助