Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите перевести код с Python на Java(Несложный и немного) / 2 сообщений из 2, страница 1 из 1
13.12.2016, 22:16
    #39366240
samo_soboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести код с Python на Java(Несложный и немного)
Помогите перевести код...оч нужно и важно....буду весьма благодарен!!!)
заранее спасибо
clear, clc, mode(0), lines(0,90)
y_1 = 5;
C = [
0 0 0 0
1 3 1 2
-%inf 5 2 -%inf ];
R = [
0 0 0 0
3 5 4 3
-%inf 9 6 -%inf ];
[x9,n] = size(C); // x9 - Количество управлений
y9 = y_1 + 1; // y9=y_1 +1 - Количество состояний
// Вычисляем таблицы для
// динамического программирования - ДП
X = -%inf * ones(y9, n+1);
F = X;
F(:,n+1) = zeros(y9, 1); // что находится сейчас в F ?
for j = n : -1 :1
Fyx = -%inf * ones(y9, x9);
for y = 0 : y_1 // y - состояние на шаге j
for x = 1 : x9 // x - управление на шаге j
yy = y - C(x,j);
if 0 <= yy & yy <= y_1
// Уравнение Ричарда Беллмана
Fyx(1+y,x) = R(x,j) + F(1+y-C(x,j), j+1);
// Fyx(1+ y,x) = R(x,j) + F(1+ yy, j+1);
end
end
end
// F,Fyx
[cFy, cX] = max(Fyx, 'c'); // c - column (столбец)
F(:,j) = cFy;
X(:,j) = cX;
// Печать шапки
xmaxi = sum(bool2s(R(:,j) > -%inf));
write(6, ' ')
write(6, ' Этап ' + string(j)' )
// tire40 = '~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~';
tire40 = part('~', ones(1,20)) + '|' + ...
part('~', ones(1, 6*xmaxi ));
write(6, tire40);
53
write(6, ' Y' + string(j) + ' Fj(Yj) Xj* | Fyx ');
write(6, tire40);
// Печать только нужных строчек и столбцов таблицы
// Допустимые состояния на этапе j меняются
// в пределах от ymini до ymaxi включительно
ymini = sum(C(1, j:$));
ymaxi = y_1 - sum(C(1, 1: j-1));
Table = [(0 : y_1)', F(:,j), X(:,j), Fyx];
write(6, Table(1+ (ymini:ymaxi), 1:(3+xmaxi)), ...
'( 3(i4,2x), "" | "", 100(i4,2x) )' )
write(6, tire40);
end
// Вычисление fopt, rXopt и rYopt
// ==============================
rXopt = zeros(1, n); // r - row (строка)
rYopt = zeros(1, n);
y = y_1;
for j = 1 : n
rXopt(j) = X(1+ y, j);
rYopt(j) = y;
y = y - C(rXopt(j), j);
end
// Печать ответа:
// ==============
C, R, y_1
write(6,' =========== Ответ: ============')
write(6,' ===============================')
fopt = F(1+y_1, 1);
write(6,' fopt = ' + string(fopt));
write(6, rXopt, '( "" rXopt ="", 100i6 )' )
write(6, rYopt, '( "" rYopt ="", 100i6 )' )
...
Рейтинг: 0 / 0
13.12.2016, 22:17
    #39366241
samo_soboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести код с Python на Java(Несложный и немного)
В файле тот же код - только в нормальном формате!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите перевести код с Python на Java(Несложный и немного) / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]