assign
Выполните присвоения, данные как уравнения
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
assign(L
) assign(L
,S
)
Для каждого уравнения в списке, наборе или таблице уравнений L
, assign(L)
оценивает и стороны уравнения и присваивает оцененную правую сторону оцененной левой стороне.
assign(L, S)
делает то же самое, но только для тех уравнений, левая сторона которых находится в наборе S
.
Поскольку аргументы assign
оценены, оценка левой стороны каждого уравнения в L
должна быть допустимой левой стороной для присвоения. Смотрите страницу справки оператора присваивания :=
для деталей.
Несколько присвоений выполняются слева направо. Смотрите Пример 4.
assign
может удобно использоваться после вызова solve
, чтобы присвоить конкретное решение системы уравнений к неизвестным. Смотрите Пример 5.
Мы присваиваем значения этим трем идентификаторам B1,B2,B3
:
delete B1, B2, B3: assign([B1 = 42, B2 = 13, B3 = 666]): B1, B2, B3
Мы задаем второй аргумент, чтобы выполнить только те присвоения с левой стороной B1
:
delete B1, B2, B3: assign([B1 = 42, B2 = 13, B3 = 666], {B1}): B1, B2, B3
Первый аргумент может также быть таблицей уравнений:
delete B1, B2, B3: assign(table(B1 = 42, B2 = 13, B3 = 666)): B1, B2, B3
В отличие от _assign
, assign
оценивает левые стороны:
delete a, b: a := b: assign({a = 3}): a, b
delete a, b: a := b: a := 3: a, b
Присвоенный объект может также быть последовательностью:
assign([X=(2,7)])
X
Присвоения выполняются один за другим, слева направо. Поскольку правая сторона оценена, идентификатор, C
получает значение 3
в следующем примере:
assign([B=3, C=B])
level(C,1)
Когда требуется алгебраическая система, solve
часто возвращает набор списков присвоений. assign
может затем использоваться, чтобы присвоить решения переменных системы:
sys:={x^2+y^2=2, x+y=5}: S:= solve(sys)
Мы хотим проверять, является ли первое решение действительно решением:
assign(S[1]): sys
Вещи становятся более ясными, если мы используем оценку с плавающей точкой:
float(sys)
L.