2015-06-29 9 views
7

मुझे लगता है कि यह एक आसान सवाल है ...वक्र में अंक की पहचान

आप किसी आकृति में निर्देशांक की पहचान कैसे करते हैं? मैंने कुछ डेटा प्लॉट किया, एक स्पिन वक्र बनाने के लिए unireg (uniReg पैकेज) का उपयोग किया, और एक बिंदु से डेटा खींचना चाहते हैं।

library(uniReg) 
P0mM <- read.table(text=" 
Time   FeuM 
0.04 138.8181818 
    7 1258.636364 
    14 1320.545455 
    21  2110.37037 
    28 13730.37037 
    35 1550.909091",header=TRUE) 

z=seq(min(P0mM$Time),max(P0mM$Time),length=201) 
uf=with(P0mM,unireg(Time,FeuM,g=5,sigma=1)) 
plot(FeuM~Time,P0mM,ylim=c(0,16000),ylab="Fe2+ uM", xlab="Time", main="0mM P") 
lines(z,uf$unimod.func(z)) 

enter image description here

मैं वक्र के अधिकतम y मूल्य प्राप्त करने में सक्षम था (जो 14,444 है)

max((uf$unimod.func(z))) 

मैं पहचान करने के लिए जहां पर एक्स अक्ष ऐसा होता है चाहता हूँ। (लगभग 30 होना चाहिए, लेकिन मैं सटीक होना चाहता हूं)।

आप यह कैसे करते हैं?

धन्यवाद!

+0

आप एक "सटीक" का जवाब तो हम कुछ "सटीक" डेटा की जरूरत चाहते हैं। –

+0

क्या आप 'dput' का उपयोग कर अपना डेटा (' P0mM') प्रदान कर सकते हैं? इसके अलावा, 'unireg() 'कहां से आता है? क्या यह कुछ पॅकक में है? – thelatemail

+0

यदि आप इस तरह के arguemtns का उपयोग करके अधिक वैज्ञानिक विचार देखने के लिए अपनी साजिश wnat: 'साजिश (1,1, ylim = सी (0,16000), ylab = अभिव्यक्ति (Fe [2] ^" + "~ एमयू * एम) , xlab = "समय", मुख्य = "0 एमएमओएल पी") ' –

उत्तर

6

optimise या optimize के लिए एक मामले की तरह लगता है (ब्रिटिश या अमेरिकी अंग्रेजी के साथ अपने संबंध के आधार पर):

optimise(uf$unimod.func, maximum=TRUE, interval=range(P0mM$Time)) 
#$maximum 
#[1] 29.27168 
# 
#$objective 
#   [,1] 
#[1,] 14444.85 
+0

धन्यवाद! मेरे पास इस तरह के आंकड़ों का एक गुच्छा है, और बस उन सभी की कोशिश की। यह उन सभी के लिए काम करता है। मुझे पता था कि कुछ आसान था! –

संबंधित मुद्दे