matlab 多项式与点集拟合

多项式拟合

(1)polyfit是多项式的拟合函数

 

 

(2)polyval用于对已经拟合后的多项式系数,当给出某个点时求其函数值

(3)poly2str是将拟合后的多项式系数(双精度数组)转换为字符形式的函数(就是看着清楚一些),

         如 p=[1,3,4];poly2str(p,'x') ans = x^2 + 3 x + 4

备注:legend函数加标注

 

(4)linspace   常用的用来生成等间距数组的方法

用法:linspace(x1,x2,N)   
功能:linspace是Matlab中的一个指令,用于产生x1,x2之间的包括a1 a2在内的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。

确定N的方法是依照间距d=(a2-a1)/(N-1)

参考:https://jingyan.baidu.com/article/7e440953d40a762fc0e2ef1b.html  很详细

%%%%%%% matlab程序   多项式拟合

clc
x = [1   2    3   4     5     6     ];  %data
y = [5.5 43.1 128 290.7 498.4 978.67];  %data
p = polyfit(x,y,4)                      %p为拟合函数的系数

x2 = 1:.1:6;          
y2 = polyval(p,x2);          
plot(x,y,'o',x2,y2);
grid on
disp(char(['y=',poly2str(p,'t')]))
legend('y','y2')
%disp(char(['y=',poly2str(p,'t')],['a=',num2str(p(1)),' b=',num2str(p(2)),' c=',num2str(p(3))]));

另一个例子:

%%%%% matlab函数   

clc;
x = linspace(0,1,5)
y = 1./(1+x)
p = polyfit(x,y,4)
x1 = linspace(0,2);
y1 = 1./(1+x1);
f1 = polyval(p,x1);
figure
plot(x,y,'o')
hold on
plot(x1,y1)
plot(x1,f1,'r--')
legend('y','y1','f1')

参考:https://ww2.mathworks.cn/help/matlab/ref/polyfit.html  拟合

     https://www.cnblogs.com/farewell-farewell/p/7227516.html  拟合

计算机体系结构2.4作业

clc,clear;
a = 4;                    %衡量工艺复杂度
b = 0.6;                  %缺陷密度,单位面积内的缺陷数目
d = 30;                   %晶圆(wafer)直径
S_wafer = pi*(d/2)^2;     %晶圆面积
L_wafer = pi*d;           %晶圆周长
c = 5;                    %每平方厘米晶圆的成本
x = linspace(0.5, 4, 36)  % 晶片(die)面积(自变量)

cost_wafer = c * S_wafer;                                   %晶圆的成本
die_of_per_wafer = S_wafer./x - L_wafer./(2.*x).^(1/2)      %每个晶圆的晶片数
rate_of_die = (1+b*x/a).^(-a)                               %晶片成品率
cost_of_die = cost_wafer ./(die_of_per_wafer .* rate_of_die)%晶片的成本(因变量)

p = polyfit(x,cost_of_die,2)     %拟合次数为2
cost_of_die_2 = polyval(p,x);    %拟合成本
plot(x,cost_of_die,'o',x,cost_of_die_2);
legend('实际成本值','拟合成本值')
xlabel('晶片面积');
ylabel('晶片成本');
title('晶片面积和晶片成本关系图');

xlswrite('E:\我院\2018年秋各学科\计算机体系结构\chapter2_4_x.xlsx', x)
xlswrite('E:\我院\2018年秋各学科\计算机体系结构\chapter2_4_data.xlsx', cost_of_die)

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安安csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值