matlab中怎么找出E取极大值和取极大值时相应的f值

L=0.60;%弦长L
F=9.8;%外力F
P=0.00055;%弦密度
f=1.00;%频率
b=(f)^-1*(F/P)^0.5;%波长
A=6;w=2pi/b;k=2pi*f;
x=0:0.01:L;
t=0:500;

for f=50:0.01:58
for t=0:500
b=(f)^-1*(F/P)^0.5;%波长
A=6;w=2pi/b;k=2pif;
x=0:0.01:L;
E_1=A
cos(wt+kx);
E_2=Acos(wt-kx-4L*pi/b-pi);
E=E_1+E_2;
end
N=max(E);
end
N=max(E);
f;

有用请采纳!谢谢!

clear all
clc

L=0.60;%弦长L
F=9.8;%外力F
P=0.00055;%弦密度
f=1.00;%频率
b=(f)^-1*(F/P)^0.5;%波长
A=6;w=2*pi/b;k=2*pi*f;
x=0:0.01:L;
t=0:500;

max_f = 50;
max_E = 0;
E=[];
for f=50:0.01:58
    for t=0:500
        b=(f)^-1*(F/P)^0.5;%波长
        A=6;w=2*pi/b;k=2*pi*f;
        x=0:0.01:L;
        E_1=A*cos(w*t+k*x);
        E_2=A*cos(w*t-k*x-4*L*pi/b-pi);
        temp=E_1+E_2;
        if(max(temp)>max_E)
            E=temp;
            max_E=max(temp);
            max_f = f;
        end
    end
    
end
max_f