Matlab

时间:2015-12-31 15:56:34

标签: matlab

我必须将给定方程的数据拟合到附图所示的蓝线中的其他数据。

picture with data

r和c的初始值分别为0.004和40。 r和c的结果值分别为0.0068和54.23。公式如下:

我没有得到合适的图表。我不知道我在哪里弄错了。红色圆圈是我认为我的拟合结果。这是我在Matlab上的工作。

功能文件:

function y = FOM2(t,r,c)

    t=(0:0.01:2);
    q=zeros(1,length(t));

    for i=1:length(t)

        if (t(i) < 1)
           q(i) = 600;
        else
           q(i) = 0;
        end

        y= q*(r+(1/c));

    end

错误值功能:

function error=RCvalues(x,time,data)

    r = x(1); c = x(2);
    test = FOM2(time,r,c);
    d= data - test;
    error = sum(d.^2);

拟合文件:

Data = load ('Paw.txt'); %Load measurement data
Time = load ('time.txt');
Data=data';
Time=ime';

opt = optimset('MaxFunEvals',10000,'TolFun',1e-6);
x = fminsearch(@(x) RCvalues(x,Time,Data),[0.004 40],opt);

r = x(1);
c = x(2);

yy= FOM2(Time,r,c);

fprintf('Final values:\n');
fprintf('r %7.3f\n',x(1));
fprintf('c %7.3f\n',x(2));

plot(Time,Data)
hold on
plot(Time,yy,'o');

这是方程式,

totaltime is 2 sec

dPalv/dt=q/c

Paw= r*q+palv

我必须使用Paw方程但不知道如何。

0 个答案:

没有答案