MATLAB 代数方程求解:solve、因式分解与化简
MATLAB 与 Octave 在符号代数求解上语法不同,分节介绍。
MATLAB 求解基础代数方程
solve 函数求解方程,最简形式参数为字符串方程。
solve('x-5=0') % ans = 5
y = solve('x-5=0') % y = 5
solve('x-5') % 默认等于 0,ans = 5
多符号时默认解 x,可指定变量:
solve('v-u-3*t^2=0', 'v') % ans = 3*t^2 + u
Octave 求解基础代数方程
用 roots 求多项式根,系数向量按降幂排列:
roots([1, -5]) % x-5=0 → ans = 5
MATLAB 求解二次方程
eq = 'x^2 -7*x + 12 = 0'; s = solve(eq); disp(s(1)) % 3 disp(s(2)) % 4
Octave 求解二次方程
s = roots([1, -7, 12]); % 4, 3
MATLAB 求解高次方程
solve('(x-3)^2*(x-7)=0') % 3, 3, 7
eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = 0';
s = solve(eq); % 返回符号根
double(s(1)) % 数值化:6.6304
double(s(3)) % 复数根:-0.3451 - 1.0778i
Octave 求解高次方程
v = [1, -7, 3, -5, 9]; s = roots(v); double(s(1)) % 6.6304
MATLAB 求解方程组
s = solve('5*x+9*y=5','3*x-6*y=4');
s.x % 22/19
s.y % -5/57
% 三元线性方程组
% x+3y-2z=5; 3x+5y+6z=7; 2x+4y+3z=8
Octave 求解方程组
矩阵形式 Ax=b:
A = [5,9;3,-6]; b=[5;4]; A\b % 1.1579, -0.0877
展开与合并表达式
expand 展开,collect 合并同类项。需先 syms 声明符号变量。
syms x y expand((x-5)*(x+9)) % x^2 + 4*x - 45 expand(sin(2*x)) % 2*cos(x)*sin(x) expand(cos(x+y)) % cos(x)*cos(y)-sin(x)*sin(y) collect(x^3*(x-7)) % x^4 - 7*x^3 collect(x^4*(x-3)*(x-5)) % x^6 - 8*x^5 + 15*x^4
Octave 展开合并
需 pkg load symbolic,用 symbols 声明变量,函数名大写 Sin/Cos。
因式分解与化简
syms x y factor(x^3 - y^3) % (x-y)*(x^2+x*y+y^2) factor([x^2-y^2, x^3+y^3]) % [(x-y)(x+y), (x+y)(x^2-x*y+y^2)] simplify((x^4-16)/(x^2-4)) % x^2 + 4
MATLAB
- MATLAB 入门指南:矩阵实验室的核心能力与应用领域全景
- MATLAB 基础语法速成:交互计算、变量、运算符、格式控制与注释
- MATLAB 变量深度解析:矩阵本质、赋值、多重赋值、查看与清理、长赋值、格式控制、向量创建
- MATLAB 常用命令速查:会话管理、系统操作、输入输出、矩阵数组、绘图可视化
- MATLAB 数据类型完全指南:15 种基本类型、转换函数与类型判断函数速查表
- MATLAB 运算符大全:矩阵/数组算术、关系、逻辑、位运算、集合运算详解
- MATLAB 向量完全指南:行/列向量创建、索引引用、切片、核心运算操作
- MATLAB 矩阵核心操作:创建、索引引用、子矩阵提取、行列删除、拼接与基本运算
- MATLAB 多维数组与特殊数组完全指南
- MATLAB 冒号运算符详解:向量创建与高效迭代
- MATLAB 数值类型详解:存储、转换与范围查询
- MATLAB 字符串完全指南:创建、拼接、元胞数组与常用函数