如何在Octave中通过绘图方式求解方程组
Octave 图形法求解二元方程组操作指南
图形法仅适用于二元方程组,核心逻辑是两个方程对应的直线交点即为方程组的解,具体操作步骤如下:
1. 转换方程形式
你提供的待求解方程组为:
3x₁ + 2x₂ = 12
x₁ - 4x₂ = 10
将两个方程均转换为x₂关于x₁的表达式:
- 第一个方程:
x₂ = (12 - 3x₁)/2 - 第二个方程:
x₂ = (x₁ - 10)/4
2. 定义变量采样范围
在Octave命令行或脚本中输入如下代码,定义x₁的采样区间,采样点数量足够保证直线平滑:x1 = linspace(-10, 10, 200);
你可以根据预估的解的范围调整区间的上下限,避免交点落在绘图区间外。
3. 计算两条直线的纵坐标值
分别代入转换后的公式计算两个方程对应的x₂值:
x2_1 = (12 - 3.*x1)/2; % 对应第一个方程的直线 x2_2 = (x1 - 10)/4; % 对应第二个方程的直线
4. 绘制直线并标注
执行如下代码完成绘图:
% 绘制第一条直线,红色,线宽2 plot(x1, x2_1, 'r', 'LineWidth', 2); hold on; % 保持画布不刷新,叠加绘制第二条直线 % 绘制第二条直线,蓝色,线宽2 plot(x1, x2_2, 'b', 'LineWidth', 2); % 添加坐标轴标注、图例和网格 xlabel('x1'); ylabel('x2'); legend('3x₁ + 2x₂ = 12', 'x₁ - 4x₂ = 10'); grid on;
5. 读取交点得到解
两种方式可以获取最终解:
- 可视化取点:使用Octave绘图窗口自带的坐标拾取工具,点击两条直线的交点即可直接读取对应的x1、x2值,本次方程组的解约为x1≈4.86,x2≈-1.29
- 数值验证:如果需要确认解的准确性,可以直接执行Octave的矩阵求解命令
x = [3 2;1 -4]\[12;10],输出的结果可以和你读取的交点值做比对。
内容的提问来源于stack exchange,提问作者Rytis Lekstutis
相关产品推荐
相关产品推荐

