I want to make a 2x2 matrix from 4 variables that are dependent on a value(e) that goes from 0 to 30 at intervals of 0.1?

3 Ansichten (letzte 30 Tage)

So I have code with 4 variables that are dependant on a variable e that goes from 0 to 30 at intervals of 0.1. Now i want to make a 2x2 matrix of the 4 variable at every interval of e how do i code that?

e=0:0.1:30;

for i=1:length(e)

    m=9.1*10^-31;
    h=(6.63*10^-34)/(2*pi);
    v=(15*(1.6*10^-19));
    a=1*10^-10;
    b=2*10^-10;
    %igam=sqrt(-1)*sqrt((2*m/h)*((v-(e.*1.6*10^-19))));
    %qalt=sqrt((2*m/h)*((e.*(1.6*10^-19))-v));
    k=sqrt((2*m*(e.*(1.6*10^-19)))/h^2);
    E=e(i);
    if i<=150
        q(i)=sqrt(-1)*sqrt((2*m/h)*((v-(E.*1.6*10^-19))))
    else
        q(i)=sqrt((2*m/h)*((E.*(1.6*10^-19))-v));
    end

end

A11=((k+q)/(2*k))*exp(sqrt(-1)*q*a);

A12=((k-q)/(2*k))*exp(-sqrt(-1)*q*a);

A21=((k-q)/(2*k))*exp(sqrt(-1)*q*a);

A22=((k+q)/(2*k))*exp(-sqrt(-1)*q*a);

B11=((q+k)/(2*q))*exp(sqrt(-1)*k*b);

B12=((q-k)/(2*q))*exp(-sqrt(-1)*k*b);

B21=((q-k)/(2*q))*exp(sqrt(-1)*k*b);

B22=((q+k)/(2*q))*exp(-sqrt(-1)*k*b); % M1= [A11 A12]

M1=[A11 A12 ; A21 A22];

M2=[B11 B12; B21 B22];

This is my code so far. I want M1 and M2 to be 2x2 matrices of the variables i calculated, but I am creating just a single matrix for m1 and m2 that is 2x602

Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by