Я написал этот код:Запишите цикл for/while с «if/else» более элегантным способом?
A
является nXm
матрица
[nA, mA] = size(A);
currentVector(nA,mA) = 0;
for i = 1: nA
for j = 1 : mA
if A (i,j) ~= 0
currentVector(i,j) = ceil(log10(abs(A(i,j))));
else
currentVector(i,j) = 0;
end
end
end
Как я могу написать код выше в более «MatLab» способом?
Есть ли ярлыки для if/else и для циклов? например, в C
:
int a = 0;
int b = 10;
a = b > 100 ? b : a;
тех if/else
условиях продолжает напоминать мне о C
и Java
.
Благодаря
Лучшее решение, но я думаю, вы должны указать какое-то объяснение. ;-) – kay
@kay: сделано. Не стесняйтесь добавлять ссылки на соответствующие разделы в документации MATLAB (я уверен, что есть много обсуждений написания векторизованного кода и выполнения индексации матрицы) – Amro
@Amro: Удивительно, я буду использовать это с этого момента. Благодаря! – ron