f.sci
.
On utilise ensuite la commande getf("f.sci")
. Cela permet de définir une fonction
qui à deux matrices carrées de même taille
et
, associe
telle que
:
C=max(A,B)
function C=f(A,B)
C=B;
bool=A>B;
C(bool)=A(bool);
endfunction
n=size(A); for i=1:n(1), for j=1:n(2), C(i,j)=max(A(i,j),B(i,j)); end; end;
function C=f(A,B)
C=max(A,B);
endfunction
function f(A,B)
C=max(B,A);
endfunction
deff("y=f(x)","y=x*log(x)"); x=linspace(1,10,100); f(x)
deff("y=f(x)","y=x.*log(x)"); x=linspace(1,10,100); f(x)-x
deff("y=f(x)","y=x.*log(x)"); x=linspace(1,10,100); fplot2d(x,f);
deff("y=f(x)","y=x.*log(x)"); x=linspace(1,10,100); plot2d(x,f(x));
deff("y=f(x)","y=x.*log(x)"); x=linspace(0,10,100); f(x)
f.sci
.
On utilise ensuite la commande getf("f.sci")
. Cela permet de définir une fonction qui prend en entrée une matrice
et retourne en sortie une matrice
de mêmes dimensions telle que
si est impair et sinon.
function B=f(A)
B=kron(A,[0;1]);
endfunction
function B=f(A)
for i=2:n,
B(:,i)=0;
end;
endfunction
function B=f(A)
B=A; n=size(A,"c");
for i=2:2:n,
B(:,i)=0;
end;
endfunction
function B=f(A)
B=A; n=size(A,"c");
indices = find( (-1)^[1:n]==1 );
B(:,indices)=0;
endfunction
function B=f(A)
C=ones(size(A,"r"),1)*( (-1)^[1:size(A,"c")] );
B=(A+A*C)/2;
endfunction
plus
qui retourne la somme de deux matrices :
f.sci
les lignes
function C=f(A,B)
C=A+B;
endfunction
getf("f.sci")
f.sci
les lignes
function C=plus(A,B)
C=A+B;
endfunction
getf("f.sci")
f.sci
les lignes
function plus(A,B)
C=A+B;
endfunction
getf("f.sci")
f.sci
les lignes
function C=plus(A,B)
for i=1:n, for j=1:n, C(i,j)=A(i,j)+B(i,j); end; end;
endfunction
getf("f.sci")
f.sce
la ligne
deff("C=plus(A,B)","C=A+B")
exec("f.sce")
plotframe([0,0,3,3],[2,10,2,10]);
suivie de la ligne de commande proposée affiche un triangle rouge:
x=[1,2,1,1]; y=[1,1,2,1]; plot2d(x,y,5,"000")
x=[1,2,1]; y=[1,1,2]; plot2d(x,y,5,"000")
x=[1,2,1]; y=[1,1,2]; plot2d([x,1],[y,1],5,"000")
x=[1,2;1]; y=[1,1;2]; plot2d(x,[y,1],5,"000")
x=[1,2,1]; y=[1,1,2]; plot2d([x,1,2],[y,1,2],5,"000")
x=linspace(-%pi,%pi,200)'; y=sin(x);
suivie de la ligne de commande
proposée affiche sur le même graphique la fonction en trait continu noir et son approximation
de Taylor en 0 à l'ordre 3 en trait continu rouge:
t3=x-x.^3/6; plot2d([x,x],[y,t3],[1,5]);
plot2d(x,y,-1); t3=x-x.^3/6; plot2d(x,t3,5);
plot2d(x,y,1); deff("y=f(x)","y=x-(x.*x.*x)/6"); fplot2d(x,f,5,"000");
plot2d(x,y); deff("y=f(x)","y=x-(x*x*x)/6"); t3=f(x); plot2d(x,t3,5);
plot2d(x,y); deff("y=f(x)","y=x-(x.*x.*x)/6"); fplot2d(x,f);
integrate("log(x)","x",1,3)
t=[1,3]; inttrap(t,log(t))
t=[1:0.001:3]; inttrap(t,log(t))
t=[1:0.001:3]; sum(log(t))
t=[1:0.001:3]; sum(log(t)/0.001)
v=[0,0,0,2,2,2]
:
v=[%f,%f,%f,%t,%t,%t]; v=2*bool2s(v)
v=[zeros(3,1);2*ones(3,1)]
v=[0,0,0;2,2,2]
v=2*[zeros(1,3),ones(1,3)]'
A=[zeros(3,3),2*ones(3,3);4*ones(3,6)];v=A(1,:)
v=[1:9]; A=diag(v)
v=[1:9]; A=[zeros(9,1),diag(v);zeros(1,10)]
A=zeros(10,10); for i=1:9, A(i,i+1)=i; end; A
for i=1:9, for j=1:9, if j==i+1 then, A(i,j)=i; else A(i,j)=0 end; end; A
A=toeplitz(zeros(10,1),[0,1,zeros(1,8)])
A=[1:3;3:-1:1;0:2]
et v=[2;1;0]
:
v'*A*v
est un réel.
v.*v'
est une matrice à trois lignes et trois colonnes.
v(3:-1:1)'==A(3,:)
donne [T T T]
v(3:-1:1)==A(:,3)'
donne [T T T]
B=A'; B(:,3)==v
donne [T T T]