²é¿´: 506  |  »Ø¸´: 2

astonesh

гæ (³õÈëÎÄ̳)

[½»Á÷] ÇóÖú£¬matlab ËĽ×Áú¸ñ¿âËþ½áºÏ¶þ³Ë·¨µÄÎÊÌâ ÒÑÓÐ1È˲ÎÓë

function k
format long
clear all
clc
x0 = 0;
k0 = 0;   
lb = 0.1;
ub = 0.5;
tspan=linspace(0,400,800);
[m,n]=ode45(@example,tspan,0);
tspan = m;
data=n;
plot(tspan,data);
yexp = data';
options = optimset('Display','iter','TolFun',1e-10,'TolX',1e-10)
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFunc,k0,lb,ub,options,tspan,x0,yexp);      
ci = nlparci(k,residual,jacobian);
fprintf('\n\nʹÓú¯Êýlsqnonlin()¹À¼ÆµÃµ½µÄ²ÎÊýֵΪ:\n')
fprintf('\tk = %.9f ¡À %.9f\n',k,ci(1,2)-k)
function f = ObjFunc(k,tspan,x0,yexp)           % Ä¿±êº¯Êý
[tspan,Xsim] = ode45(@example2,tspan,0,[],k);
Ysim=Xsim';
Ysim=Ysim(2:end);
f = Ysim(:,1)-yexp(:,1);

function dy = example(t,y)
pi=3.14;
dy=0.1*y-0.1*y.^3+0.3*sin(2*pi*0.01*t)+sqrt(2)*randn(size(t));


function dy = example2(t,y,k)  %ode Ä£ÐÍ
%UNTITLED4 Summary of this function goes here
%   Detailed explanation goes here
pi=3.14;
dy=0.1*y-0.1*y.^3+k*sin(2*pi*0.01*t)+sqrt(2)*randn(size(t));
ÕâÊÇÒ»¸öÕýÈ·µÄ³ÌÐò¡£µ«ÊÇÎÒÏëÎÊ£¬Èç¹û°Ñsqrt(2)*randn(size(t))¸ÄΪһ¸öÒÑÖªµÄ1*800Êý×飬Ȼºó¶ÔӦʱ¼ätÒÀ´Î´ú½øÈ¥£¬ÔõôŪ£¿
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÔÂÖ»À¶

Ö÷¹ÜÇø³¤ (Ö°Òµ×÷¼Ò)

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
´ó¸Å¿´ÁËһϣ¬ ÓÃfor Óï¾äÊÔÊÔ¡£
MATLAB¡¢MSСÎÊÌâ¡¢ÆÕͨÎÊÌâÇë·¢ÌûÇóÖú£¡Ê±¼ä¾«Á¦ÓÐÏÞ£¬Ë¡²»½ÓÊÜÎÞ³¥Ë½ÐÅÇóÖú¡£
2Â¥2014-10-28 08:37:59
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

astonesh

гæ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by ÔÂÖ»À¶ at 2014-10-28 08:37:59
´ó¸Å¿´ÁËһϣ¬ ÓÃfor Óï¾äÊÔÊÔ¡£

function k
format long
clear all
clc
x0 = 0;
k0 = 0;   
lb = 0.1;
ub = 0.5;
tspan=linspace(0,400,800);
[m,n]=ode45(@example,tspan,0);
tspan = m;
data=n;
plot(tspan,data);
  
yexp = data';
options = optimset('Display','iter','TolFun',1e-10,'TolX',1e-10)

[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFunc,k0,lb,ub,options,tspan,x0,yexp);      
ci = nlparci(k,residual,jacobian);
fprintf('\n\nʹÓú¯Êýlsqnonlin()¹À¼ÆµÃµ½µÄ²ÎÊýֵΪ:\n')
fprintf('\tk = %.9f ¡À %.9f\n',k,ci(1,2)-k)


function f = ObjFunc(k,tspan,x0,yexp)           % Ä¿±êº¯Êý
[tspan,Xsim] = example2(tspan,k,x0);
Ysim=Xsim';
Ysim=Ysim(2:end);

