2013-03-21 6 views
5

जब मैं sprintf का उपयोग करें, परिणाम इस तरह दिखाने:मैटलैब में 'ans =' के बिना कमांड विंडो में प्रिंट करें?

sprintf('number=%d %d %d',a,b,c) 
sprintf('or %d',h) 

ans = 

number= 5 4 2 

ans = 

or 2 

मैं उन्हें बाधा डालने ans = बिना परिणाम कैसे प्रदर्शित कर सकते हैं?

उत्तर

5

आप sprintf के बजाय fprintf का उपयोग कर सकते हैं। अपने तारों के अंत में एक नई लाइन \n डालना याद रखें।

+0

ओह ... कि आसान था, धन्यवाद (स्वीकार करने से पहले प्रतीक्षा करने की आवश्यकता)। – NLed

+2

आप 'disp' का भी उपयोग कर सकते हैं। – Justin

+0

@jucestain जानकारी के लिए धन्यवाद – NLed

3

सारांश

विकल्प 1: disp(['A string: ' s ' and a number: ' num2str(x)])

विकल्प 2: disp(sprintf('A string: %s and a number %d', s, x))

विकल्प 3: fprintf('A string: %s and a number %d\n', s, x)

विवरण

http://www.mathworks.com/help/matlab/ref/disp.html उद्धरण (उसी रेखा पर एकाधिक चर प्रदर्शित करें)

कमांड विंडो में एक ही पंक्ति पर एकाधिक चर प्रदर्शित करने के तीन तरीके हैं।

(1) [] ऑपरेटर का उपयोग करके कई तारों को एकसाथ संयोजित करें। Num2str फ़ंक्शन का उपयोग करके वर्णों को किसी भी संख्यात्मक मानों में कनवर्ट करें। फिर, स्ट्रिंग को प्रदर्शित करने के लिए disp का उपयोग करें।

name = 'Alice'; 
age = 12; 
X = [name,' will be ',num2str(age),' this year.']; 
disp(X) 

Alice will be 12 this year.

(2) तुम भी एक स्ट्रिंग बनाने के लिए sprintf का उपयोग कर सकते हैं। प्रदर्शित होने से "एक्स =" को रोकने के लिए अर्धविराम के साथ sprintf कमांड को समाप्त करें। फिर, स्ट्रिंग को प्रदर्शित करने के लिए disp का उपयोग करें।

name = 'Alice'; 
age = 12; 
X = sprintf('%s will be %d this year.',name,age); 
disp(X) 

Alice will be 12 this year.

(3) वैकल्पिक रूप से, उपयोग fprintf बना सकते हैं और स्ट्रिंग प्रदर्शित करने के लिए। Sprintf फ़ंक्शन के विपरीत, fprintf "X =" टेक्स्ट प्रदर्शित नहीं करता है। हालांकि, आपको अपनी डिस्प्ले को ठीक से समाप्त करने के लिए नई लाइन (\ n) मेटाएक्टेक्टर के साथ स्ट्रिंग को समाप्त करने की आवश्यकता है।

name = 'Alice'; 
age = 12; 
X = fprintf('%s will be %d this year.\n',name,age); 

Alice will be 12 this year.

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