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)

 采纳的回答

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.

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by