Напишите функцию, называемую identity
, которая создает квадратную единичную матрицу, которая является матрицей, элементы которой равны 0, за исключением элементов на диагонали (слева направо и справа), которые имеют значение 1. Диагональ состоит из тех элементов, индексы строк и столбцов которых одинаковы: (1,1), (2,2) и т. Д.Создание квадратной идентичной матрицы
Функция принимает один положительный целочисленный входной аргумент, который является размером матрицы, и возвращает матрицу как выходной аргумент.
Например, identity(4)
должен возвращать идентификационную матрицу 4 на 4.
Вам не разрешено использовать встроенные функции eye
или diag
.
(Подсказка: вы можете индексировать в матрицу с одним индексом и MATLAB будет обрабатывать его, как если бы это был вектор, использующий столбцам заказ.)
Это легко достичь и звучит как домашнее задание. Где ваши исследования? Пожалуйста, прочитайте [как спросить] (http://stackoverflow.com/help/how-to-ask) и отредактируйте свой вопрос после. Покажите, что вы пробовали, и что ваши мысли должны решить эту проблему. – Matt
Или вы можете сделать так: fix (corrcoef (rand (10,10))) :) Это не очень хороший способ, но он будет делать то, что вам нужно. – patrik