Я занимаюсь домашней работой в Matlab, и я решил следующую проблему. и грейдер говорит, что это правильный ответ. Я использовал в программе, и мы еще не принимали участие в этом курсе. может кто-то предложить программу без или для.matlab Pythagorean Теорема без использования для
Напишите функцию, называемую pitty, которая принимает матрицу с именем ab в качестве входного аргумента. Матрица ab имеет ровно два столбца. Функция должна возвращать вектор-столбец c, который содержит положительные значения, каждый из которых удовлетворяет теореме Пифагора, a2 + b2 = c2, для соответствующей строки ab, предполагающей, что два элемента на каждой строке ab соответствуют одной паре, a и b , соответственно, в теореме. Обратите внимание, что встроенная функция MATLAB sqrt вычисляет квадратный корень, и вам разрешено использовать его.
мой код
function c = pitty(ab)
[n , m] = size(ab)
for i = 1:n
c(i) = sqrt(ab(i,1)^2 + ab(i,2)^2)
end
c = c'
end
Похоже, кто-то (downvoter) не любит комплексные числа для решения этой задачи :-) Возможно, я должен добавить, что это, вероятно, не самый предпочтительный подход; Я просто хотел предоставить альтернативу. Но обратите внимание, что он избегает переполнения, как «hypot». Я отредактировал свой ответ, чтобы включить эту информацию. –
Интересно. Я бы подумал, что 'abs' сложного числа будет простым' sqrt (real (X).^2 + imag (X).^2) 'как написано в документе ... но кажется, что они включали переполнение там тоже. – Hoki