matlab 第四章作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章作业
第一题:
%在指令窗口中输入
clear all
x=[-1.0 -0.75 -0.50 -0.25 0 0.25 0.50 0.75 1.00];
y=[-0.2209 0.3295 0.8826 1.4392 2.0003 2.5645 3.1334 3.7061 4.2836]; cftool
%打开了曲线拟合工具箱,分别点击data和fitting选项作图
%f(x)=2.252*x+2.013
第二题:
%在指令窗口中输入
clear all
x=[-3 -2 0 3 4];
y=[18 10 2 2 5];
cftool
%打开了曲线拟合工具箱,分别点击data和fitting选项作图
%f(x)=0.8728*x^2-2.645*x+1.825
%也可以先画图,用图形窗口来编辑
第三题:
clear all
x=-0.2:0.1:1;
y=2.*x.^5-3.*x.^3-x.^2-9; %给定曲线
s=0.1*rand(1,13)+y;%设定误差值
P=polyfit(x,y,2); %二次曲线拟合
y=polyval(P,x); %计算拟合函数的值
Ps=polyfit(x,s,2); %二次曲线拟合
ys=polyval(Ps,x); %计算拟合函数的值
subplot(2,1,1)
plot(x,y,x,y,'r*')
subplot(2,1,2)
plot(x,ys,x,ys,'r*')
%也可直接用工具箱cftool
%保形内插法拟合interpolant中的shape-preserving选项
第四题:
%可打开曲线拟合工具箱编辑
clear all
x=0:0.1:2;
y=[0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0];
cftool
%傅里叶级数拟合Fourier
%也可编程
x=0:0.1:2;
y=[0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0]; f=fft(y);
nf=ifft(f);
plot(x,nf)
第五题:
%可打开曲线拟合工具箱编辑
clear all
x=[1 2 3 4 5 6 7 8];
I=[15.3 20.5 27.4 36.6 49.1 65.6 87.87 117.6];
Cftool
%指数公式拟合Exponential
%也可编程
y=log(I);
P=polyfit(x,y,1)
I0=exp(P(2))
alpha=P(1)
第六题:
clear all
x=0:0.1:2;
y=1./(7-x.^2+x);
cftool
%有理函数拟合Rational
第七题:
同第五题中的练习类似
第八题:
functionqiugen
clc
clear all
%二分法求解
a=pi/4;
b=pi/2;
Tol=1e-12;
k1=0;k2=0;k3=0;
while (b-a)>Tol
k1=k1+1;
c=(a+b)/2;
if f(c)>0
b=c;
elseif f(c)<0
a=c;
else
disp(c)
break;
end
end
disp((a+b)/2) %disp()就是屏幕输出函数,类似于c语言中的printf()函数disp(k1)
%牛顿法求解
b=pi/4;
while abs(f(b))>Tol
k2=k2+1;
b=b-f(b)/fd(b);
end
disp(b)
disp(k2)
%弦截法求解
a=pi/4;
b=pi/2;
while abs(f(b))>Tol
k3=k3+1;
c=b-f(b)*(b-a)/(f(b)-f(a));
a=b;
b=c;
end
disp(b)
disp(k3)
%指令求解
zlq=fzero(@(x)f(x),[pi/4,pi/2])
function F=f(x)
F=exp(x)-4*cos(x);
functionFd=fd(x)
Fd=exp(x)+4*sin(x);
第九题:
clc
clear all
f=@(x)x.^4-4*x.^3-6*x.^2-16*x+4; %定义函数
roots([1 -4 -6 -16 4]) %求函数的所以根(零点)
fzero(f,[-1,4]) %求函数在一个范围的零点
x=-1:0.1:6;
y=f(x);
plot(x,y) %画出函数图形
[a,b]=fminbnd(f,-1,4) %找一范围的极小值及其对应的变量值bianliangzhi=f(fminbnd(f,-1,4))
第十题:
functiontwovarjizhi
clc
clear all
v=[2,3];
[a,f]=fminsearch(@(v)two_var(v),v) %极小值
%注意自定义的函数放同一文件中需用这种输入方式,
%但自定义的函数存入根目录中,就可以用下面的格式调用函数
%[a,f]=fminsearch('two_var1',v) %极小值
b=two_var1(a) %极小点
function f=two_var(v) %创建一个函数文件
x=v(1);
y=v(2);
f=x.^2+25*y.^2-2*x+50*y+25;
%function f=two_var(v) %函数文件也可以这样创建
%f=v(1).^2+25*v(2).^2-2*v(1)+50*v(2)+25;
第十一题:
A=[3.3330 15920 -10.333;2.2220 16.710 9.6120;1.5611 5.1791 1.6852]; b=[15913;28.544;8.4252];
x=A\b
第十二题: