如何在for循环matlab中划分两个不同的数组
How to divide two different array in for loop matlab
很抱歉提出这样一个愚蠢的问题。我在编程方面不是很好,而且我在 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文件相关的函数文件
function [value,position]= randomFunction(a)
y=randperm(length(a));
position=y(1);
value=a(position);
end
要应用此除法,请使用 result(1:15)./result(16:30)
运算符 ./
(或 rdivide)将 result(1:15)
中的每个元素除以 result(16:30)
中的相应元素
很抱歉提出这样一个愚蠢的问题。我在编程方面不是很好,而且我在 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文件相关的函数文件
function [value,position]= randomFunction(a)
y=randperm(length(a));
position=y(1);
value=a(position);
end
要应用此除法,请使用 result(1:15)./result(16:30)
运算符 ./
(或 rdivide)将 result(1:15)
中的每个元素除以 result(16:30)