我很抱歉这么愚蠢的问题。我编程不是很好,我在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
答案 0 :(得分:2)
要应用此分部,请使用result(1:15)./result(16:30)
运算符./
(或rdivide)将result(1:15)
中的每个元素除以result(16:30)
中的对应元素