fit_nonlinear_data.m

function [beta, r]=fit_nonlinear_data(X, Y, choose)
% Input: X 自变量数据(N, D), Y 因变量(N, 1),choose 1-regress, 2-nlinfit 3-lsqcurvefit
if choose==1X1=[ones(length(X(:, 1)), 1), X];[beta, bint, r, rint, states]=regress(Y, X1)% 多元线性回归% y=beta(1)+beta(2)*x1+beta(3)*x2+beta(4)*x3+...% beta—系数估计% bint—系数估计的上下置信界% r—残差% rint—诊断异常值的区间% states—模型统计信息rcoplot(r, rint)saveas(gcf,sprintf('线性曲线拟合_残差图.jpg'),'bmp');
elseif choose==2beta0=ones(7, 1);% 初始值的选取可能会导致结果具有较大的误差。[beta, r, J]=nlinfit(X, Y, @myfun, beta0)% 非线性回归% beta—系数估计% r—残差% J—雅可比矩阵[Ypred,delta]=nlpredci(@myfun, X, beta, r, 'Jacobian', J)% 非线性回归预测置信区间% Ypred—预测响应% delta—置信区间半角plot(X(:, 1), Y, 'k.', X(:, 1), Ypred, 'r');saveas(gcf,sprintf('非线性曲线拟合_1.jpg'),'bmp');
elseif choose==3beta0=ones(7, 1);% 初始值的选取可能会导致结果具有较大的误差。[beta,resnorm,r, ~, ~, ~, J]=lsqcurvefit(@myfun,beta0,X,Y)% 在最小二乘意义上解决非线性曲线拟合(数据拟合)问题% beta—系数估计% resnorm—残差的平方范数 sum((fun(x,xdata)-ydata).^2)% r—残差 r=fun(x,xdata)-ydata% J—雅可比矩阵[Ypred,delta]=nlpredci(@myfun, X, beta, r, 'Jacobian', J)plot(X(:, 1), Y, 'k.', X(:, 1), Ypred, 'r');saveas(gcf,sprintf('非线性曲线拟合_2.jpg'),'bmp');
end
endfunction yy=myfun(beta,x) %自定义拟合函数
yy=beta(1)+beta(2)*x(:, 1)+beta(3)*x(:, 2)+beta(4)*x(:, 3)+beta(5)*(x(:, 1).^2)+beta(6)*(x(:, 2).^2)+beta(7)*(x(:, 3).^2);
end

demo.m

%x,y为离散点横纵坐标
clear
clc
X=[ 63.50 73.60 30.90 ;67.90 77.90 33.20;61.90 74.10 31.20;64.20 76.50 32.50;66.70 76.50 32.50];
Y=[64.00;73.80 ;65.60;70.30;69.50];
choose=1;
fit_nonlinear_data(X, Y, choose)

拟合羊的体重

#重量估计,输入体高,体长,体宽,输出估计重量
#公式:y = beta(1) + beta(2) * x1 + beta(3) * x2 + beta(4) * x3
def sheep_weight_estimation(body_length,body_height,body_width):#matlab多项式拟合k1 =-288.7822k2 =  -0.4094k3 = 14.2552k4 = -21.6917sheep_weight=k1 + k2*body_height  + k3*body_length + k4*body_widthreturn sheep_weight

参考:https://www.cnblogs.com/kailugaji/p/13086180.html

