1、采用脚本文件编写:已知多项式P1=[1 3 -5 0 9]与多项式P2=[2 3 7],计算:
(1)P1+P2;P1×P2; P1/P2 。
(2)分别计算P1和P2 的根。
(3)计算当x=4时,P1和P2的值。
clc;clear;
P1=[1 3 -5 0 9];P2=[2 3 7];
length_P1=length(P1);
length_P2=length(P2);
if length_P1 ==length_P2
P1_plus_P2=P1+P2;
else if length_P1 < length_P2
temp_P1=[zeros(1,length_P2-length_P1) P1];
P1_plus_P2=temp_P1+P2;
else
temp_P2=[zeros(1,length_P1-length_P2) P2];
P1_plus_P2 = P1+temp_P2
end
P1_multiply_P2=conv(P1,P2);
P1_divide_P2=deconv(P1,P2);
%%第一问求解
P1_plus_P2=poly2sym(P1_plus_P2);
P1_multiply_P2=poly2sym(P1_multiply_P2);
P1_divide_P2=poly2sym(P1_divide_P2)
%%第二问
P1_roots=roots(P1);
P2_roots=roots(P2);
%%第三问
P1_x_4=polyval(P1,4);
P2_x_4=polyval(P2,4)
2、采用脚本文件编写:有一组数据:
x | 0 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 |
y | 0 | 1.27 | 2.16 | 2.86 | 3.44 | 3.87 | 4.15 | 4.35 | 4.51 |
- 采用三阶多项式拟合函数,得到多项式表示形式,并绘图
- 分别采用最近邻插值、线性插值和三次样条插值方法得到每隔0.5的结果;
- 计算x=27时多项式的值。
clc;clear;clf
x=(0:5:40);
y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.35 4.51];
%%第一问
z=polyfit(x,y,3);
h=poly2sym(z)
f=plot(x,y,'b*-')
hold on
fplot(h,'r');
%%第二问
length_x=length(x);
scalar_x=[x(1):0.5:x(length_x)];
length_sx=length(scalar_x);
for i=1:length_sx
y_nearest(i)=interp1(x,y,scalar_x(i),'nearest');
y_linear(i)=interp1(x,y,scalar_x(i),'linear');
y_spline(i)=interp1(x,y,scalar_x(i),'spline');
end
%%第三问
x_27=polyval(z,27)
3、 求函数y=exp(x)-x^5 的零点,初始点为取 x=8,并分别画出曲线y(黑色点划线)和函数y的零点(黄色*)。
clc;clear;
h_f=@(x)(exp(x)-x.^5);
[x0]=fzero(h_f,8)
fplot(h_f,[x0-5,x0+5],'b-.');
hold on
plot(x0,0,'y*')
4、计算下列积分。
clc;clear;
fun1=@(x)x+x.^3+x.^5
q1=integral(fun1,-1,1)%第一问
fun2=@(x,y)sin(y).*((x+y)./(x.^2+4))
q2=integral2(fun2,1,10,1,10)