में क्वाड का उपयोग करने के बारे में मुझे quad
फ़ंक्शन के साथ एक अजीब समस्या आती है।MATLAB
Error using quad (line 75)
The integrand function must return an output vector of the same length as the input vector.
yteor(k) = quad(@(q)(exp(-(q).^2).*q.^2/(k.^2+1)), 0, 1);
यहाँ q और कश्मीर scalars हैं: मैं quad
उपयोग कर रहा था सरल अभिन्न गणना करने के लिए, और यह 10 से 20 बार के लिए काम किया है, तो मैटलैब निम्न त्रुटि जारी करता है। मुझे यह नहीं मिल सकता कि क्या गलत है और यह कई घंटे पहले क्यों काम करता था।
संपादित
यहाँ (मैटलैब जीएनयू क्लोन) निम्नलिखित स्निपेट सप्टक पर मेरे लिए काम करता है मेरे कोड
for k=1:100,
xteor(k)=step*k;
yteor(k)=quad(@(q)(exp(-(q).^2).*q.^2/((step.*k+1).^2)),0,1);
end plot(xteor,yteor,'r');
त्रुटि संदेश बहुत आत्म-व्याख्यात्मक लगता है। क्या आप अपना कोड दिखा सकते हैं? (आदर्श रूप से, काम कर रहे हैं और काम नहीं कर रहे हैं) – FabienAndre
पूरा कोड बहुत बड़ा है इसलिए मैं उस भाग को भेजूंगा जो ग्राफ को एकीकृत और साजिश करेगा: –
के = 1: 100 xteor (k) = step * k; yteor (k) = quad (@ (q) (exp (- (q)।^2)। * Q।^2/((चरण। * के + 1)।^2)), 0,1); अंत साजिश (xteor, yteor, 'r'); –