मैं MATLAB के साथ मैट्रिक्स में सभी कॉलम पर एक फ़ंक्शन लागू करना चाहता हूं। उदाहरण के लिए, मैं एक मैट्रिक्स के प्रत्येक कॉलम पर चिकनी कॉल करने में सक्षम होना चाहता हूं, मैट्रिक्स को वेक्टर के रूप में चिकनी तरीके से इलाज करने के बजाय (यदि आप चिकनी (मैट्रिक्स) कहते हैं तो डिफ़ॉल्ट व्यवहार होता है)।MATLAB में मैट्रिक्स के कॉलम के माध्यम से पुनरावृत्ति करने का सबसे अच्छा तरीका क्या है?
मुझे यकीन है कि यह करने के लिए एक और अधिक मुहावरेदार तरह से होना चाहिए हूँ, लेकिन मैं यह नहीं मिल सकता है, तो मैं एक map_column समारोह परिभाषित किया है:
function result= map_column(m, func)
result= m;
for col= 1:size(m,2)
result(:,col)= func(m(:,col));
end
end
जो मैं के साथ कॉल कर सकते हैं:
smoothed= map_column(input, @(c) (smooth(c, 9)));
क्या इस कोड के साथ कुछ गलत है? मैं इसे कैसे सुधार सकता हूं?
यह चिकनी समारोह के लिए काम नहीं करता। यदि आप चिकनी मैट्रिक्स पास करते हैं, तो यह इसे एक बड़े वेक्टर के रूप में मानता है। हालांकि यह विधि कुछ अन्य कार्यों के लिए सुविधाजनक होगी। – dmnd