Я делаю программу в Matlab для анализа данных некоторых биомедицинских данных, которые я собрал. Вычисления действительно просты, но повторяемы, поэтому я заинтересован в написании небольшой программы. У меня есть одна матрица (200 x 99) на пациента, хранящаяся в переменной с именем пациента. Я создал функцию, результатом которой является выходная переменная (finalresult), содержащая все, что мне нужно из этой матрицы пациентов.
Мне бы очень хотелось, чтобы эта выходная переменная носила имя моей входной переменной. Таким образом, я могу просто вызывать функцию для каждого пациента отдельно, а затем собирать список переменных в рабочей области вместо того, чтобы вручную менять имя выходной переменной после каждого вызова функции.
Надеюсь, вы понимаете, чего я хочу добиться. Это упрощенный пример моего кода:
function [ finalresult] = total_analysis( patientname)
first = patientname(:,1)*2;
second = first;
finalresult = vertcat(first,second);
end
=> имя выходной переменной всегда finalresult
НО я хотел бы, чтобы это было "уникальное другое" имя выходной переменной, предпочтительно finalresult_patientname илиpatientname
patient1_result=total_analysis(patient1);
. В этом весь смысл функции. Нет необходимости в переименовании. - person Peter   schedule 30.11.2012N
обозначает количество пациентов. Вам потребуются только три переменные:PatientName
- массив строк из N*1 ячеек, где каждая ячейка хранит имя пациента.PatientData
- массив ячеек N*1, где каждая ячейка хранит матрицу данных пациентов.PatientResult
- массив ячеек N*1, в каждой ячейке которого хранится результат анализа функций. Чтобы создатьPatientResult
, вы просто перебираетеPatientData
и вызываете свою функцию для каждого элемента, сохраняя вывод в соответствующем элементеPatientResult
. - person Colin T Bowers   schedule 30.11.2012