Matlab多参数函数小弟想用三个变量p、q、s拟合出一条关于y的曲线,已知p、q、s各自关于y的关系(都是二次函数),该如何实现呢?大侠,好人做到底,送佛送上天,现在我告诉您y=x(1)*p.^2+x(2)*p+x(3)*q.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 05:51:23
Matlab多参数函数小弟想用三个变量p、q、s拟合出一条关于y的曲线,已知p、q、s各自关于y的关系(都是二次函数),该如何实现呢?大侠,好人做到底,送佛送上天,现在我告诉您y=x(1)*p.^2+

Matlab多参数函数小弟想用三个变量p、q、s拟合出一条关于y的曲线,已知p、q、s各自关于y的关系(都是二次函数),该如何实现呢?大侠,好人做到底,送佛送上天,现在我告诉您y=x(1)*p.^2+x(2)*p+x(3)*q.
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];
请您赐教如何猜初值好吗?其他的我都搞定了.

Matlab多参数函数小弟想用三个变量p、q、s拟合出一条关于y的曲线,已知p、q、s各自关于y的关系(都是二次函数),该如何实现呢?大侠,好人做到底,送佛送上天,现在我告诉您y=x(1)*p.^2+x(2)*p+x(3)*q.
用函数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多参数函数小弟想用三个变量p、q、s拟合出一条关于y的曲线,已知p、q、s各自关于y的关系(都是二次函数),该如何实现呢?大侠,好人做到底,送佛送上天,现在我告诉您y=x(1)*p.^2+x(2)*p+x(3)*q. 用matlab 求cos(a*t^2)的fourier和laplace变换如果要用fourier变换含有a,t或多个参数的表达式,其中只有t是变量,怎样用matlab的fourier()函数表示啊? MATLAB 用regress函数的二元线性拟合函数 M=a+bx+cy+d a,b,c,d为参数 x,y为变量 假设一组数据 M=[ 234 237 239 280 290]x=[ 3.13 3.15 3.18 3.19 3.23]y=[ 87.5 89.6 94.5 99.5 104.6]请帮帮小弟 做完整的程序和R^2 的数值,=) 怎么用matlab求函数参数 请问Matlab中的nlinit函数个个参数的含义,小弟感激不尽! matlab中怎样建立多个变量的函数 三个变量之间的非线性回归问题求助.已知三个变量之间的函数关系为y=a/x1*10^(b*x2+c),且知道n组y,x1,x2的值,能否利用matlab等数学工具回归原函数,求出其中的参数a,b,c呢? matlab 定义 函数 变量太多怎么办 编写用指针变量作为函数参数求数组的最小值、最大值和平均值的函数 matlab符号变量作函数参数是否加单引号为什么有的函数加单引号比如solve 有的又不加diff matlab函数可以定义多少个参数 matlab绘制多条曲线我在前文用syms定义的参数变量,经过一系列运算求得f=1/x^2p1=1/x^3p2=1/x^4怎样将这些函数都绘制在同一图中?如果写成plot(x,f)会出错,因为我x是syms型的,请问如何解决Error using ==> 变量 分段函数的Simulink/Matlab一个分段函数有四个变量参数,时间t1,t2,t,和数值Vm.当tt1+t2时,V=0;当t1 matlab图像的三维拟合问题用matlab可以获得一幅图片的二维数组,我想讲整幅图像的变化规律用函数拟合出来,函数的形式如下z=p(1).*exp(p(2).*x.*x+p(3).*y.*y)+p(4),其中p为参数矩阵,求大神告知应该用 matlab函数传入多个矩阵参数时出错:矩阵大小不对应定义了一个函数,没有使用点运算 .* 直接当成单数参数运算function result=func(a,b,c)result=a*b*c;end现在我想让a和b都变成变量矩阵比如a=0:1:100r=fun matlab变量怎么代换小弟才开始用MATLAB不久 有很多不懂的地方,我想用函数表示 信号:%U(t)表示阶跃函数.f(t)=(t-1)*(U(t-1)-U(t-2))+U(t-2)-U(t-3)+(U(t-3)-U(t-4))*(t-2);然后 将f(t) 变为 f(3-2t) 并画出图形.请问 函数的形式参数可以是什么变量有指针变量、数组、表达式、符号常量、整型变量 如何用Matlab画隐函数(带参数)的方程三个变量:x x0 y,两个约束方程:2*(sin(x))^2*cos(x)-cos(x)+cos(x0)-sin(x0)=0y=(sin(x)-cos(x)-sin(x0)+cos(x0))*(1+ctan(x0))要画x0与y之间的曲线关系图.