हाल ही में मैंने नई चुनौती का सामना किया है जिससे मुझे काम करने में कठिनाई हो रही है। मेरे पास प्लास्टिक बनाने के दौरान भौतिक व्यवहार का वर्णन करने वाले कई वक्र हैं और मैं डेटा को सुरुचिपूर्ण शक्ति कानून समीकरण में रखना चाहता हूं। सामग्री तनाव दर संवेदनशील है इसलिए मेरे पास विभिन्न तनाव दरों के लिए कुछ वक्र हैं। वक्र प्रतिबल-विकृति वक्रों के रूप में होते हैं। गणित की भाषा में:

f(B,C,x,y)=B^x*C^y

कहा पे:

B = Strain,
C = Strain rate,
x = Strain coefficient,
y = Strain rate coefficient.

मेरे पास C के विभिन्न मानों के लिए f(B) का वर्णन करने वाले कई वक्र हैं।

मैंने अब तक जो कुछ भी आजमाया है वह रैखिक कार्यों या एकल स्वतंत्र चर के संबंध में है।

मैंने x और y के संभावित न्यूनतम और अधिकतम मान लेते हुए सरल फ़ंक्शन के बारे में भी सोचा है, प्रत्येक 100 तत्वों के साथ मानों का मैट्रिक्स बना रहा है, फिर पहले संयोजन और मानक विचलन के लिए फ़ंक्शन की गणना करें। उसके बाद, संयोजन से संयोजन पर जाएं और मानक विचलन की तुलना करें। समाधान के रूप में सबसे कम विचलन वाले संयोजन का चयन करें।

एक अन्य संभावना fminunc या fminsearch का उपयोग करना होगा, लेकिन मुझे नहीं पता कि विभिन्न वक्रों को प्रारंभिक बिंदु के रूप में कैसे रखा जाए।

क्या आप x और y कोड खोजने में मेरी सहायता कर सकते हैं?

जरूरत पड़ने पर मैं वक्र प्रदान कर सकता हूं। मेरे सभी नंबर प्राकृतिक हैं।

शुक्रिया

2
mismichael 27 जून 2019, 18:42

1 उत्तर

सबसे बढ़िया उत्तर

मेरे लिए सबसे उपयुक्त समाधान nlinfit का उपयोग है। एल्गोरिथ्म का उदाहरण:

betaWithoutNoise = [80;0.3;0.1]; # True values of our parameters
x=[0:0.1:1];
x21(1:11)=0.01;
x22(1:11)=0.1;
xmatrix=[[x;x21],[x;x22]];
realValues=betaWithoutNoise(1)*(xmatrix(1,:).^betaWithoutNoise(2)).*(xmatrix(2,:).^betaWithoutNoise(3))

#adding noise to the function values
noise=rand(size(realValues))-0.5;
noisyValues=realValues+noise;

#application of function model
modelfun=@(b,xmatrix) (b(1)*(xmatrix(1,:).^(b(2))).*(xmatrix(2,:).^b(3)));
beta0=[70,0.1,0.3];
[beta,R,J,covb,mse]=nlinfit(xmatrix,noisyValues,modelfun,beta0);

रुचि और सहायता के लिए सभी को धन्यवाद।

0
mismichael 28 जून 2019, 13:39