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.