আমি নিম্নলিখিত কাজ করতে চান:
গাউসিয়ান লাইনের আকৃতির পরে আমার একটি ডেটা সেট আছে, তবে কিছু তথ্য রয়েছে যা দৃঢ়ভাবে বিচ্যুতি করছে। ফলস্বরূপ এই তথ্য পয়েন্ট অন্তর্ভুক্ত করা উচিত নয়।
তাই আমার ধারণাটি ২ গৌসিয়ানের উপরে ও এক নিচের একটি সীমাবদ্ধতা হিসাবে তৈরি করা। তাই এই 2 গাউসিয়ানদের মধ্যে থাকা সমস্ত তথ্য পয়েন্ট উপযুক্ত এবং বাকিগুলির বাইরে নয় বলে বিবেচিত হয়।
আমি সহজে ২ গাউসিয়ান তৈরি করতে এবং একটি টেবিলে এই তথ্যটি ব্যবহার করে তৈরি করতে পারি: (নোটিশ: তথ্য = তথ্য ফাইল)
set table '1.Gauss'
plot g(x)+0.1
unset table
set table '2.Gauss'
plot g(x)-0.1
unset table
set table 'all'
plot '1.Gauss', '2.Gauss', 'data'
unset table
কিন্তু তারপর: সমস্ত তথ্য অন্য একটি তালিকাভুক্ত করা হয়। তাছাড়া আমি এই দুটি গাউসিয়ানদের মধ্যে যদি এই তথ্যটি ব্যবহার করে বলার অপেক্ষা রাখে না পরে কিভাবে ফিট করতে পারি তা জানি না।
আপনি অন্য কোন ধারণা আছে?
সংযোজন:
আমি সত্যিই প্রোগ্রামিং বা gnuplot মধ্যে তাই না আমি আপনার বার্তা বুঝতে অসুবিধা আছে। তাই এখানে gnuplot আমার প্রোগ্রামিং সব হয়:
set xrange [1038.6603:1038.666]
set yrange [0.8:1.3]
file="data"
g(x) = N0*(A*exp(-(x-(b+d))2/(2*sigma2)))+c
N0=0.2; b=1038.66315;d=0.00001; c=1; A=3; sigma=0.0001
filterData(y,m,M)=((yM)? 1/0 : y)
fit h(x) file using 1:(filterData($2,g($1)-0.1,g($1)+0.1)) via N0,d,c,A,sigma
plot file using 1:(filterData($2,g($1)-0.1,g($1)+0.1)) g(x)-0.1, g(x)+1, h(x)
শেষ সারিতে দ্বিতীয়টিতে, গনুপলট বলেছেন: "অনির্ধারিত পরিবর্তনশীল: x"
আমি জানি কিছু অবশ্যই অনুপস্থিত বা ভুল, কিন্তু আমি ঠিক কিভাবে সমাধান করতে জানি না। খুব সম্ভবত আপনার লাইন মন্তব্য করতে পারে? তাই আমার মতো একজন লোক যে এটা বুঝতে পারে? ধন্যবাদ :)
এখানে দ্বিতীয় যোগ করুন:
এখানে আমার সব লেখা আছে:
set xrange [1038.6598:1038.6663]
set yrange [0.8:1.3]
set fit errorvariables
file= "09_05_16-10.thzpp"
g(x) = N0*(A*exp(-(x-(b+d))**2/(2*sigma**2)))+c
N0=0.2; b=1038.66315;d=0.00001; c=1; A=3; sigma=0.0001
filterData(y,m,M)=((y<m||x>M)? 1/0 : y)
fit h(x) file using 1:(filterData($2,g($1)-0.1,g($1)+0.1)) via N0,d,c,A,sigma
plot file using 1:(filterData($2,g($1)-0.1,g($1)+0.1)), g(x)-0.1, g(x)+1, h(x)
এই আমাকে ত্রুটি দেয় "লাইন 8: অনির্ধারিত পরিবর্তনশীল: এক্স"
সুতরাং আমার তথ্য এক্স-রেঞ্জের মধ্যে রয়েছে: [1038.6598: 1038.6663]। যখন আমি শেষ 3 টি লাইন মুছে ফেলি এবং পরিবর্তে এটি ব্যবহার করি:
fit [1038.6603:1038.666] [0.95:1.2] g(x) file via N0,d,c,A,sigma
plot file title 'Messung', g(x) title 'Fit'
এটা কাজ করে, কিন্তু আমি এই চমৎকার 2 গসিয়ান নিষেধাজ্ঞা আছে না।
তাই আমার উপরের টেক্সট ভুল কি?
x
মধ্যে filterData(y,m,M)=((y<m||x>M)? 1/0 : y)
যা একটি হতে হবে y
, filterData(y,m,M)=((y<m||y>M)? 1/0 : y)
।
g
, দ্য2
একটি বন্ধনী পরে। অনুগ্রহ করে আপনার কোডটি অনুলিপি করুন। এছাড়াও, আপনার এক্স-রেঞ্জটি খুব বেশি জ্ঞান দেয় না, যদি আপনার তথ্য প্রকৃতপক্ষে x = 1038.6603 এবং x = 1038.666 এর মধ্যে থাকে এবং দ্বিগুণ-স্পষ্টতা গাণিতিকের সাথে ভাসমান বিন্দু গণনা দ্বারা প্রাপ্ত হয়, তাহলে আমি ভয় করি যে এক্সের আপেক্ষিক ত্রুটিটি বিশাল হবে। এবং এই উপযুক্ত জন্য একটি সমস্যা হতে পারে। আপনি থেকে এই ফ্রিকোয়েন্সি তথ্য উৎপত্তি পুনরায় সেট করা উচিত।