怎么在matlab中对离散点进行曲线拟合,求参数!

作者&投稿:爱瑞 (若有异议请与网页底部的电邮联系)
如何用MATLAB拟合曲线来求参数?~

令x=(cos(k)./sin(k))./c,这个就是xdata向量
y=252/(2.016129032*10^9)*a*x^b

取log得到
log(y)=b*log(x)+log(252/(2.016129032*10^9)*a)
所以log(y)与log(x)是线性关系,用p=polyfit(log(xdata),log(y),1)求出
b=p(1);
a=exp(p(2))/252*(2.016129032*10^9); % 因为log(252/(2.016129032*10^9)*a)=p(2)

所以最终程序是如下:

clear all
c=[2.7,2.8,2.9,3,3.1,3.2,3.45,3.7,3.95,4.2,4.45,4.7,4.95,5.2];
k=[0,47,93,140,186,279,372,465,558,651];
y=[18.98,27.35,34.86,38.52,38.44,37.73,38.43,43.87,42.77,46.22];
xdata=(cos(k)./sin(k))./c;
p=polyfit(log(xdata),log(y),1);
b=p(1);
a=exp(p(2))/252*(2.016129032*10^9);

先把数据画出图形,观察有无规律,用拟合工具进行曲线、曲面拟合。你有数据吗?我可以写程序。

拟合出f(x)分布的系数
然后,根据xy分别是离散点的横纵坐标(数值至少10组以上)首先,进行参数估计
*p(Xn;P)*p(X2。然后求一个P。不妨假设有高斯噪声干扰ML估计是这个意思,现在只需要写出上面的概率密度函数就可以了。
按你的模型,数据X的分布是与参数有关的.,理想情况下数据y是由完全由参数决定的确定性量,则这组数据出现的总概率是,使这个总概率最大:设待估计参数P,即p(X.;P);你现在已经有了一组数据X:p(X1; P);P)*

首先,根据xy分别是离散点的横纵坐标(数值至少10组以上),拟合出f(x)分布的系数
然后,进行参数估计。

ML估计是这个意思:设待估计参数P,数据X的分布是与参数有关的,即p(X;P);你现在已经有了一组数据X,则这组数据出现的总概率是:p(X1;P)*p(X2;P)*...*p(Xn; P)。然后求一个P,使这个总概率最大。
按你的模型,理想情况下数据y是由完全由参数决定的确定性量。不妨假设有高斯噪声干扰,现在只需要写出上面的概率密度函数就可以了。


MATLAB中的阶乘函数是什么?
MATLAB中的阶乘函数是factorial()。在MATLAB中该函数运用规则是这样的:语法 f = factorial(n)说明 f = factorial(n) 返回所有小于或等于 n 的正整数的乘积,其中 n 为非负整数值。如果 n 为数组,则 f 包含 n 的每个值的阶乘。f 与 n 具有相同的数据类型和大小。n 的阶乘通常使用感叹号字符...

怎么在matlab图形的标题中输入下标和公式
1、首先打开matlab,接着画一个图像,这里以sinx为例子进行画图。2、然后找到insert 选项。3、然后插入一个文本框,对于插入也可以插入其他的,例如箭头等等。4、然后移动鼠标,在图片上画一个方框。这样就可以输入文字了。5、然后输入文字:F_1 或者F_{1,2} 注意如果是多个下标就用大括号括起来。

MATLAB中的平方怎么输入? 谢谢高手指导。比如说x.^2,X和2之间的那个符 ...
1、第一步打开matlab,在命令行窗口输入a=3^2,如下图所示:2、第二步按回车键之后,可以看到结果为9,表示3的平方,如下图所示:3、第三步命令行窗口输入 b=power(4,2),表示4的平方,如下图所示:4、第四步按回车键,可以看到结果为16,power函数可以表示是数字的几次方,后面是2就是平方...

在matlab中怎么输入特殊符号
???→???\\leftarrow???←??三、在图形的坐标处书写文字注释Matlab中下标,斜体,及希腊字母的使用方法Matlab中下标,斜体,及希腊字母的使用方法:x=0:0.2:2*pi;y=sin(x);plot(x,y)text(2,sin(2),'wacs5');?Matlab中下标,斜体,及希腊字母的使用方法MATLAB图形上的文字修饰。

在matlab中如何控制数据的输出格式?
1、第一步在我们的电脑上打开matlab,在命令行窗口中创建了一个变量str=12345.1123456789;,使用 format;str显示出来,可以看到默认是short格式,short是短整式,显示小数点后四位,如下图所示:2、第二步我们通过“format long;str”代码,让数据显示格式变为长格式(long),如下图所示:3、第三步...

matlab中除法怎么表示
用斜杠可以表示除法符号 \/ 如a除以b等于c的语句:c=a\/b 对于ax=b这个矩阵乘法说 x=inv(a)*b,这时x=a\\b,但这时,就要要求a的行数等于b的行数。对于xa=b这个矩阵乘法来说 x=b*inv(a),这时x=b\/a,但这时,就要要求a的列数等于b的列数。对于3\/[1:10],是第二种情况,两者的列数...

matlab中均匀分布怎么产生?
1、如果我们想生成一个3*3的均匀分布的矩阵,只需要如下命令:rand(3,3) 或者 rand(3)。2、如果需要获得(a,b)的随机数,我们可以利用(0,1)的均匀随机数来生成(a,b)的均匀随机数。a + (b-a).*rand(m,n) 。这里(a,b) 是你生成随机数的端点,m,n代表矩阵的行和列。3、生成均匀...

