问题描述:

Matlab多参数函数

小弟想用三个变量p、q、s拟合出一条关于y的曲线,已知p、q、s各自关于y的关系(都是二次函数),该如何实现呢?

大侠,好人做到底,送佛送上天,现在我告诉您y=x(1)*p.^2+x(2)*p+x(3)*q.^2+x(4)*q+x(5)*s.^2+x(6)*s+x(7);

p=[2500,2640,2700,2800,2850,2900,2950];

q=[360,600,500,500,600,600,500];

s=[0.038417,0.034986,0.0328752,0.031844,0.032493,0.034326,0.033605];

y=[1994,2080,1956,2055,1937,1750,1695];

请您赐教如何猜初值好吗?其他的我都搞定了.

1个回答

分类:

综合

2014-11-26

问题解答:

我来补答

用函数lsqnonlin

你应该己知p,q,s,y,对吧?拟合只是找他们的关系而己,实际上就是 y = f(p,q,s)

你需要先建一个y_fun.m的function,比如

function res = y_fun(x);

global p q s y;

ymodel = f(p,q,s,x) .你的p,q,s二次函数

res = y - ymodel;

然后运行

x = lsqnonline('y_fun',x0)

x0 是你猜的拟合系数的初始值

x 是拟合系数的解

补充:

我之前说得不是很对,我改一下.

不过,我以前写的就是代码啊.我哭.我哪知道你的p,q,s二次函数什么型啊?比如

ymodel = x(1)*p.^2 + x(2)*q.^2 + x(3)*s.^2 + x(4);

这里面x就是四个项的系数,是你想拟合的.

原来是这么回事,我哭倒了,你早说不得了?这用得着这么麻烦么?几行命令就解决了.看哥哥我教你.

y=x(1)*p.^2+x(2)*p+x(3)*q.^2+x(4)*q+x(5)*s.^2+x(6)*s+x(7);

y,p,q,s已知,为列向量(不要用行,不方便).

SysModel = [ones(length(p),1) p.^2 p q.^2 q s.^2 s]

x = pinv(SysModel)*y

这样就直接算出X了,没那些费劲的事情.

但是你这个SysModel非常不稳定,原因在于p,q,s的数量级不一致,所以如果你想有效地进行pinv逆运算,最好把p,q,s全部化到一个数量级上,比如p/3000,q/1000,s*100,再进行上面运算.算出来的X,再重新乘以相应的系数就可以复原了.比如p.^2*x,那么(p/3000).^2*xnew,这个xnew你现在知道了,那么x就等于xnew/3000/3000.

慢慢消化吧~

展开全文阅读

matlab多参数函数,Matlab多参数函数相关推荐

  1. MATLAB中plot函数的linespec参数

    这篇文章的目的,就是记录一下plot函数的linespec参数的每个线型和点型选项到底指的是什么.因为MATLAB帮助中只有文本解释,在这里把每个选项都画出来,更为直观一些. 在MATLAB中画图时, ...

  2. 将函数当做参数 matlab,Matlab中如何将(自定义)函数作为参数传递给另一个函数...

    假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...

  3. 参数函数 matlab,MATLAB的函数参数

    本节介绍一下 MATLAB 的函数参数.具体的操作步骤如下: 确定函数参数数量 当调用一个函数时,所用的输入变量和输出变量的数量,在函数内是确定的.nargin 函数确定输入变量个数,nargout ...

  4. matlab里面的cov函数,如何强制Matlab /八度cov函数使用可选参数

    我正在使用Matlab和Octave的cov(协方差)功能.实际上,我使用的是Octave,但最终它必须同时适用于这两种方法.此函数具有可选的第二个或第三个参数,以指示是否应使用N或N-1进行归一化. ...

  5. matlab的newff语句,matlab 中“newff” 函数的参数设置

    matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...

  6. matlab 中netff,newff函数里的参数设置方法

    matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...

  7. MATLAB中libsvm的svmtrain和svmpredict函数的使用方法与参数设置

    1. svmtrain()使用方法 示例: cmd = [' -t 2',' -s 3 -p 0.01']; model = svmtrain(train_label,train_data,cmd) ...

  8. MATLAB 将 n 美分转换成 25、10、5 和 1 美分的硬币总共有多少种转换方法?编写一个函数,传入参数 n,输出转换的种类

    将 n 美分转换成 25.10.5 和 1 美分的硬币总共有多少种转换方法?编写一个函数,传入参数 n,输出转换的种类. clc clear n=input('n=');%输入n美分. num=0; ...

  9. matlab doc函数,matlab常用函数.doc

    matlab常用函数.doc MatLab 常用函数 1. 特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 name ...

  10. 【 MATLAB 】信号处理工具箱之波形产生函数 pulstran

    前两篇博文和这篇博文有些许联系: [ MATLAB ]信号处理工具箱之波形产生函数 rectpuls [ MATLAB ]信号处理工具箱之波形产生函数 tripuls MATLAB帮助文档称pulst ...

最新文章

  1. xlrd.biffh.XLRDError:不支持的格式或文件损坏:预期的BOF记录;找到了b’b \ x14#e \ xbc \
  2. python安装教程win10-PyCharm 安装教程(Windows)
  3. 下列不是c语言浮点常量的是,C语言二级题库.doc
  4. boost::mp11::mp_partition_q相关用法的测试程序
  5. 论文格式——合适【CSDN】发文
  6. java继承类型的用法_详解Java中使用externds关键字继承类的用法
  7. 面向在线教育业务的流媒体分发演进
  8. mysql如何开启远程链接_mysql怎么开启远程连接
  9. CRectTracker类的使用方法及其静态库下CRectTracker无法显示鼠标光标解决方案
  10. .NET Core 学习资料精选:入门
  11. 《JavaScript 高级程序设计》 7.1 正则表达式支持
  12. oracle的删除的row如何,Oracle 删除大表中部分数据
  13. python环境变量的配置_python基础教程-第一讲-带你进入python的世界
  14. springmvc图片文件上传接口
  15. GATNE:阿里电商场景下的大规模异构网络表示学习 KDD2019
  16. linux内核动画,8个炫酷的HTML5动画、应用和游戏
  17. 3.4选择性嵌入服务容器
  18. 智慧树源码_知到智慧树_网课查题网站源码_答案章节作业期末答案
  19. 计算机设计大赛人工智能大数据类作品研究文档
  20. Day05_生命周期_组件进阶

热门文章

  1. SharePoint 通过各种对象触发工作流
  2. C语言动态创建二维数组
  3. PCM编码及Waveform音频文件格式
  4. 魔方阵:3阶、4阶、8阶算法与实现
  5. OPKG命令执行过程分析
  6. 男生勿进!4月MM星座运势~~
  7. springboot项目使用WireMock伪造REST服务
  8. wireMock单机版jar包的使用
  9. [论文总结] 深度学习在农业领域应用论文笔记11
  10. 弱市中主力运作手法分析