科学网

 找回密码
  注册

tag 标签: 极小

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

Matlab算光变曲线极小极大时刻
dabing 2016-11-9 13:41
该程序是由Batty写的monte carlo算法求光变曲线的极小时刻点,在matlab内运行。 输入文件格式: 387.95190 -0.765 -1.722 387.95233 -0.753 -1.742 387.95279 -0.759 -1.729 387.95322 -0.769 -1.734 第一列:HJD,第二列:目标星减比较星,第三列:比较星减校验星 matlab内运行及操作: 1. 点击: Run 2. 输入文件: pk16_complete_monte_carlo_find_maxtime_161030 path =/Users/abREN/Astro/VTri/2_photometry/Results ;;路径可在程序前改。 Please input your light curve file data Example == d:\sample.dat filename1= 0014VTri_Result_B.txt 3. 在Figure窗口选择取极小的区间 4. 确定多项式拟合的阶数,得结果 Please input order of polynomial: 2-10 input order = 3 ... HJD0 = 3.879519e+02 maximum time = 388.256685 注意检查结果跟实际的图像坐标是否近似。 error time = 0.000045119 Do you want to continue y or n: n ==END================================= 2016.11.9 13:40@BNU ==附matlab程序================ function pk16_complete_monte_carlo_find_maxtime_150629 %%%--read directory ---------------------------------------- path = '/Users/abREN/Astro/VTri/2_photometry/Results' cd(path); disp('Please input your light curve file data') disp('Example == d:\sample.dat'); %%%--read data from text file ------------------------------- %filelc = fopen('091013.dat'); filename1=input('filename1= ','s'); filelc = fopen(filename1, 'r') data = textscan(filelc, '%n%f%f'); fclose(filelc) %%%--- get data from file ----------------------------------- fullhjd = data{1}; vb = data{2}; ch = data{3}; %%%---------------------------------------------------------- %%%--- for data 7 columns, name, hjd, rdvb, rdref, rdchk, vb, ch % data = textscan(filelc, '%s %n %f %f %f %f %f'); % fullhjd = data{2}; % rdvb = data{3}; % rdref = data{4}; % rdchk = data{5}; % vb = data{6}; % ch = data{7}; %fclose(filelc); %%%---delete bad points--------------------------------------------------- % = find(rdvb ~= 99.9 rdref ~= 99.9 rdchk ~=99.9); % % fullhjd = fullhjd(ind); % vb = vb(ind); % ch = ch(ind); %%%--- find short hjd and hjd start -------------------------------------- %dhjd = (fullhjd - floor(fullhjd))+ mod(floor(fullhjd),100); %hjd0 = floor(fullhjd(1))- mod(floor(fullhjd(1)), 100); dhjd=fullhjd hjd0=fullhjd(1) flag = 0; while (flag==0) %%%---------window 1------------------------------------------------------ %%% --- plot original data-------------------- figure(1); clf; plot(dhjd,vb,'b.'); set(gca,'YDir','reverse'); %%% --- select data-------------------- = ginput(2); = find(dhjd x(1) dhjd x(2)); xx = dhjd(inx); yy = vb(inx); nrow = size(xx); %%%--- cal sigma from check star ----- rnum = std(ch); %%% calculate sigma nump = nrow(1); %%% count row number %%%---plot selected data ---------------------------------------------- clf; plot(xx,yy,'ro'); set(gca,'YDir','reverse'); disp('Please input order of polynomial: 2-10'); norder = input('input order = '); coefit = polyfit(xx,yy,norder); newxx = min(xx):(max(xx)-min(xx))/400:max(xx); yfitting = polyval(coefit, newxx); hold on; plot(newxx,yfitting); set(gca,'YDir','reverse'); %%%--- find maximum time -------------------------------------- for a = 1:norder, mcoefit(a) = coefit(a)*(norder+1-a); end newxx = newxx(40:360); yfit1 = polyval(mcoefit,newxx); yfit2 = yfit1.^2; %min(yfit2); %plot(newxx,yfit2); = find(yfit2 == min(yfit2)); %%%% min for maximum time % = find(yfit2 == max(yfit2)); %%%% max for minimum time #?# max_time = newxx(imax); %%%*********************************************************************** %%%--- window 2 ---------------------------------------------------------- %%%--- find error by using Monte Carlo ----------------------------------- figure(2); clf; for i=1:200, % % %%%--- make simulation error points ---------------- err = rand(nump,1)*rnum-rnum/2; %%% +- 0.5 sigma #order=3 ...# %err = rand(nump,1)*2*rnum-rnum %%% +- 1 sigma #order=4 ...# yyerr = yy+err; plot(xx,yyerr,'r.'); set(gca,'YDir','reverse'); % % % %%%---find coefficient of polynomial -------------- coemc = polyfit(xx,yyerr,norder); hold on; newxx = min(xx):(max(xx)-min(xx))/400:max(xx); yfitmc = polyval(coemc,newxx); plot(newxx,yfitmc); set(gca,'YDir','reverse'); for a = 1:norder, mcoe(a) = coemc(a)*(norder+1-a); end newxx = newxx(40:360); y1 = polyval(mcoe,newxx); y2 = y1.^2; % % min(y2); % plot(newxx,y2); = find(y2 == min(y2)); %%%min value for find maximum % = find(y2 == max(y2)); %%% max for find minimum time #?# max_n = newxx(im); max_all(i) = max_n end hold off; stdmax = std(max_all); %%%--- calculate error fprintf('HJD0 = %d\n', hjd0) %%%--- hjd0 fprintf('maximum time = %10.6f\n', max_time) %%%--- maximum time fprintf('error time = %10.9f\n\n', stdmax) %%%--- error %%%--- ask for exit--------------------- disp('Do you want to continue'); ans = input('y or n: ','s'); if ans == 'y' | ans == 'Y' flag == 1; else if ans == 'n' | ans=='N' flag == 0; break; end end end
个人分类: IRAF测光|0 个评论
始基与本原,极大与极小
lvnaiji 2009-8-15 17:07
博主在 世界1 的量子阶梯和世界2 的需求层次-知识论之四 中分析了量子阶梯。沿量子阶梯下行,就遇到组成与被组成的关系。 按常识理解,在量子阶梯上层次越低,对应物质的空间尺度越小。分子比 DNA 和蛋白质小,原子比分子小,核比原子小,质子和中子比核小,然后是夸克,比夸克更低层次的粒子如此等等,直至奇点。在所有的物质层次上,奇点位于最低点,因而是最小的,是万物的本原。 然而,奇点又是最大的。宇宙大爆炸理论告诉我们,一切的一切,都是在 137 亿年前由奇点爆炸及而后的演化而来,于是,奇点便是最大的,是万物的始基。这样,在奇点,就是极大等于极小。 奇点有点像 0 。由量子阶梯逼近奇点,有点像在数轴上逼近 0. 分数 n/x , n 为常数。当 x 由正的一侧趋近于 0 ,极限为正无穷大, x 由负的一侧趋近于 0 ,极限为负无穷大,而当 x 等于 0 ,正无穷大等于负无穷大。这不正是量子阶梯上的奇点,极大等于极小吗? 古希腊的自然哲学认为这是当然的事情。万物由本原组成,万物从之而出。在自然哲学家看来,本原与起源是同一的。在自然哲学的各学说中,种子说认为,种子,相应于植物整体,是最小的,而植物整体又是由种子发育而成。因而种子最大。 万物的本原与万物或宇宙的起源,这本来是一而二、二而一的问题,前者从存在的角度,后者从发展的角度讨论同一问题。 其实,中国人老早就清楚这一点,四个字,便化解了难题: 两极相通。
个人分类: 科技|5196 次阅读|2 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 22:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部