error in displaying a 3-D Plot in matlab -
मैं निम्नलिखित फ़ंक्शन matlab में आकर्षित करना चाहता था:
f (x, y) = sqrt (1 -x ^ 2-4y ^ 2), (अगर (x ^ 2 + 4 * y ^ 2) & lt; = 1)
= 0, अन्यथा मैंने मैटलैब में निम्नलिखित कोड लिखा था:
x = 0: 0.1: 10; y = 0: 0.1: 10; । Z = x ^ 2 + 4 * y ^ 2। यदि (z & lt; = 1) सर्फ (एक्स, वाई, जेड); अन्य सर्फ (एक्स, वाई, 0); लेकिन निम्न त्रुटि प्रदर्शित होती है:
सतह: पंक्तियां (जेड) लम्बाई (वाई) और कॉलम (जेड) के समान ही होनी चाहिए लंबाई (एक्स)
मैं इस त्रुटि से कैसे बचूंगा ...
मैं लगता है कि आपको वाकई जांच करनी चाहिए कि आप क्या कर रहे हैं ... लाइन द्वारा लाइन
x = 0: 0.1: 10; % परिभाषित एक्स-सरणी 1x101 y = 0: 0.1: 10; % परिभाषित y- सरणी 1x101 z = x ^ 2 + 4 * y ^ 2; हालांकि, z के लिए इनपुट के रूप में सर्फ को एक मैट्रिक्स की जरूरत है, इसलिए सिंटैक्स जैसा कि आप इसे यहां उपयोग करते हैं गलत। इसके बजाय, एक एक्स-ग्रिड और वाई-ग्रिड बनाएं:
[xx, yy] = मेशग्रीड (x, y); % दोनों हो 101x101 मैट्रिक्स zCheck = xx। ^ 2 + 4 * yy। ^ 2; % 101x101 zz = sqrt (1-xx। ^ 2-4 * y। ^ 2) यदि कथन के संबंध में, आप प्लॉटिंग से पहले मूल्यों को बेहतर ढंग से बदलते हैं:
zz (zCheck & gt; 1) = 0; % शून्य से 1 से बड़ा मानों को बदलने (तार्किक अनुक्रमण का उपयोग करें) आकृति (100); सर्फ (एक्स, वाई, ज़्ज़);
Comments
Post a Comment