根据Matlab的已学知识,写一个matlab函数m文件,具体要求如下:

1、函数功能任意,可以自定,函数参数自定,功能最好与原先课程相关。2、代码行数在50以上(注释等不算)3、要有一定的注释,h1,函数信息求大神帮帮忙呢... 1、函数功能任意,可以自定,函数参数自定,功能最好与原先课程相关。
2、代码行数在50以上(注释等不算)
3、要有一定的注释,h1,函数信息
求大神帮帮忙呢
展开
 我来答
百度网友35dd749
2013-06-07 · TA获得超过211个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:47.3万
展开全部
%matlab联系之——利用最小二乘法拟合函数
clear;clc

%原始离散点输入
x=[-1.0 -0.5 0.0 0.5 1.0 1.5 2.0];
y=[-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552];
%原始离散点作图
figure(1)
plot(x,y,'o','linewidth',2)

%拟合阶数定义
n=3+1;
p=ones(n,length(x));

%最小二乘法拟合
p(1,1:length(x))=ones(1,length(x));
PP(1,n)=[1];
for h=2:n
p(h,:)=zeros(1,length(x));
a(h-1)=sum((x.*p(h-1,:)).*p(h-1,:))/sum(p(h-1,:).^2);
if h-2>0
a(h-2)=sum(p(h-1,:).*p(h-1,:))/sum(p(h-2,:).^2);
else
p(h,:)=p(h,:)+(x-a(h-1)).*p(h-1,:);
PP(h,n-1:n)=[1 -a(h-1)];
continue
end
p(h,:)=p(h,:)+(x-a(h-1)).*p(h-1,:)-a(h-2)*p(h-2,:);
PP(h,n-h+1:n)=conv([1 -a(h-1)],PP(h-1,n-h+2:n))-a(h-2)*[zeros(1,2) PP(h-2,n-h+3:n)];
end

%相关评价参数的求取
A=zeros(n,n);
for h=1:n
A(h,h)=sum(p(h,:).^2);
end

B=ones(n,1);
for h=1:n
B(h)=p(h,:)*y';
end

for h=1:n
a(h)=B(h)/A(h,h);
end

p_val=0;
for h=1:n
p_val=p_val+a(h)*p(h,:);
end

P_a=zeros(1,n);
for h=1:n
P_a=P_a+a(h)*PP(h,:);
end

E=sum(y.^2)-y*p_val'

%拟合函数画图,同离散点一起显示
x=linspace(x(1),x(length(x)),10*length(x));
P_val=polyval(P_a,x);
figure(1)
hold on
plot(x,P_val,'r','LineWidth',3)
legend('原始离散点','最小二乘法拟合曲线')
xlabel('X'),ylabel('Y')
title('最小二乘法拟合示范结果')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式