Следующие предложения шага для символьных рабочих процессов в Live Editor

Когда вы запускаете код, который генерирует символьный выход в Live Editor, Live Editor предоставляет контекстному меню следующие предложения шага, которые характерны для выхода. Чтобы открыть меню предложения, можно указать на символьный выход и кликнуть по значку с тремя точками, или можно щелкнуть правой кнопкой по символьному выходу.

Используя эти меню предложения, можно вставить и выполнить вызовы функции или задачи Live Editor в live скрипты. Типичное использование этих меню предложения включает:

  • Оцените и преобразуйте символьные выражения в числовые значения.

  • Упростите и управляйте или решите символьные математические уравнения.

  • Постройте символьные выражения.

  • Выполните матричные и векторные операции, такие как нахождение инверсии и определителя матрицы и нахождения якобиана и завихрения вектора.

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

  • Преобразуйте между единицами измерения и проверьте модульные размерности.

Например, в новом live скрипте, создайте символьное выражение.

expr = (pi + sym(2))^2
expr = π+22

Нажмите Run, чтобы видеть результат, который является символьным выходом. Когда вы код первого показа, который генерирует символьный выход, Live Editor, показываете значок с тремя точками для предложенных следующих шагов с раскрывающимся уведомлением. Можно также указать на символьный выход, чтобы поднять значок с тремя точками. Чтобы подавить раскрывающееся уведомление в остальной части вашего рабочего процесса, выберите Do not show again.

Кликните по значку с тремя точками, расположенному справа от выхода, чтобы поднять меню предложения. Когда вы указываете на пункт меню, Live Editor дает вам предварительный просмотр того, что происходит, когда вы выбираете пункт меню. Например, если вы указываете, чтобы Аппроксимировать численно, вы видите новую строку кода, который она предлагает.

Выберите Approximate численно, чтобы добавить предложенную новую линию кода. Live Editor вставляет vpa функция в область кода и автоматически запускает текущий раздел, чтобы выполнить выражение численно.

var = vpa(expr)
var = 26.435975015448531572685064532994

Как другой пример, создайте символьное уравнение. Запустите live скрипт, чтобы сгенерировать символьный выход. Решите уравнение численно с помощью символьных предложений для следующих шагов.

syms x a
eqn = (2*x^2 + a)/(x + 1) == 3
eqn = 

2x2+ax+1=3

Чтобы открыть меню предложения, можно также щелкнуть правой кнопкой по символьному выходу. Выберите уравнения Solving> уравнение Solve численно.

Когда вы кликаете по уравнению Solve численно предложение, Live Editor вставляет vpasolve функция в область кода. Live Editor затем автоматически запускает текущий раздел, чтобы решить уравнение численно.

var2 = vpasolve(eqn,x)
var2 = 

(0.75-0.2533.0-8.0a0.2533.0-8.0a+0.75)

Следующие разделы обеспечивают больше примеров, показывающих, как использовать интерактивные меню предложения в символьных рабочих процессах.

Упростите символьное выражение

Создайте символьное выражение, которое содержит показательные функции и мнимые числа. Запустите следующий код, чтобы сгенерировать символьный выход.

syms x
expr = 1i*(exp(-1i*x) - exp(1i*x))/(exp(-1i*x) + exp(1i*x))
expr = 

e-xii-exiie-xi+exi

Чтобы упростить выражение, щелкните правой кнопкой по символьному выходу и выберите Rewriting, и упрощение выражений> Упрощают выражение.

Live Editor вставляет и применяет Упростить Символьное выражение живая задача в интерактивном режиме упростить или перестроить символьные выражения. Измените вычислительное усилие в Носитель, чтобы получить более простой результат.

Замените коэффициентами и решите квадратное уравнение

Создайте квадратное уравнение с коэффициентами a, b, и c. Запустите следующий код, чтобы сгенерировать символьный выход.

syms a b c x
eqn = a*x^2 + b*x + c == 0
eqn = ax2+bx+c=0

Чтобы заменить коэффициентами в уравнении, щелкните правой кнопкой по выходу и выберите переменные Substitute.

