Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Octave Matlab помогите понять в чем ошибка

VVVV Ученик (85), закрыт 10 месяцев назад
7. Найти сумму элементов матрицы, не лежащих в интервале [а,b]. Заменить этим значением все элементы, попавшие в этот интервал.
A = load('г.txt');
[n,m] = size(A);

f = fopen('file.txt', 'wt');
fprintf(f, '\t ИСХОДНАЯ МАТРИЦА \n');
disp(A);


for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);

c=(A');
s = 0;
for i = 1:n
for j = 1:m
[Y,X] = c(j,i);
if (c(j,i)<a) && (c(j,i)>b)
s = s + c(i,j);
end;
if (c(j,i)<a) && (c(j,i)>b)
c(X,Y) = s;
end;
end;
end;

A=(c');f = fopen('file.txt', 'a');
fprintf(f, '\t ПРЕОБРАЗОВАННАЯ МАТРИЦА \n');
for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);
Лучший ответ
Профессор Оракул (81655) 1 год назад
Ошибка - в том, что сначала нужно найти сумму, а только потом - заменять элементы.
VVVVУченик (85) 1 год назад
for i = 1:n
for j = 1:m

if (c(i,j)<a) && (c(i,j)>b)
s = s + c(i,j);
end;
if (c(i,j)<a) && (c(i,j)>b)
c(X,Y) = s;
end;
[Y,X] = c(j,i);
end;
end;
так или ?
Профессор Оракул (81655) VVVV, s=0; for i = 1:n, for j = 1:m if (c(i,j) < a) && (c(i,j) > b) s = s + c(i,j); end end;end for i = 1:n, for j = 1:m if (c(i,j) < a) && (c(i,j) > b) c(i,j) = s; end end; end
VVVVУченик (85) 1 год назад
A = load('u.txt');
[n,m] = size(A);

f = fopen('file5.txt', 'wt');
fprintf(f, '\t ИСХОДНАЯ МАТРИЦА \n');
disp(A);

for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);
c=(A');
s=0;
for i = 1:n
for j = 1:m
if (c(i,j) < a) && (c(i,j) > b)
s = s + c(i,j)
end
end;
end

for i = 1:n
for j = 1:m
if (c(i,j) < a) && (c(i,j) > b)
c(i,j) = s

end
end;
end
A=(c');
f = fopen('file5.txt', 'a');
fprintf(f, '\t ПРЕОБРАЗОВАННАЯ МАТРИЦА \n');
for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);
VVVVУченик (85) 1 год назад
что сейчас не так
?
Профессор Оракул (81655) VVVV, Во-первых - не заданы значения a и b. Во-вторых - неправильно записано условие: вместо && надо написать ||
Остальные ответы
Похожие вопросы