概述
^根据给定的数来据,我们可以假自定函数表达式为baiy=b1+b2*x+b3*x^du2+b4*x^3+b5*x^4;所以上述函zhi数可以用matlab的regress()多元线性dao回归分析函数来拟合。实现过程如下:A=[1.75,0.26;2.25,0.32;2.5,0.44;2.875,0.57;2.686,0.50;2.563,0.46];x=A(:,1),y=A(:,2)X=[ones(length(y),1),x,x.^2,x.^3,x.^4];b=regress(y,X)x1=linspace(1.5,3,50);y1=b(1)+b(2)*x1+b(3)*x1.^2+b(4)*x1.^3+b(5)*x1.^4;plot(x,y,'k*',x1,y1,'r-')grid onxlabel('x'),ylabel('y')运行结果,从数据描点图来看,bai它可以用du多项式来拟合代码:zhiclear all;clc;close all;x=[1.75,2.25,2.5,2.875,2.686,2.563];y=[0.26,0.32,0.44,0.57,0.50,0.46];plot(x,y,'r*')[p,s]=polyfit(x,y,5) %参数改为1就是线性拟合daoy1=polyval(p,x)hold on;plot(x,y1,'b.')五次多项式拟回合生成的函数答值与原数据基本重合:五次多项式,从最高次项的系数到常数项,依次为p的值,所以:y=-3.8276x^5+ 47.6583x^4 -235.8777x^3+579.6790x^2 -706.4245x+341.2326,程序bai如下:x=[1.75,2.25,2.5,2.875,2.686,2.563];y=[0.26,0.32,0.44,0.57,0.50,0.46];plot(x,y,'g.','markersize',25);%%%有这个du是先描点zhi,看出大致dao是什么图,这里看版到像二次曲线的。hold on ;p3=polyfit(x,y,2);%%%%%%下面这个是拟合后的P3公式权,式子为什么是这个可以由上面拟合程序得出,放在一个图里面看效果x2=0:0.5:4;y2=0.1701*x2.^2-0.4965*x2+0.6027;plot(x2,y2,'b');追问我好像把坐标轴弄反了,能反过来拟合下么。。谢谢,追答如下所示:同理x=[0.26,0.32,0.44,0.57,0.50,0.46];y=[1.75,2.25,2.5,2.875,2.686,2.563];plot(x,y,'g.','markersize',25);hold on ;p3=polyfit(x,y,1);x2=0:0.5:2;y2=3.3237*x2+1.0247;plot(x2,y2,'b');本回答被提问者和网友采纳,数据不4102多哈clc;clear allx=[1.75, 2.25, 2.5, 2.875, 2.686, 2.563];y=[0.26,0.32,0.44,0.57,0.50,0.46];p=polyfit(x,y,3);%四次1653拟合专plot(x,y,'r--')hold ony1=polyval(p,x);%得出拟属合结果plot(x,y1,'b-')xlabel('x')ylabel('y')legend('拟合前','拟合后'),拟合函数表达式是咋么的,是多项式还是指数,是1次函数还是二次函数??www.mh456.com防采集。
如果你有一组已知的数据,你可以用插值的方法进行求解,具体的命令可以用 interp1,spline等。
这不是解方程,这是曲线拟合。如果你的已知的dr,R只有一个点,那么你的未知数是有无数个解的。 cftool,拟合函数有一个选项是自定义函数。
具体用法可以用下面命令查看:doc interp1doc spline
t=[0.1,1.1,2.3,3.4,4.5,5.7,6.7]'; y=[0,94.0,84.0,77.0,69.0,62.0,56.0]'; ft_ = fittype('A*exp(-beta*t)*cos(w*t+phi)', 'dependent',{'y'},'independent',{'t'}, 'coefficients',{'A', 'beta', 'phi', 'w'}); st=[-100 0.01 -pi 5] [
函数都没有,你是怎么处理数据的?
1、很简单啊. 2、比如我们输出一个函数f=A*sin(x)-B*exp(C*x)这种表达式,A,B,C是你输入的任何参数. (1)你写上如下代码的M文件 function f=dispf(A,B,C) syms x; f=A*sin(x)-B*exp(C*x); end (2)现在你直接在命令窗口输入命令dispf就可以了,比如
对于离散的抄数值积分,只能用梯2113形积分法来求解。而5261dblquad则需要具体函数表达式。4102求解命令函数,trapz()求解格式,1653z=trapz(x,y) %注:y与x是同维数的向量。例:x=-1:0.5:1;y=[0.367879 0.778801 1 0.778801 0.367879];z=trapz(x,y)追问请问对于二重积分可以用梯形公式吗。追答x = -3:.1:3;y = -5:.1:5;[X,Y] = meshgrid(x,y);F = X.^2 + Y.^2;I = trapz(y,trapz(x,F,2)),这是不行的。但可用trapz这个函数实现数值积分。追问请问对于二重积分可以用梯形公式吗内容来自www.mh456.com请勿采集。
最后
以上就是无限板凳为你收集整理的matlab求x对应y值,matlab 不知道函数表达式,已知y值求x的全部内容,希望文章能够帮你解决matlab求x对应y值,matlab 不知道函数表达式,已知y值求x所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复