Arkadaşlar merhaba;
Ben ayıklama sonucundan aldığım veriyle 'karşılaştırmak istediğiniz sayıyı giriniz' bölümüne yazdığım sayıdan 'kaç tane büyük sayı var ? 'karşılaştırıp karşılaştırma sonucuna yazdırmak istiyorum. Fakat ne yaptıysam karşılaştırma yapamadım. Yardımcı olabilir misiniz?
Merhaba,
Ne yaptığınızı, kodunuzun ilgili kısmını veya hatanızı paylaşırsanız daha rahat sonuca ulaşabiliriz.
Aslında bunu kendi uygulamam uyarlamaya çalışmıştım fakat uyarlayamadım. Bunu da Sayginer beyin bir başka soruya verdiği cevaptan almıştım.
A=[1 2 3 2; 6 3 4 -5; 7 8 2 3] %3e 4luk bir matris olusturalim % Buradaki sayaclari degerleri ayirmak icin kullaniyoruz EksiSayaci = 1; ArtiSayaci = 1; for i=1:3 %Satırlarda dolasmak için i indisi for j =1:4 %Sutunlarda dolasmak için j indisi if A(i,j) < 0; %Ornegin bir eleman negatifse Eksi elemanlar matrisine yaziyoruz EksiElemanlar(EksiSayaci) = A(i,j); EksiSayaci = EksiSayaci+1; %Eksi sayaci ilk 1 ile basliyor yani ust satirdaki eksi elemanlar vektorunun birinci kutusuna yaziyor %gelecek sefer ikinci jutuya yazmasi icin 1 arttiriyoruz. else ArtiElemanlar(ArtiSayaci) = A(i,j); ArtiSayaci = ArtiSayaci+1; end end end ArtiElemanlar EksiElemanlar
Öncelikle bahsettiğiniz kod parçası çalışıyor. Verilen A matrisindeki pozitif ve negatif sayıları ayırabiliyor.
Ardından aşağıda belirttiğim kod parçasında karşılaştırma için bir değer verdikten sonra artısayılar içinde kendisinden büyük olanları bulabilirsiniz. Bunu daha sonra kullanıcıdan veri alarak, isterseniz pozitif ve negatif sayıları Satır matrisi haline getirip hepsinin içinde veya ayrı ayrı pozitif negatif içinde kontrol edebilirsiniz. Yapmak istediğiniz kod çalışmasına göre güncellenebilir.
karsilastirma = 3; sayac = 1; for i = 1:length(ArtiElemanlar) if karsilastirma < ArtiElemanlar(i) Sonuclar(sayac) = ArtiElemanlar(i); sayac = sayac+1; end end
Öncelikle teşekkürler.Sizin attığınız kodu uyarlamaya çalıştığımda da hata veriyor . Set kısmına geldiğimde söz dizimi ve ayrıştırma hatası alıyorum.
A = get(handles.karsilastirmasayisi,'string'); B = str2double (A); karsilastirma = B ; sayac = 1; for i = 1:length(X9) if karsilastirma < X9(i) B(sayac) = X9(i); sayac = sayac+1; end end set = (handles.karsilastirmasonucu,'double',num2str(B)); % X6 = get(handles.ayiklamasonucu,'string'); % X7 = strsplit(X6 , ' '); % X8 = string (X7); % X9 = str2double(X8);
Öncelikle teşekkürler.Sizin attığınız kodu uyarlamaya çalıştığımda da hata veriyor . Set kısmına geldiğimde söz dizimi ve ayrıştırma hatası alıyorum.
A = get(handles.karsilastirmasayisi,'string'); B = str2double (A); karsilastirma = B ; sayac = 1; for i = 1:length(X9) if karsilastirma < X9(i) B(sayac) = X9(i); sayac = sayac+1; end end set = (handles.karsilastirmasonucu,'double',num2str(B)); % X6 = get(handles.ayiklamasonucu,'string'); % X7 = strsplit(X6 , ' '); % X8 = string (X7); % X9 = str2double(X8);
Merhaba,
Aldığınız hatayı paylaşma şansınız var mı ?
Set kısmına kadar hata yok olduğunu aslında bir messagebox ile de test etmenizi tavsiye edebilirim.
Büyük ihtimalle ayiklamasonucu kısmı sizin edit text kısmınız. Aşağıdaki gibi deneyebilir misiniz ?
yazi = sprintf('Yazi Kısmı Burasıdır. Elde Edilen Sonuç Değeri ise = %0.4f', deger); set(handles.edit1, 'String', yazi);
Rica Ederim, Çözüme ulaşamadıysanız tekrar sorunuzu iletebilirsiniz farklı bir durum varsa da. İyi Çalışmalar
Sizin attığınız kodlarda çalışıyor ayrıca bana çok yardımcı oldu teşekkür ediyorum. Ben dokümanlarımı karıştırırken find hazır komutunu gördüm ve onu kullandım. Tekrardan teşekkür ediyorum.