Czy mogę napisać co następuje w jednym wkładzie?Zrozumienie listy Matlab
x = [1,3,5]
res = zeros(1,size(x,2));
for i=1:size(x,2);
res(i) = foo(x(i);
end;
Załóżmy, że funkcja foo nie obsługuje tablic zgodnie z oczekiwaniami. W moim przypadku foo zwraca wartość skalarną, nawet jeśli podaje tablicę jako argument.
W Pythonie, na przykład, to będzie wyglądać następująco:
x = [1,3,5]
res = [foo(y) for y in x]
Co robi "@"? –
@LucyBrennan Tworzy [uchwyt funkcji] (http://www.mathworks.com/help/techdoc/matlab_prog/brfpxgt-1.html). Możesz przeczytać tę stronę dokumentu i powiązane linki, aby uzyskać więcej informacji. – abcd
Thx. Co jeśli foo rzeczywiście bierze dwa argumenty i chcę utrzymać drugi argument jako stałą we wszystkich iteracjach? –