我在Matlab中有一个简单的问题。如何创建一个for循环,它将从结果最小的向量中选择值,并将所选的值从vector写入.txt文件?例如,如果我有:
T = 100;
W = 20;
h = [h1 h2 h3 ... ];
y = 2*T*W/h;
我想创建一个循环,它将向向量h搜索一个值,该值将提供y的最小值并将所选的h写入.txt文件。 任何帮助将不胜感激。感谢
答案 0 :(得分:0)
For loop:
min_y = 2*T*W/h(1);
h_chosen = 1;
for i = 2:length(h)
if min_y > 2*T*W/h(i)
min_y = 2*T*W/h(i);
h_chosen = i;
end
end
比for-loop快得多:
[~, idx] = min(arrayfun(@(i) 2*T*W/h(i), 1:length(h)));
h_chosen = h(idx);
写入.txt
文件:(http://www.mathworks.com/help/matlab/ref/fprintf.html)
fileID = fopen('min_h.txt','w');
fprintf(fileID, '%d\n', h_chosen);