matlab符号函数

matlab符号的定义

syms x
syms a b c

matlab方程的定义

syms a x
y = a*x+x^2

matlab符号运算

syms a b c d e
y = a + b
% a + b
x = c - d
% c - d
y1 = x*y
% (a + b)*(c - d)
y2 = y1/y
% c - d
y3 = y1^3
% (a + b)^3*(c - d)^3
y4 = sqrt(y3)   
% ((a + b)^3*(c - d)^3)^(1/2)
y5 = exp(y4)
% exp(((a + b)^3*(c - d)^3)^(1/2))

matlab化简符号表达式

syms a
y=(cot(a/2)-tan(a/2))*(1+tan(a)*tan(a/2));
simplify(y)
% 2/sin(a)

matlab因式分解

factor(12) % 对常数进行因式分解 
%      2     2     3
syms m n x
y = -24*m^2*x-16*n^2*x;
factor(y)
% [ -8, x, 3*m^2 + 2*n^2]
y1=m^3-n^3;
factor(y1)
% [ m - n, m^2 + m*n + n^2]

matlab多项式展开

syms a x
y = a*(x^2-a)^2+(x-2);
expand(y)
% a^3 - 2*a^2*x^2 + a*x^4 + x - 2

matlab多项式合并

syms x y
z = (x+y)^2*y+5*y*x-2*x^3;
collect(z,x)
% y*x^2 - 2*x^3 + (2*y^2 + 5*y)*x + y^3
collect(z,y)
% y^3 + 2*x*y^2 + (x^2 + 5*x)*y - 2*x^3

matlab符号函数求导

clear;clc

% 一元函数求导
syms x
y = x^4-5*x^2+6;
diff(y) %求一阶导数
% 4*x^3 - 10*x
diff(y,2) %求二阶导数
% 12*x^2 - 10

% 多元函数求导
syms x1 x2 x3
y1 = x1^5*x2+x2*x3-x1^2*x3;
diff(y1,x1,1) % 对x1求一阶偏导
% 5*x2*x1^4 - 2*x3*x1
diff(y1,x1,2) % 对x1求二阶偏导
% 20*x2*x1^3 - 2*x3
diff(y1,x1,x2) % 先对x1求偏导,再对x2求偏导
% 5*x1^4
如果diff函数作用的对象不是符号函数,而是矩阵,那么对应的功能是求差分

matlab符号函数积分

%% 不定积分

syms x
y = x^2
int(y,x)
% x^3/3

%% 定积分
syms x
y = sin(x)
int(y,x,0,pi/2) %求[0,pi/2]上的定积分
% 1
有时候int函数不能计算出定积分的结果,我们可以使用数值积分可用于求定积分的近似值
y = @(x) 1 ./ exp(x) .* log(x+2.*x.^2+sin(x));
integral(y,0,4)
% 0.6014

matlab解方程函数

clear;clc
syms x
answ = solve(sin(x) == 1, x)
% pi/2

matlab解方程组函数

clear;clc
syms u v a
eqn = [2*u + v == a, u - v == 1];
[answ_u, answ_v] = solve(eqn, [u, v])

对于一些复杂的函数使用solve函数求解可能出现警告,这是我们可以使用vpasolve函数或者fsolve函数进行求解

没有了,已经是最后文章
发表评论 取消回复
表情 图片 链接 代码

分享