Реализация функции в Matlab - PullRequest
0 голосов
/ 08 мая 2020

Я хочу реализовать эту функцию ? [?, ?] = (? ^ (? + ?) * u [?] с использованием массива 41 * 41, где u [n] = 1, поскольку все значения будут положительными, и n, m от 0 до 40, но дает неверное значение.

N=40
a=0.9
x =zeros(41,41)
for k=0:N
  for col = 1:41
    for row = 1:41
        x(row,col)=a.^(k+k)*1;
    end
  end
end

1 Ответ

1 голос
/ 12 мая 2020

Вам не нужен kl oop, и ваши индексы отключены на единицу.

N=41;
a=0.9;
u=1;
for m=1:N
  for n=1:N
    x(n,m)=a^(n-1+m-1)*u;
  end
end

Если вы действительно хотите объявить его как функцию, вы можете удалить первые три строки в приведенный выше код, а затем оберните его, как показано ниже. Обязательно сохраните функцию в отдельный файл в вашем рабочем каталоге, где имя файла совпадает с именем функции.

function x=filename(a,N,u)
%Above code here.
end
...