Hi there,
I have a code which looks like this:
MATLAB code
vN=linspace(Phimin, Phimax, N);
for iN=1:length(vN)
Phi=vN(iN);
G(iN)=Phi + BOC;
C2(iN)=Rcon ./ ((Ccon .* cos(G(iN))) + (Scon .* sin(G(iN))));
C1(iN)=Rmax^2 + (C2(iN) .* cos(G(iN) + Thetamax));
A(iN)= (sqrt(abs(C1(iN)+C2(iN))) + sqrt(abs(C1(iN)-C2(iN))))./2;
B(iN)=C2(iN) ./ (2.*A(iN));
Fmax=0;
vP=linspace(Thetamin, Thetamax, P);
for iP= 1:length(vP)
Theta=vP(iP);
R(iP)= sqrt(C1(iN) - (C2(iN) .* cos(G(iN) + Theta)));
F(iN,iP)= abs(((R(iP).*(M*g*L)) .*cos(Theta)) /((A(iN).*B(iN)) .* sin(G(iN)+Theta)));
end
end
It allows me to determine variable F depending on value for variables phi and Theta, which are both matrices containing N and P terms respectively.
I would now like to determine what the maximum values of F are for a certain value of Phi-for example, if Phi=..., Theta=matrix of P terms, F=matrix of P terms, of which the maximum value is ...
I'd also like to store these values in a separate matrix, such as Fmax. With my code above, does anybodu have any advice as to go about doing this?

3 commentaires

Jan
Jan le 7 Oct 2011
Please use standard code formatting. Follow the "Markup help" link to learn more about formatting.
Nathan Edge
Nathan Edge le 7 Oct 2011
Hi,
Is that any better? Sorry about the confusion
Jan
Jan le 7 Oct 2011
This a little bit better, but not proper. Simply insert an empty line before the code block and two spaces before the code lines.

Connectez-vous pour commenter.

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 7 Oct 2011

0 votes

Phi = vN;
Theta = vP;
[vmx1,idx1] = max(F);
Fmaxphi = [vmx1;Phi(idx1);Theta];
[vmx2,idx2] = max(F,[],2);
Fmaxtheta = [vmx2,Phi,Theta(idx2)]';

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by