Live Editor вставляет subs функционируйте, чтобы заменить коэффициентами и переменными в уравнениях. Для subs функция, Live Editor не запускает функцию автоматически. Занимать место a=3, b=2, и c=0, измените вторые и третьи аргументы subs функционируйте к [a,b,c] и [3,2,0]. Запустите раздел Live Editor впоследствии, чтобы применить subs функция.

var3 = subs(eqn,[a,b,c],[3,2,0])
var3 = 3x2+2x=0

Чтобы решить квадратное уравнение, щелкните правой кнопкой по выходу и выберите уравнение Solve аналитически.

Live Editor вставляет и применяет Решение Символьного уравнения живая задача в интерактивном режиме найти аналитические решения символьных уравнений.

Постройте явные и неявные функции

Создайте три символьных переменные xY, и z и синусоидальная функция. Запустите следующий код, чтобы сгенерировать символьный выход.

syms x y z
f = sin(2*x)
f = sin(2x)

Чтобы построить синусоидальную функцию, щелкните правой кнопкой по выходу и выберите Функции построения графика> Функция построения графика.

Live Editor строит синусоидальную функцию с помощью fplot.

fplot(f)

Figure contains an axes object. The axes object contains an object of type functionline.

Затем создайте уравнение, которое представляет гиперболу. Запустите следующий код, чтобы сгенерировать символьный выход.

eqn = x^2 - y^2 == 1
eqn = x2-y2=1

Чтобы построить синусоидальную функцию, щелкните правой кнопкой по выходу и выберите Функции построения графика> График неявное уравнение в 2D.

Live Editor строит гиперболу с помощью fimplicit.

fimplicit(eqn)

Figure contains an axes object. The axes object contains an object of type implicitfunctionline.

Затем создайте символьную функцию, которая представляет торус. Запустите следующий код, чтобы сгенерировать символьный выход.

f(x,y,z) = (x^2 + y^2 + z^2 + 3^2 - 2^2)^2 - 4*3^2*(x^2+y^2)
f(x, y, z) = x2+y2+z2+52-36x2-36y2

Чтобы построить торус, щелкните правой кнопкой по выходу и выберите Plot неявное уравнение в 3-D.

Live Editor строит торус с помощью fimplicit3.

fimplicit3(f)

Figure contains an axes object. The axes object contains an object of type implicitfunctionsurface.

Примените матричные функции

Создайте три символьных переменные xY, и z и символьная матрица. Запустите следующий код, чтобы сгенерировать символьный выход.

syms x y z
M1 = sym([x^2 + a, x; y + 2, 3*y^2])
M1 = 

(x2+axy+23y2)

Чтобы инвертировать матрицу, щелкните правой кнопкой по выходу и выберите матричные функции Applying> матрица Инвертирования. Обратите внимание на то, что Применение матричных функций> матричное предложение Инвертирования доступно, только если символьный выход является символьной матрицей.

Live Editor вставляет и применяет inv функционируйте, чтобы инвертировать матрицу.

var4 = inv(M1)
var4 = 

(-3y2σ1xσ1y+2σ1-x2+aσ1)where  σ1=-3x2y2+xy+2x-3ay2

Затем создайте 1 3 символьный вектор. Запустите следующий код, чтобы сгенерировать символьный выход.

M2 = sym([x*y*z, y^2, x + z])
M2 = (xyzy2x+z)

Чтобы вычислить якобиан вектора, щелкните правой кнопкой по выходу и выберите матричные функции Applying>, Вычисляют якобиевскую матрицу вектора. Обратите внимание на то, что Применение матричных функций> Вычисляет якобиевскую матрицу векторного предложения, доступно, только если символьный выход является символьным вектором.

Live Editor вставляет и применяет jacobian функция, чтобы вычислить якобиан вектора.

var5 = jacobian(M2)
var5 = 

(yzxzxy02y0101)

Затем создайте другого 1 3 символьный вектор. Запустите следующий код, чтобы сгенерировать символьный выход.

M3 = sym([x^2*y, 2*x, z])
M3 = (x2y2xz)

