clc clear close all n=input(' Kaç Adet Aktiviteniz Mevcut : '); prompt={ 'Aktivite No :', ... 'Aktivite İsmi :', ... 'Varsa Öncüleri :', ... 'Normal Bitiş Zamanı :', ... 'Hızlandırılmış Bitiş Zamanı :', ... 'Normal Süre Maliyeti :', ... '1. Hızlandırma Maliyeti :', ... '2. Hızlandırma Maliyeti :', ... '3. Hızlandırma Maliyeti :',}; title='Aktivite Bilgileri'; for i=1:n answer=inputdlg(prompt,title); anst=(answer'),n; end tablo=[prompt;anst]; disp('Teşekkürler');
Merhaba yukarıdaki gibi bir inputdlg ile veri toplamaya çalışıyorum. 1 adet aktivite giridiğimde sorun olmuyor tablom istediğim gibi oluşuyor fakat 1 den fazla aktivite girdiğimde son girdiğim değerler tabloda kalıyor tablom bir türlü istediğim şekle gelmiyor. Yardımcı olursanız sevinirim.
Merhaba,
Aşağıdaki düzenlememi inceleyebilirsiniz. Final tablonun sütün,satır dizilimini istediğinize göre düzenlemeniz gerekebilir.
clc clear close all n=input(' Kaç Adet Aktiviteniz Mevcut : '); prompt={ 'Aktivite No :', ... 'Aktivite İsmi :', ... 'Varsa Öncüleri :', ... 'Normal Bitiş Zamanı :', ... 'Hızlandırılmış Bitiş Zamanı :', ... 'Normal Süre Maliyeti :', ... '1. Hızlandırma Maliyeti :', ... '2. Hızlandırma Maliyeti :', ... '3. Hızlandırma Maliyeti :',}; title='Aktivite Bilgileri'; for i=1:n answer=inputdlg(prompt,title); anst=(answer'),n; tablo(i,:)=[prompt anst]; end disp('Teşekkürler');
Hocam merhaba. Çok teşekkür ederim. İstediğim gibi tablomu oluşturabildim. Fakat şimdide şöyle bir sorun oldu. Ben bu tabloda bir takım hesaplamalar yapacağım. Bazı değerleri çıkartma bölme toplama gibi. Bazı sütunlarda İsim yazarken bazılarında sayı olmalı. Hatta bir sütumda "Varsa Öncüleri:" sütunu bağlı olduğu aktiviteleri çekmem gerekecek. Sanırım o sutün için matris kullanmam gerek. Yani sütünün biri karakter biri sayı biri matris gibi olmalı. Acaba bunu nasıl yapabilirim. Resimde anlatmaya çalıştım.
Şimdiden teşekkürler.
clc clear close all row = input('Kaç Adet Aktivite Mevcut? :'); col = 9; %Tablo İsimleri colNames = { 'Aktivie No :', ... 'Aktivite İsmi :', ... 'Varsa Öncüleri :', ... 'Normal Bitiş Zamanı :', ... 'Hızlandırılmış Bitiş Zamanı :', ... 'Normal Süre Maliyeti :', ... '1. Hızlandırma Maliyeti :', ... '2. Hızlandırma Maliyeti :', ... '3. Hızlandırma Maliyeti :'}; prompt={ 'Aktivite İsmi :', ... 'Varsa Öncüleri :', ... 'Normal Bitiş Zamanı :', ... 'Hızlandırılmış Bitiş Zamanı :', ... 'Normal Süre Maliyeti :', ... '1. Hızlandırma Maliyeti :', ... '2. Hızlandırma Maliyeti :', ... '3. Hızlandırma Maliyeti :',}; title='Aktivite Bilgileri'; for i=1:row answer=inputdlg(prompt,title); anst=(answer');row; t(i,:)=[i anst]; end T=array2table(t,"VariableNames",colNames) disp('Teşekkürler');
Son hali bu şekilde yazdığım kodun.
Merhaba,
Tablonuzun istediginiz kısımlarını aşağıdaki gibi yeni matrislere dönüştürebilirsiniz.
x = T{:,2} % burada tablonun 2. sutununu x değişkenine atamış olduk
Eksik kısım varsa yazabilirsiniz
Merhaba hocam,
Değişken atama olarak değil de daha çok şunu yapabilir miyim acaba:
2.Sutun aktivite ismi kısmı string olsun
3.Sutun Varsa öncüleri matris olsun.(çünkü burada aktiviteleri burada yazan aktivite no ya göre bağlamam gerek. Matris olursa sanırım matris üzerinden işlemler yaptırarak sorunu çözerim diye düşünüyorum)
4.Sutun ve sonra ise double veya integer olması lazım ki işlemleri yapabileyim.
Yani ilk aşamada bunu bu şekilde de ayarlayabiliriz veya oluşan tablo sutunlarını sonradan bir kod ile de dönüştürebiliriz fark etmez. Ama yapabilme imkanı olursa çok sevirinirim.
Şimdiden teşekkürler.
clc
clear
close all
row = input('Kaç Adet Aktivite Mevcut? :');
col = 7;
%Tablo İsimleri
colNames = { 'Aktivie No :', …
'Aktivite İsmi :', …
'Varsa Öncüleri :', …
'Normal Bitiş Zamanı :', …
'Hızlandırılmış Bitiş Zamanı :', …
'Normal Süre Maliyeti :', …
'Hızlandırma Maliyetileri :'};
prompt={ 'Aktivite İsmi :', …
'Varsa Öncüleri :', …
'Normal Bitiş Zamanı :', …
'Hızlandırılmış Bitiş Zamanı :', …
'Normal Süre Maliyeti :', …
'Hızlandırma Maliyetleri :',};
title='Aktivite Bilgileri';
for i=1:row
answer=inputdlg(prompt,title);
anst=(answer');row;
t(i,:)=[i anst];
end
T=array2table(t,"VariableNames",colNames)
T.("Varsa Öncüleri :") = cell2mat(T.("Varsa Öncüleri :"));
T.(3) = str2num(T.(3));
T.(4) = str2double(T.(4));
T.(5) = str2double(T.(5));
T.(6) = str2double(T.(6));
T.("Hızlandırma Maliyetileri :") = cell2mat(T.("Hızlandırma Maliyetileri :"));
T.(7) = str2num(T.(7));
disp('Teşekkürler');
Merhaba,
En son kodu bu hale getirdim. Fakat sadece Varsa Öncüleri ve Hızlandırma Maliyetleri kısmında sıkıntı yaşamaktayım.
Buraya girdileri boşuk yazarak sağlıyorum. Mesela 2 5 6 10 gibi. Eğer aynı değerleri girersem sıkıntı olmadan hücre içine matris olarak girdi giriyor. Ama eğer farklı boyut ve değerler girersem hata veriyor. Nasıl çözmem gerek acaba.
Şimdiden teşekkürler.