Определить несколько переменных одновременно в MATLAB?
Я не знаю, может ли MATLAB это сделать, и я хочу, чтобы это было чисто для эстетики моего кода, но может ли MATLAB одновременно создавать две переменные?
Пример
x = cell(4,8);
y = cell(4,8);
Есть ли способ написать код, похожий на:
x&y = cell(4,8);
Ответы
Ответ 1
Используйте списки, разделенные запятыми, чтобы получить несколько переменных в левой части выражения.
Вы можете использовать deal() для размещения нескольких назначений в одной строке.
[x,y] = deal(cell(4,8), cell(4,8));
Вызовите его одним входом, и все выходы получат одинаковое значение.
[x,y] = deal( cell(4,8) );
>> [a,b,c] = deal( 42 )
a =
42
b =
42
c =
42
Ответ 2
Это зависит от функции, которую вы используете для генерации данных. Вы можете создать свою собственную функцию в MATLAB, которая имеет более одного выхода:
[a, b, c] = foo();
У многих встроенных функций также есть эта опция. Но это должно поддерживаться непосредственно функцией возврата.