Soru sorİstatistik T tablosu
burakkaya tarafından 6 yıl önce soruldu

Programı çalıştırdığım zaman ekrana T tablosu gelmesini istiyorum. Tabloyu matris olarak düşünürsek iç içe kaç for açmam gerekiyor ? Yani matrisin 1.1 elemanı tinv komutuyla yazdırmam gerektiğinden bu işlemi n,m satır ve sütunlu matris için uygulamamın basit bir yolu var mı ?

11 Cevap
sayginer Yönetici tarafından 6 yıl önce cevaplandı

Merhaba,
Anladığım kadarı ile tinv fonksiyonu sonucu dönen sonuç vektörününün sadece m,n elmanını almak istiyorsunuz. Bunun için şöyle bir şey yapabiliriz:

donenvektor = tinv(0.95,1:4)
donenvektor(1,2) %Donen vektorun 2. elemani
burakkaya tarafından 6 yıl önce cevaplandı

T tablosu

burakkaya tarafından 6 yıl önce cevaplandı

Elde etmem gereken tablo bu. m,n matrisi dersek buna bu tablo için 35,11 lik bir matris olcak. Ve 1,1den 35,11 e kadar tablodaki tüm değerleri yazdırmam gerekiyor. Bunun için sizin söylediğiniz yeterli olur mu ?

sayginer Yönetici tarafından 6 yıl önce cevaplandı

Tablonuz gözükmüyor ancak evet yukarıdaki kod ile istediğiniz satır*sütuna karşılık gelen elementi yazdırabilirsiniz.donenvektor(1,2) kodundaki 1 satır, 2  ise sütun belirtmektedir. Siz eğer 35'e 11lik matrisinizin her bir elementini tek tek ekrana bastırmak istiyorsanız bunu iki for döngüsü ile daha kolay yapabilirsiniz.
Aşağıdaki örneğe bakabilirsiniz:

for m=1:35
for n=1:11
donenvektor(m,n)
end
end
burakkaya tarafından 6 yıl önce cevaplandı

http://brahms.emu.edu.tr/etikan/index_htm_files/t-tablosu.pdf
ben mi yanlış anlattım bilmiyorum ama while komutuda kullanmam gerekecek mi ? tabloda satırdaki serbestlik derecesi bi yerden sonra sonsuza gidiyor. Yada ben mi anlamadım ? :/

sayginer Yönetici tarafından 6 yıl önce cevaplandı

Tam olarak ne yapmak istediğinizi daha açık yazar mısınız?
35'e 11'lik matrisiniz nedir? tinv fonksiyonunun dönütü değil mi?
Siz serbestlik derecenizi de mi değiştiriyorsunuz? Yani tinv(ols,sd) fonsksiyonundaki olasılık ve serbestlik derecesi değişkenlerini değiştirmek istiyor musunuz?
 

burakkaya tarafından 6 yıl önce cevaplandı

şöyle anlatayım. Serbestlik derecelerini satır vektörü olarak, p (olasılık değerlerini) değerlerini sütun vektörü olarak düşünebilir miyiz ? Yani bu tabloda serbestlik dereceleri 1,…..,50,60,….500 ve sonsuz şeklinde 47 adet serbestlik derecesi gözüküyor. P olasılık değerleride 10 adet.  Tabloda gözüken bütün değerleri programı çalıştırdığım zaman (yani tablonun aynısını ) ekranda görmem gerekiyor. Şimdi biraz daha açıklayıcı oldu mu ?

sayginer Yönetici tarafından 6 yıl önce cevaplandı

O zaman sebestlik derecelerini satır vektörü (47 elementten oluşan) ve Olasılık değerlerini sütün vektörü olarak (10 element) yazdıktan sonra aşağıdaki gibi her bir tinv hesaplaması için karşılık gelen değeri çağırmamız gerekiyor.
 


serbestlikVektoru = []; %Satir vektoru olarak yazin
olasilikVektoru = []; %Sutun vektoru olarak yazin

for m=1:length(serbestlikVektoru) %Bu dongumuzu serbestlik vektorunun uzunlugu kadar dondurecegiz
for n=1:length(olasilikVektoru ) %Bu dongumuzu olasilik vektorunun uzunlugu kadar dondurecegiz
Cevap = tinv(serbestlikVektoru(m,1) ,olasilikVektoru(1,n))
end
end
burakkaya tarafından 6 yıl önce cevaplandı

hocam şimdi benim bu yazdığım kod t tablosu sonuçlarını ekrana getiriyor. Fakat ben bunları figure komutu ile bir tablo oluşturarak ekrana getirebilir miyim ? yazı görüntü çıktısı olsun herşey net gözüksün istiyorum. Örneğin tablonun üst kısmında olasılık değerleri,dik sütundada serbestlik dereceleri yazsın istiyorum ve herbir serbestlik derecesinin olasılık hesabı t değeri ilgili kutucukta yazsın istiyorum. bu yapılabilir mi ?
 

clear all;clc;
disp('T tablosunu görmek için lütfen 1e basınız');
f=input('');
if f==1;
sd=[1:1000]';
alf=[0.25 0.2 0.15 0.1 0.05 0.025 0.02 0.01 0.005 0.0025 0.001 0.0005];
for x=1:length(sd);
y=1:length(alf);
a=sd(x,1);
b=alf(1,y);
t=tinv(1-b,a)
end
for x=x+1;
y=alf(1,1);
end
elseif f~=1;
disp('1 harici bir tuşa bastınız. Lütfen size söylenileni yapınız.');
end
hakkans Yönetici tarafından 6 yıl önce cevaplandı

Matlab'da uitable fonksiyonu ile tablonuzu çizdirebilirsiniz, ama istediğiniz T-tablosu formatına uygun olur mu emin olamadım. Aşağıdaki linkteki tablolar isteğinizi karşılıyorsa, bu komut nasıl yazılır konusunda yardımcı olabiliriz.
https://www.mathworks.com/help/matlab/ref/uitable.html

muhendisleksi tarafından 6 yıl önce cevaplandı
% MATEMATIK MODEL TESTI
 alf = 0.95 ; % GUVEN ARALIGI
 T = f*(mo^2/so^2);
 q = chi2inv(alf,f);
 for i = 1:n1
 T_UYSM(i,1) = [abs(V(i,1))/(mo*sqrt(Qvv(i,i)))];
 end
 q_UYSM = tinv(alf,f);
 end

burada;
f: serbestlik derecesi
mo: önsel varyans
so: sonsanl varyans
V: düzeltme vektörü
Qvv: düzeltmelerin ortalama hatası

T,Q ve V testleri hepsi gösterilmiştir.