f = Ysim(:,1)-yexp(:,1);


function dy = example(t,y,y0)

pi=3.14;
dy=0.1*y-0.1*y.^3+0.3*sin(2*pi*0.01*t)+sqrt(2)*randn(size(t));


function [t,y] = example2(t,k,y0)  %ode Ä£ÐÍ

fs=4;%²ÉÑùƵÂÊ
%T=1/fs;%²ÉÑùʱ¼ä
N=4096;%Êý¾ÝµãÊý
%t=(0:N-1)*T;%ʱ¼äÐòÁÐ
pi=3.14;
t_1=linspace(0,400,800);
[m1,n1]=ode45(@example,t_1,0);
subplot(3,2,1)
plot(m1,n1);

NFFT=2^nextpow2(N);%ÇóµÃ×î½Ó½ü×ܲÉÑùµãµÄ2^n,
Y2=fft(n1,NFFT)/N;
y2=2*abs(Y2(1:NFFT/20+1));
f2=fs/2*linspace(0,0.1,NFFT/20+1);%ƵÂÊÐòÁÐ
subplot(3,2,2)
plot(f2,y2);
%µÚ¶þ¸ö¾­¹ýSRµÄƵÆ×ͼ

LPF = ones(4096,1);  
LPF(18:24)=zeros(7,1); %½ØÖ¹ÆµÂÊ100Hz
%LPF(14:18)=zeros(5,1); %½ØÖ¹ÆµÂÊ100Hz

Ylv4 = Y2.*LPF;
f4=fs/2*linspace(0,0.1,NFFT/20+1);
ylv4=2*abs(Ylv4(1:NFFT/20+1));
subplot(3,2,4)
plot(f4,ylv4);
%µÚËĸöͼÊÇ·ùÖµÖÃ0ºó¶Ô±Èͼ

T5=1/N;
%t5=(0:N-1)*T5;%ʱ¼äÐòÁÐ
t5=linspace(0,400,800);
ylv5 = ifft(Ylv4*N);
ylvlv=ylv5(1:5:3996);
ylvlv2=ylvlv';
subplot(3,2,5)
plot(4*t5 ,ylv5(1:5:3996));
%»­³öµÚ¸öÎåͼ
%ÉÏÃæµÄÕâЩΪÁ˵õ½Ò»¸ö1*800µÄÊý¾Ýylvlv2,ÒѾ­È·Èϵõ½¾ÍÊÇ1*800µÄ¾ØÕ󣬵«ÊÇÓÃforÒÔºó¾Í²»Äܵ÷ÓÃode45£¬½á¹û³öÀ´¾ÍÊÇk䶨Òå
len=length(ylvlv2);
ty=linspace(0,400,len);
y=zeros(1,len);
y(1)=a*y0-b*y0^3+ylvlv2(1)+k*sin(2*pi*0.01*ty(1));

for i=1:len-1
   h=ty(i+1)-ty(i);
    q1=h*(a*y(i)-b*y(i)^3+ylvlv2(i+1)+k*sin(2*pi*0.01*ty(i+1)));
    q2=h*(a*(y(i)+h*k1/2)-b*(y(i)+h*k1/2)^3+ylvlv2(i+1)+k*sin(2*pi*0.01*(ty(i+1)+h/2)));
    q3=h*(a*(y(i)+h*k2/2)-b*(y(i)+h*k2/2)^3+ylvlv2(i+1)+k*sin(2*pi*0.01*(ty(i+1)+h/2)));
    q4=h*(a*(y(i)+h*k3/2)-b*(y(i)+h*k3)^3+ylvlv2(i+1)+k*sin(2*pi*0.01*(ty(i+1)+h)));
    y(i+1)=y(i)+(q1+2*q2+2*q3+q4)/6;
   
end

