creating matrix with the same size for different variables

hello
i want to creat N number of matrix 2x2 from different variabless then plottting the elemnt (2,1)./(1,1) using for loop but it i always get the last matrix only which overwrite all the previous ones.
who can help me please ?
x=linspace(eps,pi/2,200)
D11=1+sin(x)-cos(x);
D12=1-sin(x)-cos(x);
D21=1-sin(x)+cos(x);
D22=1+sin(x)+cos(x);
for i=1:numel(x)
D=0.5.*[D11(1,i) D12(1,i) ; D21(1,i) D22(1,i)];
end
plot(D(2,1)./D(1,1),x)

 Réponse acceptée

Try this:
x=linspace(eps,pi/2,200);
D11=1+sin(x)-cos(x);
D12=1-sin(x)-cos(x);
D21=1-sin(x)+cos(x);
D22=1+sin(x)+cos(x);
for i=1:numel(x)
D(:,:,i) = 0.5.*[D11(1,i) D12(1,i) ; D21(1,i) D22(1,i)];
end
figure
semilogy(x, squeeze(D(2,1,:)./D(1,1,:)))
grid
Experiment to get the result you want.

Plus de réponses (1)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by