MATLAB数值计算:conv与convs多项式乘法

需积分: 9 0 下载量 75 浏览量 更新于2024-07-12 收藏 846KB PPT 举报
"MATLAB数值运算中的多项式乘法与矩阵创建方法" 在MATLAB中,进行数值计算是一项基本且强大的功能,它在全球数值计算软件领域占据主导地位。本部分主要介绍MATLAB中的多项式乘法以及矩阵的创建方法。 ### 多项式乘法 在MATLAB中,我们可以使用`conv`函数来进行多项式乘法。例如,给定两个多项式a(x) = x^2 + 2x + 3和b(x) = 4x^2 + 5x + 6,它们的乘积C可以通过以下方式计算: ```matlab a = [1 2 3]; % a(x)的系数 b = [4 5 6]; % b(x)的系数 p = conv(a, b); % 计算乘积的系数 ``` 执行上述代码后,得到的`p`数组即为乘积C的系数,即4x^4 + 13x^3 + 28x^2 + 27x + 18。若想将系数转换为多项式形式,可以使用`poly2str`函数: ```matlab C = poly2str(p, 'x'); % 将系数转换为多项式字符串 ``` 这将得到字符串`4x^4+13x^3+28x^2+27x+18`。 ### 矩阵创建 #### 直接输入法 创建矩阵最常用的方式是直接在命令行输入元素。例如,创建一个2x3矩阵a: ```matlab a = [1, 2, 3; 4, 5, 6]; ``` #### 复杂矩阵的M文件创建 对于大且复杂的矩阵,可以编写M文件来创建。比如,创建名为`mydata`的矩阵: ```matlab % my.m 文件内容 MYMAT = [1, 2, 3; 4, 5, 6; 7, 8, 9]; ``` 保存文件后,在MATLAB命令窗口中输入`my`运行M文件,矩阵`MYMAT`就会被创建并存储在工作空间中。 ### 分隔符的作用 - **逗号**: 用于在一条指令中分隔元素,同时显示结果。 - **分号**: 用于分隔指令,不显示结果。在矩阵中,分号用于换行。 - **冒号**: 用于生成行向量。如`1:3`生成[1, 2, 3],`1:2:5`生成[1, 3, 5]。还可以用`linspace`函数生成指定范围和元素数量的向量。 ### 其他矩阵创建函数 - `eye`: 创建单位矩阵,如`eye(3)`创建3x3的单位矩阵。 - `zeros`: 创建全零矩阵,如`zeros(3,4)`创建3x4的全零矩阵,`zeros(3)`创建3x3的全零矩阵,`zeros(size(A))`根据矩阵A的尺寸创建全零矩阵。 - `rand`: 生成0到1之间的均匀分布随机矩阵,如`rand(2,3)`创建2x3的随机矩阵。 记住,MATLAB中定义的变量都会存储在工作空间中,可以随时访问。避免使用重复的变量名,以防止覆盖已存在的变量。如果指令或矩阵过长,可以用续行符`...`来分隔。同时,MATLAB也支持输入空阵`[]`,表示无结果的运算。