[Scilab-users] Building a f(P, T) matrix from P and T line vectors
Adrien Vogt-Schilb
vogt at centre-cired.fr
Thu Dec 19 15:17:54 CET 2013
Same thing without formating:
function y = map_fun(P,T,f)
sP = size(P, "c")
sT = size(T, "c")
P_= P'*ones(1, sT)
T_ = ones(sP, 1)*T
y = f(P_,T_)
endfunction
function y=somme(a,b)
y=a+b
endfunction
function y=power(a,b)
y=a.^b
endfunction
P = linspace(3,30,7)
T = linspace(0,15,7)
map_fun(P,T,somme)
-->["+" string(P); string(T') string(map_fun(P,T,somme))]
ans =
!+ 3 7.5 12 16.5 21 25.5 30 !
! !
!0 3 5.5 8 10.5 13 15.5 18 !
! !
!2.5 7.5 10 12.5 15 17.5 20 22.5 !
! !
!5 12 14.5 17 19.5 22 24.5 27 !
! !
!7.5 16.5 19 21.5 24 26.5 29 31.5 !
! !
!10 21 23.5 26 28.5 31 33.5 36 !
! !
!12.5 25.5 28 30.5 33 35.5 38 40.5 !
! !
!15 30 32.5 35 37.5 40 42.5 45 !
-->["^" string(P); string(T') string(map_fun(P,T,power))]
ans =
!^ 3 7.5 12 16.5 21 25.5 30 !
! !
!0 1 15.588457 243 3787.9951 59049 920482.81 14348907 !
! !
!2.5 1 154.04697 23730.469 3655606.8 5.631D+08 8.675D+10 1.336D+13 !
! !
!5 1 498.83063 248832 1.241D+08 6.192D+10 3.089D+13 1.541D+16 !
! !
!7.5 1 1105.8847 1222981 1.352D+09 1.496D+12 1.654D+15 1.829D+18 !
! !
!10 1 2020.9159 4084101 8.254D+09 1.668D+13 3.371D+16 6.812D+19 !
! !
!12.5 1 3283.6015 10782039 3.540D+10 1.163D+14 3.817D+17 1.253D+21 !
! !
!15 1 4929.503 24300000 1.198D+11 5.905D+14 2.911D+18 1.435D+22 !
CheerS again
Adrien
More information about the users
mailing list