名流

幼苗

共回答了17个问题采纳率:100%

function zd487022570

x1=[0.25,0.278,0.3125,0.357,0.4167,0.3,0.3333,0.375,0.7286,0.5];

x2=[0,0.1111,0.125,0.14286,0.1667,0,0.1111,0.125,0.14286,0.1667];

x3=[0,0,0.125,0.2857,0.5,0,0,0.125,0.2857,0.5];

y=[0.7572,0.6559,0.6383,0.5636,0.4884,0.9783,0.7489,0.686,0.6288,0.4934];

x = [x1; x2; x3];

% 使用最小二乘拟合:

% opt指定拟合选项(注意查看命令窗口提示的优化终止条件,如对结果不满意考虑适当修改)

% b0为初值(要慎重选择,不同初值得到的结果可能不同)

opt = optimset('MaxFunEvals',50000,'MaxIter',10000,'TolFun',1E-10)

% b0 = [0 -10 1 1];

% b0 = [0.6 -60 15 0.7];

b0 = [0.7 -137 40 0.7];

b = lsqcurvefit(@myfun,b0,x,y,[],[],opt);

A = b(1)

B = b(2)

C = b(3)

D = b(4)

% 把拟合结果与原始数据对照

plot(y,'-o');

hold on

plot(myfun(b,x),'r:x');

function y = myfun(x,xdata)

A = x(1);

B = x(2);

C = x(3);

D = x(4);

x1 = xdata(1,:);

x2 = xdata(2,:);

x3 = xdata(3,:);

y = A*x1./(1+B*x2+C*x3)+D;

1年前

追问

10

运行报错了 ??? function zd487022570 | Error: Function definitions are not permitted in this context. 看不懂function zd487022570这是什么意思……

你是不是文件里还加了别的东西? 把我上面贴的代码直接贴到新建的文件中,然后保存就行,不可能有错。我在6.5和R2007b两个版本上测试过。 最上面的“function zd487022570”是因为调用lsqcurvefit需要把拟合公式写成函数,而这种问题用inline函数或匿名函数都不太方便,所以使用了function。而在一个文件中如果有function就不能是script,所以就把前面的代码取个名字也成为一个function。函数的名字就用的是你提问这个网页的号码加了两个字母的前缀,当然,你可以把它改成其他任何合法的标识符。

matlab怎么做多元非线性拟合,如何用matlab进行多元非线性拟合相关推荐

  1. matlab求分段函数的值.,如何用MATLAB求分段函数的最小值和最大值?

    7.1.1 分段线性插值 所谓分段线性插值就是通过插值点用折线段连接起来逼近原曲线,这也是计算机绘制图形的基本原理.实现分段线性插值不需编制函数程序,MATLAB自身提供了内部函数interp1其主要 ...

  2. matlab引用数据,excel引用数据-如何用matlab处理excel文件中的数据?

    如何利用matlab根据excel表格里面的数据画图 将待导入的矩阵结数据Excel中,录入时注意行列原矩阵一一对应 录入完以后数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATL ...

  3. matlab鼠标三维坐标点,请问如何用matlab画三维点,已知x,y,z的坐标,在三维坐标系上显示...

    点击查看请问如何用matlab画三维点,已知x,y,z的坐标,在三维坐标系上显示具体信息 答:例如 : X=1,Y=2,Z=3; 代码就是: plot3(1,2,3,'*') grid on%加网格 ...

  4. python牛顿法解非线性方程组_科学网—求解多元非线性方程组F(x)=0的Newton-Raphson方法及其MATLAB实现 - 王福昌的博文...

    科学网对公式支持不太好,在博客园有相同博文 牛顿迭代法可以推广到多元非线性方程组 $boldsymbol{F}(boldsymbol{x})=boldsymbol{0}$的情况,称为牛顿-- 拉夫逊方 ...

  5. matlab如何进行四维拟合,如何用matlab对四维数据进行非线性拟合? - 数学 - 小木虫 - 学术 科研 互动社区...

    这个很简单啊,用lsqcurvefit或者lsqnonlin都可以.比如: function ydata = myfun(a,xdata) ydata=xdata(:,1).*xdata(:,2).* ...

  6. matlab找距离最近的元素,如何用MATLAB找到给定坐标的最近点?

    这总是很有趣:) 首先:Mohsen Nosratinia的回答是好的,只要 您不需要知道实际距离 你可以绝对肯定地保证你永远不会去极地附近 并且永远不会接近±180°子午线 对于给定的纬度,-180 ...

  7. matlab的GUI怎么嵌入图片,如何用matlab在GUI中显示一张图片

    满意答案 nucynucy 2013.06.17 采纳率:47%    等级:12 已帮助:10834人 建一个axes 在建一个按钮比如push button,就可以实现按钮函数的话比如: % -- ...

  8. matlab画y等于x平方,如何用matlab画Y=X^2的图啊?

    代码如下:[a,b]=solve('y=x^zd2','y=2*x+3')%求两条曲线的共同点的坐标,内即方程组的解:a为x,b为ysyms x;y1=x^2;ezplot(y1);y2=2*x+3; ...

  9. matlab 图案 柱状图_值得收藏 | 如何用matlab做出酷炫的图像

    1.基础知识 1.1 二维图形绘制 plot函数是Matlab绘制二维图形的常用函数,该函数将数组中的数据点绘连起来构成一条连续的曲线. plot(x,y,'PropertyName',Propert ...

  10. matlab可以画3d图吗,如何用matlab画3d图

    MATLAB三维绘图解读_自考_成人教育_教育专区.MATLAB 上次课内容回顾 1. 2. ? ? ? 3. 4. 5. MATLAB二维绘图 离散函数和数据的可视化; 二维曲线和图形 plot.. ...

最新文章

  1. Linux正则表达式grep与egrep
  2. nginx重新加载php,如何使用nginx启动、停止和重新加载
  3. java 优化线程_JAVA线程优化
  4. ITK:侵蚀二进制图像
  5. Gartner:智能SOC/情报驱动的SOC的五大特征
  6. 超酷的界面原型设计工具Balsamiq Mockups
  7. Cocos2d-x v3.2笔记——总结Cocos2d-x 3.x版本的一些变化
  8. 前端工程化-webpack-cli(官方开发中。。。)
  9. C类型和存储方式的语言变量
  10. UNIX环境高级编程习题——第七章
  11. python题库大一_1000道Python题库系列分享三
  12. Jedis的hget方法简单用法
  13. “碳排放”挑战当前,维谛技术(Vertiv)带来节能改造最佳实践
  14. 安卓虚拟摄像头_华为Mate 40 Pro爆料,后置摄像头类似苹果iPod
  15. 用户态和内核态的切换耗费时间的原因
  16. 重新认识软件测试,去掉这些标签
  17. 计算机远程桌面修复,让远程桌面管理恢复顺畅稳定
  18. 【重要】有三AI技术专栏作者邀请,5大权益助力共同成长
  19. 【XShell | Xftp】解决Xshell强制升级
  20. zencart忘记后台密码的解决办法

热门文章

  1. Tumblr技术架构
  2. weADMIN的搭建 for Debian
  3. C. Dominant Character (思维 暴力
  4. Sun Studio 12 Update 1:C++ 用户指南
  5. centos 网络流量监控方法总结
  6. [Windows]笔记本触摸板手势突然不起作用的解决办法
  7. 全程不用usb数据线,adb通过网络连接Android设备
  8. 什么是51单片机最小系统?
  9. 人脸识别接口_活体检测在人脸识别中不可或缺的一部分
  10. 微阵列芯片服务器,微阵列(生物芯片)类型详解