matlab三个自变量一个因变量拟合相关推荐

  1. matlab中三点定圆,MATLAB三点确定一个圆

    1 给定三个不在同一直线上的三个点的坐标,确定圆的轨迹方程 2 3 4 下面是MATLAB中的函数文件 5 function[a,b,c]=ThreePointFitCircle(x,y,flag) ...

  2. matlab三次多样式对函数拟合,三次多样式样条函数债券

    1.如何用编程实现三次样条函数 用MatLab 2.如何用Excel进行三次样条函数拟合 安照要求先制作数据表,再插入图表----曲线(也就是折线)系统会自动生成图表的,再设置一下效果! 3.三次样条 ...

  3. matlab三次多样式对函数拟合,Matlab regress函数拟合多个变量分析

    声明 本文系本人原创,转载请注明出处. 简介 拟合曲线,在matlab中有polyfit函数,有cftool工具,对于多项式,指数,对数都有很好的拟合,但是对于多个参数的拟合,比如x1,x2--用什么 ...

  4. 两个自变量和一个因变量spss_SPSS学习笔记:因变量二分类资料的logistic回归分析...

    转自个人微信公众号[Memo_Cleon]的统计学习笔记两个概念:RR和OR 二分类资料的logistic回归SPSS操作示例 几个需要注意的问题:样本量.哑变量.模型拟合效果和拟合优度检验.多重共线 ...

  5. 两个自变量和一个因变量spss_多个自变量(包括离散变量和连续变量)对一个因变量的影响(SPSS:协方差分析)...

    协方差分析解决的问题:多个自变量(包括离散变量和连续变量)对一个因变量(连续数据)的影响.自变量中的连续变量被作为协变量加以"控制"(控制变量). 协方差分析可以在一定程度上排除非 ...

  6. 两个自变量和一个因变量spss_多个自变量对一个因变量的影响(SPSS:协方差分析)...

    协方差分析解决的问题:多个自变量(包括离散变量和连续变量)对一个因变量(连续数据)的影响.自变量中的连续变量被作为协变量加以'控制'(控制变量). 协方差分析可以在一定程度上排除非处理因素的影响,从而 ...

  7. matlab三次拟合多项式,matlab三次多项式拟合

    暂无评价|0人阅读|0次下载|举报文档 DSC曲线的三次样条拟合与Matlab实现_能源/化工_工程科技_专业资料.DSC曲线拟合与Matlab实现第... 人阅读|次下载 曲线拟合的最小二乘法mat ...

  8. matlab拟合多自变量函数,多个自变量的函数拟合问题

    有七组数据(1,50): x=[ 13.4171 5.652496 7.560203 7.005844 11.98577 7.746066 10.69772 8.115705 14.04746 10. ...

  9. MATLAB数值分析学习笔记:多项式拟合

    在很多情况下,我们需要估计精确值之间的可能取值,常用的方法是多项式插值法.多项式插值法的原理是n个数据点可以确定n-1次多项式:例如三点确定一条抛物线. 工程上常用的多项式插值的方法有两种:牛顿插值法 ...

最新文章

  1. windows配置nginx实现负载均衡集群
  2. SweetAlert – 替代 Alert 的漂亮的提示效果
  3. iOS内存管理学习笔记二
  4. 关于websocket长链接的使用
  5. 华为路由GRE隧道搭建
  6. 几种主流数据库类型简介
  7. 亿能bms上位机_BMS_CAN 基于USBCAN的BMS上位机软件,VC CSharp C#编程 238万源代码下载- www.pudn.com...
  8. gpt分区android系统备份,win10 (GPT+UEFI)利用GHOST进行备份还原系统迁移
  9. Tensorflow 释放内存
  10. 6月30日 区块链新闻
  11. 宏观分析(美债利率、美元、黄金、石油、标普500的相关性)
  12. Graph Neural Networks with Generated Parameters for Relation Extraction
  13. 使用vue-lunar-full-calendar插件展示带有农历和节假日的日历
  14. 来自天堂的魔鬼用计算机伴奏,来自天堂的魔鬼(伴奏)
  15. Java实现手机号码归属地
  16. 狼在猪面前自杀了(超级搞笑)
  17. 爆料142条,准确度78.2%,他堪称“苹果爆料王”
  18. 【智慧城市】材质调整-C4D和UE5的模型和材质如何统一
  19. Debian/ubuntu 显示屏幕校准
  20. 推荐算法——矩阵分解

热门文章

  1. js的toFixed四舍五入偶尔不正确的问题
  2. 传感网应用开发(环境部署)
  3. LSA(Latent semantic analysis)
  4. 公共钥匙盒 Java算法
  5. STM32物联网项目-双极性步进电机
  6. 当工厂走出“工厂”,直营店也不止于“店”
  7. 使用es6--对象数组的多种去重方式
  8. [软考2013计算机软件水平考试软件设计师考试大纲
  9. 国家-首都 {中-英文对照}
  10. linux下查找网口_Linux服务器查看对应网卡的网口