Чтобы вычислить завихрение вектора, щелкните правой кнопкой по выходу и выберите матричные функции Applying>, Вычисляют завихрение векторного поля.

Live Editor вставляет и применяет curl функция, чтобы вычислить завихрение вектора.

var6 = curl(M3)
var6 = 

(002-x2)

Решите дифференциальное уравнение, вычислите интеграл, преобразовывают и находят полюса

Создайте дифференциальное уравнение второго порядка. Запустите следующий код, чтобы сгенерировать символьный выход.

syms f(x) s
eqn = diff(f,x,x) == -9*f
eqn(x) = 

2x2 f(x)=-9f(x)

Чтобы решить дифференциальное уравнение, щелкните правой кнопкой по выходу и выберите дифференциальное уравнение Solve. Обратите внимание на то, что Решить предложение дифференциального уравнения доступно, только если символьный выход является дифференциальным уравнением.

Live Editor вставляет и применяет dsolve функция, чтобы решить дифференциальное уравнение.

var7 = dsolve(eqn)
var7 = C1cos(3x)-C2sin(3x)

Затем найдите Преобразование Лапласа решения. Щелкните правой кнопкой по выходу dsolve и выберите интеграл Computing, преобразовывает>, Вычисляют Преобразование Лапласа.

Live Editor вставляет и применяет laplace функция, чтобы вычислить Преобразование Лапласа.

var8 = laplace(var7)
var8 = 

C1ss2+9-3C2s2+9

Наконец, найдите полюса Преобразования Лапласа. Щелкните правой кнопкой по выходу Преобразования Лапласа и выберите функции исчисления Applying>, Вычисляют полюса функции.

Live Editor вставляет и применяет poles функция, чтобы вычислить полюса.

var9 = poles(var8,s)
var9 = 

(-3i3i)

Преобразуйте единицы и проверяйте непротиворечивость модулей

Создайте отношение двух длин с различными модулями. Запустите следующий код, чтобы сгенерировать символьный выход.

u = symunit;
ratio = (7*u.mi)/(420*u.ft)
ratio = 

160mi"mile - a physical unit of length."ft"foot - a physical unit of length."

Преобразуйте единицы к грамму метра вторая система. Щелкните правой кнопкой по выходу и выберите функции физической единицы измерения Applying>, Преобразовывают единицы. Обратите внимание на то, что Применение предложения функций физической единицы измерения доступно, только если символьный выход содержит символьные модули.

Live Editor вставляет и применяет unitConvert функция, чтобы преобразовать единицы к грамму метра вторая система.

var10 = unitConvert(ratio,[symunit('m'),symunit('g'),symunit('s')])
var10 = 88

Затем создайте два символьных выражения x и y это описывает x- и y- координаты движущегося снаряда. Создайте символьное уравнение r это сравнивает модули x и y к единицам длины m и ft. Запустите следующий код, чтобы сгенерировать символьный выход.

syms theta ts x y r
g = 9.81*u.m/u.s^2;
v = 10*u.m/u.s;
t = ts*u.s;
x = v*cos(theta)*t;
y = v*sin(theta)*t + (-g*t^2)/2;
r = [x == u.m y == u.ft]
r = 

(10tscos(θ)m"meter - a physical unit of length."=m"meter - a physical unit of length."10tssin(θ)m"meter - a physical unit of length."-981ts2200m"meter - a physical unit of length."=ft"foot - a physical unit of length.")

Проверяйте непротиворечивость модулей в r. Щелкните правой кнопкой по выходу и выберите функции физической единицы измерения Applying> непротиворечивость Проверки модулей.

Live Editor вставляет и применяет checkUnits функционируйте, чтобы проверять непротиворечивость и совместимость модулей в r.

checkUnits функция возвращает структуру, содержащую поля Consistent и Compatible. Consistent поле возвращает логический 1(true) если все термины в r имейте ту же размерность и тот же модуль с коэффициентом преобразования 1. Compatible поле возвращает логический 1(true) если все термины имеют ту же размерность, но не обязательно тот же модуль.

var11 = checkUnits(r)
var11 = struct with fields:
    Consistent: [1 0]
    Compatible: [1 1]