Odpovedať 
 
Hodnotenie témy:
  • 0 Hlasov - 0 Priemer
  • 1
  • 2
  • 3
  • 4
  • 5
Rozsirovanie matic
01-20-2013, 14:02
Príspevok: #1
Rozsirovanie matic
Zdravím. Potreboval by som poradiť, mám zdroják:
Kód:
for i=1:c
    j=1:4:(a-3);
    h=4:4:a;
            nor_3HL(j(1):h(1),j(i):h(i))=data(1,i);
            nor_3HL(j(2):h(2),j(i):h(i))=data(2,i);
            nor_3HL(j(3):h(3),j(i):h(i))=data(3,i);
            nor_3HL(j(4):h(4),j(i):h(i))=data(4,i);
            nor_3HL(j(5):h(5),j(i):h(i))=data(5,i);
            nor_3HL(j(6):h(6),j(i):h(i))=data(6,i);
            nor_3HL(j(7):h(7),j(i):h(i))=data(7,i);
            nor_3HL(j(8):h(8),j(i):h(i))=data(8,i);
            nor_3HL(j(9):h(9),j(i):h(i))=data(9,i);
            nor_3HL(j(10):h(10),j(i):h(i))=data(10,i);
            nor_3HL(j(11):h(11),j(i):h(i))=data(11,i);
            nor_3HL(j(12):h(12),j(i):h(i))=data(12,i);
            nor_3HL(j(13):h(13),j(i):h(i))=data(13,i);
            nor_3HL(j(14):h(14),j(i):h(i))=data(14,i);
            nor_3HL(j(15):h(15),j(i):h(i))=data(15,i);
            nor_3HL(j(16):h(16),j(i):h(i))=data(16,i);
            nor_3HL(j(17):h(17),j(i):h(i))=data(17,i);
            nor_3HL(j(18):h(18),j(i):h(i))=data(18,i);
            nor_3HL(j(19):h(19),j(i):h(i))=data(19,i);
            nor_3HL(j(20):h(20),j(i):h(i))=data(20,i);
            nor_3HL(j(21):h(21),j(i):h(i))=data(21,i);
            nor_3HL(j(22):h(22),j(i):h(i))=data(22,i);
            nor_3HL(j(23):h(23),j(i):h(i))=data(23,i);
            nor_3HL(j(24):h(24),j(i):h(i))=data(24,i);
            nor_3HL(j(25):h(25),j(i):h(i))=data(25,i);
            nor_3HL(j(26):h(26),j(i):h(i))=data(26,i);
            nor_3HL(j(27):h(27),j(i):h(i))=data(27,i);
            nor_3HL(j(28):h(28),j(i):h(i))=data(28,i);
            nor_3HL(j(29):h(29),j(i):h(i))=data(29,i);
            nor_3HL(j(30):h(30),j(i):h(i))=data(30,i);
            nor_3HL(j(31):h(31),j(i):h(i))=data(31,i);
            nor_3HL(j(32):h(32),j(i):h(i))=data(32,i);
            nor_3HL(j(33):h(33),j(i):h(i))=data(33,i);
            nor_3HL(j(34):h(34),j(i):h(i))=data(34,i);
            nor_3HL(j(35):h(35),j(i):h(i))=data(35,i);
            nor_3HL(j(36):h(36),j(i):h(i))=data(36,i);
            nor_3HL(j(37):h(37),j(i):h(i))=data(37,i);
            nor_3HL(j(38):h(38),j(i):h(i))=data(38,i);
            nor_3HL(j(39):h(39),j(i):h(i))=data(39,i);
            nor_3HL(j(40):h(40),j(i):h(i))=data(40,i);
            nor_3HL(j(41):h(41),j(i):h(i))=data(41,i);
            nor_3HL(j(42):h(42),j(i):h(i))=data(42,i);
            nor_3HL(j(43):h(43),j(i):h(i))=data(43,i);
            nor_3HL(j(44):h(44),j(i):h(i))=data(44,i);
            nor_3HL(j(45):h(45),j(i):h(i))=data(45,i);
            nor_3HL(j(46):h(46),j(i):h(i))=data(46,i);
            nor_3HL(j(47):h(47),j(i):h(i))=data(47,i);
            nor_3HL(j(48):h(48),j(i):h(i))=data(48,i);
            nor_3HL(j(49):h(49),j(i):h(i))=data(49,i);
            nor_3HL(j(50):h(50),j(i):h(i))=data(50,i);
            nor_3HL(j(51):h(51),j(i):h(i))=data(51,i);
            nor_3HL(j(52):h(52),j(i):h(i))=data(52,i);
            nor_3HL(j(53):h(53),j(i):h(i))=data(53,i);
            nor_3HL(j(54):h(54),j(i):h(i))=data(54,i);
            nor_3HL(j(55):h(55),j(i):h(i))=data(55,i);
            nor_3HL(j(56):h(56),j(i):h(i))=data(56,i);
            nor_3HL(j(57):h(57),j(i):h(i))=data(57,i);
            nor_3HL(j(58):h(58),j(i):h(i))=data(58,i);
            nor_3HL(j(59):h(59),j(i):h(i))=data(59,i);
            nor_3HL(j(60):h(60),j(i):h(i))=data(60,i);
            nor_3HL(j(61):h(61),j(i):h(i))=data(61,i);
            nor_3HL(j(62):h(62),j(i):h(i))=data(62,i);
            nor_3HL(j(63):h(63),j(i):h(i))=data(63,i);
            nor_3HL(j(64):h(64),j(i):h(i))=data(64,i);
            
end
Kde nor_3HL je nulova matica o rozmere 256X256 ,čiže aXa a druhú maticu data o rozmere data: 64x64 - cXc ,potrebujem urobit rozšírenie matice data tak aby mala rozmer 256x256 , čiže každý prvok z data sa bude nachádzať v nor_3HL 4x4 krát. Ono mi ten program funguje,avšak ja potrebujem aby to bolo univerzálne, aby mi to rozširovalo maticu akého koľvek rozmeru, napr ak bude matica nor_3HL 512x512 tak data bude mať rozmer 128x128 a potrebujem aby mi to pracovalo bez potreby rozširovania zdrojového kódu, čiže aby som nemusel rozširovať o
Kód:
nor_3HL(j(65):h(65),j(i):h(i))=data(65,i);
nor_3HL(j(66):h(66),j(i):h(i))=data(66,i); ...atď až po 128 .
Bol by som veľmi vďačný za akúkoľvek pomoc.
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-20-2013, 21:06
Príspevok: #2
RE: Rozsirovanie matic
Ahoj Patric

Ak som dobre pochopil tak skus toto...
Kód:
A = rand(3,3);
nasobok = 4;

[il,jl] = size(A);
B = zeros(il*nasobok,jl*nasobok);
for i=1:il
   for j=1:il
       B((i-1)*nasobok+1:i*nasobok,(j-1)*nasobok+1:j*nasobok) = A(i,j);
   end
end

Ak som pochopil zle tak skus toto
Kód:
repmat,cat...

Ak ani jedno tak sorry...

Duro
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-20-2013, 22:41 (Tento príspevok bol naposledy zmenený: 01-20-2013 22:42 od patrick90.)
Príspevok: #3
RE: Rozsirovanie matic
Ten script co si napisal hore som upravil tak aby mi ako A bralo tu moju maticu data a všetko ide ako má. Diky pekne, velmi si mi pomohol.
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
Odpovedať 


Skok na fórum:




Kontakty | matlab.sk | Nahor | Na obsah | Odľahčený (archivačný) mód | RSS