【数学建模】多元非线性回归nlinfit(Matlab代码实现)

目录

1 基本语法

 2 算例及Matlab代码实现

2.1 算例

2.2 数据

2.3 Matlab代码实现


1 基本语法

 2 算例及Matlab代码实现

2.1 算例

熔喷非织造材料是口罩生产的重要原材料,具有很好的过滤性能,其生产工艺简单、成本低、质量轻等特点,受到国内外企业的广泛关注。但是,由于熔喷非织造材料纤维非常细,在使用过程中经常因为压缩回弹性差而导致其性能得不到保障。因此,科学家们创造出插层熔喷法,即通过在聚丙烯(PP)熔喷制备过程中将涤纶(PET)短纤等纤维插入熔喷纤维流,制备出了“Z型”结构的插层熔喷非织造材料。
插层熔喷非织造材料制备工艺参数较多,参数之间还存在交互影响,加上插层气流之后更为复杂,因此,通过工艺参数(接收距离和热空气速度)决定结构变量(厚度、孔隙率、压缩回弹性),而由结构变量决定最终产品性能(过滤阻力、过滤效率、透气性)的研究也变得较为复杂。如果能分别建立工艺参数与结构变量、结构变量和产品性能之间的关系模型,则有助于为产品性能调控机制的建立提供一定的理论基础。请查阅相关文献,了解专业背景,研究题目数据,回答下列问题。

问题:请研究结构变量与产品性能的关系,以及结构变量之间、产品性能之间的关系。

这里以产品性能中过滤阻力与结构变量(厚度、孔隙率、压缩回弹性)的关系。

2.2 数据

整理一下,方便编程:

2.3 Matlab代码实现

主函数:main

clear
clc
data =csvread('C题数据3.csv')  

x1 = data(:,3);  %厚度mm
x2 = data(:,4);  %孔隙率(%)
x3= data(:,5);  %压缩回弹性率(%)
% x4= data(:,4);
% x5= data(:,5);
% x1=[1.1 1 1.2 1.1 0.9]';
% x2=[2 2 1.8 1.9 2.1]';
% x3=[3.2 3.2 3 2.9 2.9]';
y=data(:,6);  %过滤阻力Pa,
X=[x1,x2,x3];
beta0=[1,1,1];
[beta,r,J,CovB]=nlinfit(X,y,'myfun',beta0);
% 非线性回归
    % beta—系数估计
    % r—残差
    % J—雅可比矩阵
[Ypred,delta]=nlpredci('myfun', X, beta, r, 'Jacobian', J)
%plot(X(:, 1), y, 'k.', X(:, 1), Ypred, 'r');

%% 输出设置
disp('=====系数=========')
beta


子函数:myfun 

function y=myfun(beta,x)
y=beta(1)*x(:,1)+beta(2)*x(:,2)+beta(3)*x(:,3).^2;

结果: 

 

全部求解结果:

熔喷非织造材料是口罩生产的重要原材料,具有很好的过滤性能,其生产工艺简单、成本低、质量轻等特点,受到国内外企业的广泛关注。但是,由于熔喷非织造材料纤维非常细,在使用过程中经常因为压缩回弹性差而导致其性能得不到保障。因此,科学家们创造出插层熔喷法,即通过在聚丙烯(PP)熔喷制备过程中将涤纶(PET)短纤等纤维插入熔喷纤维流,制备出了“Z型”结构的插层熔喷非织造材料。
插层熔喷非织造材料制备工艺参数较多,参数之间还存在交互影响,加上插层气流之后更为复杂,因此,通过工艺参数(接收距离和热空气速度)决定结构变量(厚度、孔隙率、压缩回弹性),而由结构变量决定最终产品性能(过滤阻力、过滤效率、透气性)的研究也变得较为复杂。如果能分别建立工艺参数与结构变量、结构变量和产品性能之间的关系模型,则有助于为产品性能调控机制的建立提供一定的理论基础。 

  • 4
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Matlab中,可以使用nlinfit函数进行多元非线性回归模型的拟合。该函数的基本语法是:beta = nlinfit(X, Y, modelfun, beta0),其中X表示预测变量,Y表示响应值,modelfun是指定的非线性模型函数,beta0是参数的初始值。还可以通过添加options参数来选择评估算法的类型。返回的beta是拟合后得到的参数值。此外,nlinfit函数还可以返回拟合过程中的其他信息,如残差R、雅可比矩阵J、估计方差-协方差矩阵CovB、均方差MSE和误差模型拟合信息ErrorModelInfo等。 下面是一个示例,演示了如何在Matlab中进行多元非线性回归模型拟合: X = 1 : 10; Y = [0 4 8 17 29 34 54 62 80 99]; mymodel = inline('beta(1) * X .^ beta(2)', 'beta', 'X'); beta0 = [1, 2]; beta = nlinfit(X, Y, mymodel, beta0); 在这个示例中,我们使用了一个幂函数作为非线性模型,通过nlinfit函数拟合了给定的数据。拟合结果的参数值存储在beta变量中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [非线性回归分析及其Matlab实现](https://blog.csdn.net/s0302017/article/details/104460614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Matlab多元非线性回归(nlinfit 函数)](https://blog.csdn.net/L_J_Kin/article/details/103922880)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值