ÄÜÔÙ°ïæ¿´¿´³öÏÖʲôÎÊÌâô   »Ò³£¸Ðл   ¼±×ÅÓóÌÐò
3Â¥2014-10-28 10:06:47
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ astonesh µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 0856µ÷¼Á +3 ÇóÇóÈÃÎÒÓÐÊé¶Á° 2026-03-26 4/200 2026-03-26 15:14 by ÇóÇóÈÃÎÒÓÐÊé¶Á°
[¿¼ÑÐ] 321Çóµ÷¼Á +3 wasdssaa 2026-03-26 3/150 2026-03-26 14:33 by njzyff
[¿¼ÑÐ] »·¾³×¨Ë¶324·ÖÇóµ÷¼ÁÍÆ¼ö +5 ÐùСÄþ¡ª¡ª 2026-03-26 5/250 2026-03-26 12:05 by i_cooler
[¿¼ÑÐ] 291 Çóµ÷¼Á +7 »¯¹¤2026½ì±ÏÒµÉ 2026-03-21 8/400 2026-03-26 11:25 by AlenQIN.
[¿¼ÑÐ] 297Çóµ÷¼Á +3 ÌïºéÓÐ 2026-03-26 3/150 2026-03-26 09:38 by ÑîÑîÑî×Ï
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉϺ£½»´óÉúÎïÓëҽҩר˶324·Ö£¬Çóµ÷¼Á +6 jiajunX 2026-03-22 6/300 2026-03-25 23:05 by licg0208
[¿¼ÑÐ] 290·Öµ÷¼ÁÇóÖú +3 ¼ªÏéÖ¹Ö¹³Â 2026-03-25 3/150 2026-03-25 19:58 by barlinike
[¿¼ÑÐ] 0854µç×ÓÐÅÏ¢Çóµ÷¼Á +7 ¦Á____ 2026-03-22 9/450 2026-03-25 13:37 by ¦Á____
[¿¼ÑÐ] 0854È˹¤ÖÇÄÜ·½ÏòÕÐÊÕµ÷¼Á +4 ÕÂСÓã567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
[¿¼ÑÐ] 318Çóµ÷¼Á +3 plumÀî×Ó 2026-03-23 3/150 2026-03-25 09:42 by ÎíÉ¢ºóÏàÓölc
[Óлú½»Á÷] ÓлúºÏ³ÉÇóÖú 20+3 FENGSHUJEI 2026-03-23 5/250 2026-03-24 19:31 by 88817753
[¿¼ÑÐ] 080500Çóµ÷¼Á +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[¿¼ÑÐ] ²ÄÁÏ292µ÷¼Á +8 éÙËÌ˼ÃÀÈË 2026-03-23 8/400 2026-03-24 16:33 by laoshidan
[¿¼ÑÐ] 279·ÖÇóµ÷¼Á Ò»Ö¾Ô¸211 +18 chaojifeixia 2026-03-19 20/1000 2026-03-24 10:34 by dolphin_ycj
[¿¼ÑÐ] Ò»Ö¾Ô¸¼ª´ó»¯Ñ§322Çóµ÷¼Á +4 17501029541 2026-03-23 6/300 2026-03-24 10:21 by ´÷Χ²±µÄСÎÃ×Ó
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³£¬×Ü·Ö308Çóµ÷¼Á +7 īīĮ 2026-03-23 8/400 2026-03-23 20:36 by Creta
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +4 ÄÝÄÝninicgb 2026-03-21 4/200 2026-03-21 18:39 by ѧԱ8dgXkO
[¿¼ÑÐ] Çóµ÷¼Á +3 13341 2026-03-20 3/150 2026-03-21 18:28 by ѧԱ8dgXkO
[¿¼ÑÐ] ²ÄÁÏ 271Çóµ÷¼Á +5 Õ¹ÐÅÔÃ_ 2026-03-21 5/250 2026-03-21 17:29 by ѧԱ8dgXkO
[¿¼ÑÐ] 332Çóµ÷¼Á +3 ·ï»ËÔº¶¡Õæ 2026-03-20 3/150 2026-03-21 10:27 by luoyongfeng
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û