Matlab'da, öğeleri karmaşık veya gerçek olabilen bir vektör olduğunu varsayalım. Gerçek olmayan unsurları nasıl çıkaracağımı ve sonuçta vektörün boyutunu nasıl azaltacağını merak ediyordum? Teşekkürler ve saygılar!Matlab'da bir vektördeki karmaşık sayıların nasıl ortadan kaldırılacağı Matlab
cevap
kullanın REAL ve IMAG fonksiyonları:
>> x = [1+i; 4+3i; 5+6i] x = 1 + 1i 4 + 3i 5 + 6i >> real(x) ans = 1 4 5 >> imag(x) ans = 1 3 6
DÜZENLEME
yukarıdaki Yazarın soruya cevap vermez. Bu yapar.
FIND ve REAL işlevlerini kullanın: sormak için bir çok sıradışı bir şey
>> v = [1+i; 2; 3] v = 1 + 1i 2 3 >> v(v == real(v)) ans = 2 3
Teşekkürler! Ama ben bu gerçek olmayan sayıları, vektörün dışına taşımak yerine, gerçek parçalarla değiştirmemek istiyorum. – Tim
@Tim - Cevabınızı yorumunuzu yansıtacak şekilde düzenledim. –
Teşekkürler! Ama yine de istediğim şey değil. Örneğin, v = [1 + i, 2, 3], v [2,3], [1,2,3] ve [1,0,0] olmak istiyorum. – Tim
. Hayali kısım kayan nokta sayısı olduğundan, gerçekte hangi numaranın gerçek bir sayı olduğunu ve gerçek sayıya çok yakın olduğunu söyleyemezsiniz. Bu tür bir fonksiyon Matlab'da mevcut değildir, çünkü her şey için nasıl yararlı olabileceği çok net değildir (bu sayıları kaldırmak anlamsızdır). Asıl amacınızı burada belirtmek, daha iyi yanıtlar almanıza yardımcı olabilir.
yalnızca gerçek sayılar vektör kalan emin olmak istiyorsanız, (o matrisleri ve dikey satırlar ile çalışmaz, ancak fikir var) Aşağıdaki kullanabilirsiniz:
x = [1, 2, 3+1i, 4+2i, 5+3i, 6, 7, 8+4i, 9+0i]
z = []
for k = [1:length(x)]
if imag(x(k)) == 0
z = [z, real(x(k))]
endif
endfor
gerçek sayıya yakın tüm sayıları tutmak istiyorum, ancak bazı küçük sıfır olmayan hayali parçaya sahip olsaydı
, aşağıdaki kullanabilirsiniz: elbette
x = [1, 2, 3+1i, 4+2i, 5+3i, 6, 7, 8+4i, 9+0.000001i]
z = []
for k = [1:length(x)]
if abs(imag(x(k))) < 0.00001
z = [z, real(x(k))]
endif
endfor
, bize söylersen Ya gerçek ölçüt, size daha iyi bir fikir vermek çok daha kolay olurdu. Bir çeşit denklem ya da denklem sistemi, gerçek bir polinom köküne gerçek çözümler mi arıyorsunuz? Bu durumda, ilki yaklaşım hatası nedeniyle gerçek bir çözümü özleyebilir ve ikincisi size çözüm olmayan şeyler verebilir.
Ayrıca Matlab'ın vektör sözdizimi kullanarak bir döngü içinde test önleyebilirsiniz:
x = [1, 2, 3+1i, 4+2i, 5+3i, 6, 7, 8+4i, 9+0.000001i]
y = x(imag(x) == 0);
z = real(x(abs(imag(x)) < 0.00001));
y
[1,2,6,7]
olmalı ve z
eşitlik şartı tutan her [1,2,6,7,9]
imag(x) == 0
true
değerlere sahip bir logical
vektörü verir olmalı . x(<logical vector>)
yalnızca öğelerinin bulunduğu <logical vector>
öğesinin true
olduğu yeni bir vektör verir.
- 1. Bir vektördeki pozitif ve negatif sayıların hesaplanması
- 2. MATLAB içindeki bir vektördeki bir dizi indekste öğeleri nasıl çıkarabilirim?
- 3. Matlab - bir vektördeki tüm özel karakterlerin nasıl değiştirileceği?
- 4. karmaşık sayıların pandalar veri çerçevesini excel'e aktarma
- 5. Matlabda nihayet eşdeğer ... deneyin
- 6. Vektördeki belirli değerleri başka bir vektördeki farklı örneklerle değiştirme
- 7. Matlabda sınırlama kutusu koordinat ölçümü
- 8. Matlabda saydam bir piksel yapın
- 9. Bir vektördeki elemanlar nasıl yazdırılır C++
- 10. Matlabda maske olarak görüntü uygulama
- 11. Matlabda çeşitli matrisler nasıl yazılır?
- 12. matlabda spiral meshgrid
- 13. matlab kullanarak bir düzleme bir küre çizme
- 14. Dizgeden vektörlere bir haritadaki bir vektördeki bir dizine nasıl erişilir
- 15. JQuery UI Datepicker - "Bitti" düğmesinin nasıl kaldırılacağı
- 16. C++ içinde Matlab tipi diziler
- 17. jQueryUI sürgü kolu kenarlığın nasıl kaldırılacağı
- 18. Python'da karmaşık sayı kullanımı
- 19. Veri çerçevesindeki sayıların bir listesini nasıl eşleştirebilirim?
- 20. PHP - Bir sayıdaki sayıların uzunluğu
- 21. MATLAB: euler (karmaşık fourier) den dönüştürmek sinüs fonksiyonunun (bn katsayılar)
- 22. Matlabda elle çizilmiş çizgiyi nasıl düzleştirebilirim?
- 23. Bir vektördeki ikinci sonuncu öğenin kodu nedir
- 24. Matlabda jacobi yineleme işlemlerinin sayısı nasıl hesaplanır
- 25. Matlabda dinamik olarak sınıf oluşturma
- 26. Akış sırasında bir HashMap öğesinin nasıl kaldırılacağı (lambda)
- 27. JavaScript: belirli bir dize içeren satırın nasıl kaldırılacağı
- 28. 3D Fourier Matrisi MATLAB
- 29. Matlab
- 30. BOOST_FOREACH kullanırken bir vektördeki son eleman için nasıl test yapabilirim?
[matlab dizisindeki gerçek sayıyı ayıkla] 'nın olası kopyası (http://stackoverflow.com/questions/13859760/extract-real-number-from-array-in-matlab) – Shai