如何在for循环matlab中划分两个不同的数组

时间:2015-03-07 17:57:07

标签: matlab if-statement for-loop

我很抱歉这么愚蠢的问题。我编程不是很好,我在MATLAB中也很糟糕。

我需要帮助解决我的问题。我正在生成一个代码,其中有 30个变量(用u表示)。我用它来循环。我的代码将产生值和每个变量的位置。

我的问题是如何定义变量1到变量16,变量2到变量17,变量3到变量18 ....直到它到达变量15除以变量30 。我有MATLAB文件附加到这个问题。任何帮助将不胜感激。

这是主文件

start=zeros(2,15);
a=[-12 10 -5 3 21 19 3 7 17 21];

for u = 1:30;   
    acx = rand();
    newacx = round(acx*100);

    if (newacx < 10 || newacx == 10)
       [valueone,positionone] = randomFunction(a); 
    elseif (newacx > 10)
       [valueone,positionone] = max(start(1,:));
    end

    result(u) = valueone 
    % I want to divide result(1)/result(16),result(2)/result(17)...until result (15)/result(30)

    resultX(u)= positionone 
    % I need to identify the position, which I can call when I need to analyze the data

end

这是与m-file相关的功能文件

function [value,position]= randomFunction(a)

y=randperm(length(a));
position=y(1);
value=a(position);

end

1 个答案:

答案 0 :(得分:2)

要应用此分部,请使用result(1:15)./result(16:30)

运算符./(或rdivide)将result(1:15)中的每个元素除以result(16:30)中的对应元素