c#怎么拟合函数得到参数_[转载]C#调用matlab实现参数拟合实战

本文介绍了如何在C#中调用MATLAB函数进行参数拟合。通过在MATLAB中创建function,然后生成DLL并将其引用到C#项目中,成功实现了C#与MATLAB的交互,对数据进行曲线拟合。
摘要由CSDN通过智能技术生成

从昨天下午到昨天下午,终于实现了在c#中调用matlab的函数,感谢小宋的帮助。

2

我要对一个公式中的两个参数进行拟合。

里面有参数n和A需要设置。

3

首先在matlab中新建function

然后依次敲入命令:

clear

x0 = [1 1 1 1 1];y0 = [-56 -58

-59 -56 -57];

cscz = [3,40];

a=lsqcurvefit('rssi',cscz,x0,y0)

这时即可得到 n和A的拟合值

4

那么我需要在c#中调用matlab的函数来实现拟合,必然不可能在c#中敲入matlab命令来实现。

后来的办法是:

在matlab中新建function:(名为Fitfunction)

function t=FitFunction(a,x0,y0)

f =inline(' -(10*a(1)*log10(x0)+a(2))','a','x0');

t=lsqcurvefit(f,a,x0,y0);

然后可以测试这个function,在matlab中敲命令如下:

cscz=[4,45];

x0 = [1 1 1 1 1];y0 = [-56 -58 -59 -56 -57];

a=Fitfunction(

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值