Yrityksistä huolimatta en ole löytänyt menetelmää tehdä mitä haluaisin. Uskon kuitenkin että Matlabilla olisi mahdollista tehdä tällainen operaatio.
Minulla on siis dataa:
N=[ 75720.000; % 75311 80508.877; % 80231 80015.000; % 80322 82474.806; % 82322 E=[ 31830.000; % 75311 23102.566; % 80231 32982.000; % 80322 32060.167; % 82322
Ja minä haluaisin sijoittaa rivi kerrallaan luvut seuraavaan yhtälöön:
A=[ a,b*N,c*E,d*N^2,e*N*E,f*E^2; a,b*N,c*E,d*N^2,e*N*E,f*E^2; a,b*N,c*E,d*N^2,e*N*E,f*E^2; a,b*N,c*E,d*N^2,e*N*E,f*E^2;]
Lyhyesti, kyseessä on siis sama yhtälö joka toistuu joka rivillä. Että mites tällainen tehdään Matlabissa?
Jos ymmärsin oikein, niin haluat N-vektorin ensimmäisen alkion yhtälömatriisissa esiintyvän N:n tilalle ensimmäisellä rivillä toisen alkion toisella rivillä jne. ja vastaavasti E:n suhteen? Eli lopputulokseksi toivot esimerkkitapauksessasi 4x5-kokoista matriisia? Ja ilmeisesti muuttujat a, b, c, d, e, f ovat skalaareita?
Jos nuo oletukset pitävät paikkaansa, niin tällöin homma pitäisi toimia seuraavasti:
A = [a*ones(size(N)), b*N, c*E, d*N.^2, e*N.*E, f*E.^2];
Tuossa siis jokainen A:n sarake asetetaan erikseen vierekkäin (pilkulla asiat saa vierekkäin, puolipisteellä allekkain). Ensimmäinen sarake on a*1 eli vakio a:ta täynnä. Tuossa ones(size(N)) tekee N:n kokoisen matriisin (tai tässä tapauksessa sarakevektorin) ykkösiä. Operaattoreissa (potenssiin korotus ja kertolasku) piste operaattorin edessä kertoo sen, että operaatio suoritetaan (keskenään saman kokoisille) matriiseille alkioittain.
Jos kuitenkin tavoitteesi oli toistaa täsmälleen samaa riviä matriisissa useamman kerran (samoilla muuttujan arvoilla), niin tällöin kannattaa tutustua esimerkiksi komentoon repmat.
Edit: korjattu pari typoa
Aihe on jo aika vanha, joten et voi enää vastata siihen.