Matlab练习——多项式和一元方程求解
1. 一元函数 f(x) = x^3 + (x - 0.98)^2 / (x + 1.25)^3 - 5 * (x + 1 / x),求f(x) = 0 的根
%在函数文件中定义函数 function y = fun(x) y = x ^ 3 + (x - 0.98) ^ 2 / (x + 1.25) ^ 3 - 5 * (x + 1 / x); end %其他文件中求解 clear; clc; a = fzero('fun',[-10,10])
2. 求上述函数的极值
clear; clc; a = fminbnd('fun',-2,0.5)
3. 创建两个多项式,进行除法运算,然后交换位置,再进行除法运算。(多项式的乘法为卷积,除法为乘法的逆运算)
clear; clc; p1 = [0.69552, 0.436, 0.668, 1.35]; p2 = [1, 0.876, 0.645, 1.23]; [a b] = deconv(p1, p2) [c d] = deconv(p2, p1)
4. 多项式求导
clear; clc; p1 = [0.69552, 0.436, 0.668, 1.35]; p2 = [0.1,0.876,0.645,1.23] d = polyder(p1) %求导 [a,b] = polyder(p1,p2) %分式求导
5. 建立一个5×5矩阵。 分别用polyval函数和polyvalm函数将矩阵带入f(x) = 1.35 + 0.668*x + 0.436*x^2 +0.69552*x^3 计算结果,进行比较。
clear; clc; p = [0.69552, 0.436, 0.668, 1.35]; A = rand(5) a = [0,0.876,0.645,1.23]; pa1 = polyval(p,A) pa2 = polyvalm(p,A)
以上两个函数的区别:
polyval是按照数组运算规则计算多项式的值
polyvalm是按照矩阵运算规则计算多项式的值
polyval(a,X),是计算X每个元素的多项式值
polyvalm(a,X)实际上是计算:X^2+X+E的值