Правильный вывод новых назначений во время каждого цикла цикла for - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу, чтобы новый ответ выводился на каждой итерации цикла for. В настоящее время обновляется fluence, чтобы он стал последним последним выводом цикла.

for i = 1:nx
    fluence= data1cm(i).data(:,3).*25000000.*(energygap);
    %dim=size(c)
    %'fluence' num2str((i)+1)= fluence;
end

1 Ответ

0 голосов
/ 06 ноября 2018

Так же, как вы индексируете в data1cm(i), вы можете сохранить значение в fluence таким же образом, например, если результат data1cm(i).data(:,3).*25000000.*(energygap) является скалярным, вы можете сделать

for i = 1:nx
    fluence(i)= data1cm(i).data(:,3).*25000000.*(energygap);
end

Тогда fluence будет массивом 1 * nx всех результатов.

Для эффективности всегда следует инициализировать переменную, то есть создать ее с некоторыми временными значениями, а затем перезаписать эти значения.

fluence = zeros(1,nx);
for i = 1:nx
    fluence(i)= data1cm(i).data(:,3).*25000000.*(energygap);
end

Здесь я инициализирую fluence нулями, а затем все эти нули перезаписываются результатом data1cm(i).data(:,3).*25000000.*(energygap);. Другие инициализации, например, ones и nan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...