MATLAB解方程与表达式分析

版权申诉
0 下载量 99 浏览量 更新于2024-08-20 收藏 265KB DOC 举报
"MATLAB课堂习题2云大.doc包含了MATLAB在解决数学问题和图形表示方面的应用。文件中涉及的三个主要知识点是:方程组的解法、符号表达式的运算以及图解法求解方程组的解。" 一、方程组的解法: 1. `solve`函数:MATLAB中的`solve`函数用于求解代数方程组,这里解了方程组3x + 4y - 2z - 10 = 0, 45x + 5y + 4z - 23 = 0, 6x + 2y - 3z - 4 = 0。使用`syms`定义符号变量,然后将方程传递给`solve`,最后输出解为[x, y, z] = [58/447, 417/149, 118/149]。 2. 左除法:通过矩阵的左除法求解线性方程组,将系数矩阵A和常数向量b表示为符号变量,然后执行A\b得到相同的结果X1 = [58/447, 417/149, 118/149]。 3. 左乘法:虽然在文档中未明确说明,但在MATLAB中,对于线性方程组Ax=b,也可以使用inv(A)*b来求解,其中inv(A)是A的逆矩阵。这种方法与左除法等价,但由于计算逆矩阵可能会导致数值不稳定,所以在实际应用中不如左除法常见。 二、符号表达式的运算: 1. 创建符号变量和表达式:使用`syms`命令创建符号变量x,并分别定义了两个符号表达式f和g。然后对这两个表达式进行加、减、乘、除运算,使用`simplify`简化结果。 - f = x^3 + sin(x) + 3 - g = x^2 - cos(x) + 5 - a = f + g - b = f - g - c = f * g - d = f / g 三、图解法求解方程组: 1. `ezplot`函数:利用`ezplot`绘制方程的图像,以判断方程组的实数解个数。例如,对于方程y/(1+x^2+y^2) - 0.1 = 0和sin(x+cos(y)) = 0,通过`holdon`保持当前图像并调整坐标轴范围,可以看到大约有6组交点,即方程组有6个实数解。 2. 求最近的解:为了找到离原点(0,0)最近的解,定义了一个名为`myfun8`的函数,然后使用`fsolve`函数寻找最接近的解。首先,使用`ginput`获取用户输入的初始点,然后调用`fsolve`进行迭代求解。`zoomon`功能有助于在特定区域内精细化查看和选择初始点。 以上就是MATLAB在解决代数问题和图形化表示中的应用,包括方程组的解法、符号表达式的运算以及图解法求解方程组。这些知识对于理解和使用MATLAB进行数学建模和分析至关重要。