Почему я не могу получить те же результаты от 1-го и 2-го кодирования? Где моя ошибка? Я переделал первый блок кода, показанный во втором блоке ниже. Но я не могу найти, где ошибка:Ошибка при программировании Matlab - изменение результатов из аналогичных блоков кода
1)
V = [5,17,-3,8,0,-7,12,15,20,-6,6,4,-7,16];
a=length(V);
for k=1:a
if V(k)>0 && (rem(V(k),3)==0 || rem(V(k),5)==0)
V(k)=2*V(k);
elseif -5 < V(k) < 0
V(k)=V(k)^3;
end
end
2)
V = [5,17,-3,8,0,-7,12,15,20,-6,6,4,-7,16];
a=length(V);
for k=1:a
b=V(k);
if b>0 &&(rem(b,3)==0 || rem(b,5))==0
b=2*b;
elseif -5 < b < 0
b=b^3;
end
end
b не является указателем на V (k), поэтому, когда вы делаете b = 2 * b, он не изменяет оригинал V (k) –