2016-01-18 25 views
6

istenmeyen metni kaçının Octave güncel sonuç çıktısını almadan ekranda bazı metinleri üretir. beklendiği gibi gerçek çıktı (değişken x), dizge '1.0*I' olduğuOctave'ın sembolik paketinden

>> x = pretty(vpa('sqrt(-1)')) 
OctSymPy v2.2.4: this is free software without warranty, see source. 
Initializing communication with SymPy using a popen2() pipe. 
Detected Windows: using "winwrapy.bat" to workaround Octave bug #43036 
Some output from the Python subprocess (pid 6680) might appear next. 

OctSymPy: Communication established. SymPy v0.7.6.1. 
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] 
x = 1.0*I 

Not: Örneğin. Kalan işlev çıkışının bir parçası değil, doğrudan ekranda görüntülenen metin. Metin Octave başlattıktan sonra, vpa sonraki çağrılarında yalnızca ilk kez görünmüyor Yani

. Özellikle vpa ile ilgili görünmüyor, ama Octave sembolik hesaplamaları işlemek için Python ile iletişim kurmaktadır.

görüntülenen metni önlemek bir yolu var mı? Ya da başarısız, o metni durdurmak için geçici yakalama stdout bir yolu var mı? Örneğin, Matlab'ın evalc (yakalama ile bir ifadeyi değerlendirin) bir çözüm olacaktır, ancak Octave bu işleve sahip değildir.

cevap

3

bir seçenek sympref quiet on en azından mesajlardan bazıları bastırır recently been committed sahiptir. Değişiklikler sürümünüzde mevcut olup olmadığını görmek için doc sympref'u kontrol edin.

+0

Teşekkürler! Bunu deneyeceğim ve size geri döneceğim –

+1

Henüz sembolik 2.2.4'ümde yer almadım. Ama umut verici görünüyor! –

İlgili konular