matlab多参数函数,Matlab多参数函数
问题描述:
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多参数函数相关推荐
- MATLAB中plot函数的linespec参数
这篇文章的目的,就是记录一下plot函数的linespec参数的每个线型和点型选项到底指的是什么.因为MATLAB帮助中只有文本解释,在这里把每个选项都画出来,更为直观一些. 在MATLAB中画图时, ...
- 将函数当做参数 matlab,Matlab中如何将(自定义)函数作为参数传递给另一个函数...
假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...
- 参数函数 matlab,MATLAB的函数参数
本节介绍一下 MATLAB 的函数参数.具体的操作步骤如下: 确定函数参数数量 当调用一个函数时,所用的输入变量和输出变量的数量,在函数内是确定的.nargin 函数确定输入变量个数,nargout ...
- matlab里面的cov函数,如何强制Matlab /八度cov函数使用可选参数
我正在使用Matlab和Octave的cov(协方差)功能.实际上,我使用的是Octave,但最终它必须同时适用于这两种方法.此函数具有可选的第二个或第三个参数,以指示是否应使用N或N-1进行归一化. ...
- matlab的newff语句,matlab 中“newff” 函数的参数设置
matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...
- matlab 中netff,newff函数里的参数设置方法
matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...
- MATLAB中libsvm的svmtrain和svmpredict函数的使用方法与参数设置
1. svmtrain()使用方法 示例: cmd = [' -t 2',' -s 3 -p 0.01']; model = svmtrain(train_label,train_data,cmd) ...
- MATLAB 将 n 美分转换成 25、10、5 和 1 美分的硬币总共有多少种转换方法?编写一个函数,传入参数 n,输出转换的种类
将 n 美分转换成 25.10.5 和 1 美分的硬币总共有多少种转换方法?编写一个函数,传入参数 n,输出转换的种类. clc clear n=input('n=');%输入n美分. num=0; ...
- matlab doc函数,matlab常用函数.doc
matlab常用函数.doc MatLab 常用函数 1. 特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 name ...
- 【 MATLAB 】信号处理工具箱之波形产生函数 pulstran
前两篇博文和这篇博文有些许联系: [ MATLAB ]信号处理工具箱之波形产生函数 rectpuls [ MATLAB ]信号处理工具箱之波形产生函数 tripuls MATLAB帮助文档称pulst ...
最新文章
- xlrd.biffh.XLRDError:不支持的格式或文件损坏:预期的BOF记录;找到了b’b \ x14#e \ xbc \
- python安装教程win10-PyCharm 安装教程(Windows)
- 下列不是c语言浮点常量的是,C语言二级题库.doc
- boost::mp11::mp_partition_q相关用法的测试程序
- 论文格式——合适【CSDN】发文
- java继承类型的用法_详解Java中使用externds关键字继承类的用法
- 面向在线教育业务的流媒体分发演进
- mysql如何开启远程链接_mysql怎么开启远程连接
- CRectTracker类的使用方法及其静态库下CRectTracker无法显示鼠标光标解决方案
- .NET Core 学习资料精选:入门
- 《JavaScript 高级程序设计》 7.1 正则表达式支持
- oracle的删除的row如何,Oracle 删除大表中部分数据
- python环境变量的配置_python基础教程-第一讲-带你进入python的世界
- springmvc图片文件上传接口
- GATNE:阿里电商场景下的大规模异构网络表示学习 KDD2019
- linux内核动画,8个炫酷的HTML5动画、应用和游戏
- 3.4选择性嵌入服务容器
- 智慧树源码_知到智慧树_网课查题网站源码_答案章节作业期末答案
- 计算机设计大赛人工智能大数据类作品研究文档
- Day05_生命周期_组件进阶