MATLAB中size是什么意思,怎么用?
所以N=size(X,2),就是把矩阵X的列数赋值给N。size语法格式:d = size(X)返回数组X每一维的大小,其中d是一个向量,元素个数为ndims(X)。如果X是一个标量(在Matlab也就是一个1行乘以1列的数组),size(X)将返回[1 1]。[m,n] = size(X)返回矩阵X的尺寸信息, 并存储在m、n中。

在matlab中怎么定义变量?
对于矩阵一般都是需要定义的,定义好矩阵之后,才方便访问\/修改矩阵的指定元素,矩阵声明(定义)的方法,常用的 就是声明为零矩阵zeros(M,N),或者单位矩阵ones(M,N),eye(M,N)等。Matlab是一个高级的矩阵\/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口...

matlab中怎么输入指数
方法和详细的操作步骤如下:1、第一步,打开matlab后,直接在命令窗口中输入e,然后按Enter键确认,可以看到显示了未定义的变量,见下图,转到下面的步骤。2、第二步,执行完上面的操作之后,基于e的指数函数,可以用exp(n)表示,在命令行窗口中的幂为e的五次幂,见下图,转到下面的步骤。3、第三...

武都县19786755394: 如何用matlab把离散的点连接成曲线 -
铎鸦头孢: x=[1 1.2 1.6 2 2.4 2.8 3.2 3.6 4 4.4 4.8 5.2 5.6 6 6.4 6.8 7.2 7.6 8]; y=[0 13.24 7.01 25.61 6.37 11.01 8.66 6.89 6.08 3.67 0.81 3.11 0 1.01 4.98 0 0 1.55 0]; xi=1:0.01:8; yi=spline(x,y,xi); plot(x,y,'o',xi,yi); 这里用的spline是三次样条插值方法的函数,曲线光滑~

武都县19786755394: matlab如何将离散点拟合成曲面 -
铎鸦头孢: % 方法1 T = [1:100];D = [1:100]; K = rand(1,100);% 插值 [X,Y,Z]=griddata(T,D,K,linspace(min(T),max(T))',linspace(min(D),max(D)),'v4'); figure,surf(X,Y,Z);%方法2 x = [1:100];y = [1:100]; z = rand(1,100); xlin = linspace(min(x),max(x),33); ylin = ...

武都县19786755394: 离散的点绘成曲线 MATLAB -
铎鸦头孢: x=[-5,-4, -3,-2,-1,0, 1,2,3,4,5]; y=[43,-25,54, 5,87,87,3,3,4,7,8]; p = polyfit(x,y,3);% 其中3是阶数,可以修改%这是用多项式拟合曲线,P是得到的3阶多项式的系数,例如:% y=a1*x^3+a2*x^2+a3*x+a4;3阶多项式有四个系数,所以系数P有4个值 如果光要看看图像,可以直接用plot不需要polyfit, plot(x,y)就行

武都县19786755394: 如何用matlab把离散的点连接成曲线比如x=[0.31,0.2,0.5,0.3,0.3,0.2,0.5,0.4]; y=[219,216,217,217,218,21 -
铎鸦头孢: x=[0.31,0.2,0.5,0.3,0.3,0.2,0.5,0.4];y=[219,216,217,217,218,21; plot(x,y)

武都县19786755394: 在matlab中如何将一些离散的二维坐标点用曲线显示出来? -
铎鸦头孢: x=[154,206,221,262] %横坐标 y=[470,418,418,388] %纵坐标 p=polyfit(x,y,2) %用二次函数拟合 X=sym('X') %定义X为自变量 Y=poly2sym(p,'X') %Y是关于X的函数 ezplot(Y,[150,270]) %在离散点的区间内画出图像

武都县19786755394: matlab里怎样怎样把数据量庞大的离散点拟合成光滑曲线 -
铎鸦头孢: 有很多种拟合方法啊,像多项式拟合polyfit,插值这些,建议到图书馆借本书来看.

武都县19786755394: 如何在matlab里对离散Z点拟合曲面, 不一定经过数据点? -
铎鸦头孢: 你的问题可以这样来解决. 1、根据你的数据x、y、z,先通过matlab的拟合函数,拟合出z(x,y)的表达式,再用meshgrid函数进行网格化,最后用mesh函数绘出其三维曲面图. 2、主要代码书写格式 %求拟合系数 x=[...]; y=[...]; z=[......

武都县19786755394: matlab不同纵坐标的离散点的曲线怎么能画在一起 -
铎鸦头孢: 试试这样: clear all;clc; i=[0 0.1 0.2 0.3 0.36 0.4 0.42 0.48 0.5 0.57 0.6...0.7 0.78 0.8 0.9 1.0 1.05 1.1 ]; Y=[31.6 32.2 33.4 35.1 36.2 37.2 37.5 39.0 39.4...40.9 40.1 37.1 34.0 33.6 29.5 24.1 17.5 9.6 ]; n=[0 0.28 0.54 0.68 0.74 0.75 0.81 0.77 0.73......

武都县19786755394: matlab作出的图形怎么是些离散的点啊,怎样连成曲线程序是:>> n=128;>> A=rand(1,n);>> D=rand(1,n);>> for i=1:128B=rot90((A(:,n - i+1:n)),2)C=[B A]E=... -
铎鸦头孢:[答案] n=128; A=rand(1,n);D=rand(1,n); for i=1:128 B=rot90((A(:,n-i+1:n)),2) C=[B A]; E=zeros(1,i); F=[D E] G=C.*F H(i)=max(G) %plot(i,H) end plot(1:128,H)

武都县19786755394: 求大神用matlab将256个离散点(a1,a2,a3,……,a256)拟合成曲线的算法!!! -
铎鸦头孢: x=这些点的横坐标;y=这些点的纵坐标;p=polyfit(x,y,2)%2表示拟和二次曲线 f = polyval(p,x); plot(x,f)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网