матрица как вывод функции - PullRequest
       18

матрица как вывод функции

5 голосов
/ 01 февраля 2010

Возможно, это очень простой вопрос, но я уже часами ищу в Интернете ответ, но не могу его найти.

Я создал функцию ниже. В другом m-файле я хочу использовать матрицу 'actual_location'. Однако невозможно использовать отдельную ячейку матрицы (то есть фактическое_положение (3,45) или фактическое_положение (1,2)). Когда я пытаюсь использовать отдельную ячейку, я получаю следующую ошибку: ??? Error using ==> Actual_Location Too many input arguments.

Может кто-нибудь сказать, что мне нужно изменить, чтобы я мог читать отдельные ячейки матрицы?

function [actual_location] = Actual_Location(~);  
actual_location=zeros(11,161);
for b=1:11  
   for t=1:161  
       actual_location(b,t) = (59/50)*(t-2-(b-1)*12)+1;   
       if actual_location(b,t) < 1  
           actual_location(b,t) =1;  
       end       
   end  
   actual_location(1,1)  
end

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

Похоже, что вы вызываете функцию Actual_Location со многими аргументами ... Я переписываю ваш код с правильным отступом.

function [actual_location] = Actual_Location()
  actual_location=zeros(11,161); 
  for b=1:11
    for t=1:161
      actual_location(b,t) = (59/50)*(t-2-(b-1)*12)+1;
      if actual_location(b,t) < 1
        actual_location(b,t) = 1;
      end
    end
    actual_location(1,1)
  end
1 голос
/ 01 февраля 2010

Как вы уже определили, имя в m-файле для матрицы, записанной вашей функцией Actual_Location, равно actual_location. Однако, когда вы вызываете свою функцию, вы можете присвоить выводу любое имя, которое вам нравится. Я предполагаю, что вы называете это так, помня, что Matlab немного чувствителен к регистру:

actual_location = Actual_Location(arguments);

Вы просто пишете, чтобы запутаться. Используйте имя, отличное от actual_location для фиктивного аргумента в определении функции, и вызовите функцию, чтобы вернуться к переменной с более отличным именем, например, так:

output = Actual_Location(arguments);

Возможно, вы ожидаете, что actual_location (1,1) вернет элемент 1,1 массива, тогда как, вероятно, это вызов функции с 2 входными аргументами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...