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的值
posted @ 2017-07-25 19:38  Not-Bad  阅读(2842)  评论(0编辑  收藏  举报