Hi all, I would like to be able to plot this function in MATLAB [itex] \mathcal{V} (\phi_{1}, \phi_{2}) = m^2(\phi_{1}^2 + \phi_{2}^2) + \lambda( \phi_{1}^2 + \phi_{2}^2)^2[/itex] Where [itex] \phi_{1,2} , m^2 , \lambda \in \mathbb{R} [/itex] and [itex] \lambda > 0 [/itex] I am aware that the cases [itex] m^2 > 0 [/itex] and [itex] m^2 < 0 [/itex] yield two different plots. I encountered this while doing some reading on QFT, this potential was used in a Lagrangian density while trying to demonstrate spontaneous U(1) symmetry breaking. I would really like to be able to plot this in MATLAB but unfortunately I have minimal previous experience with it. Would anybody here be able to help me please? Thanks Max
Hello Maxtor, I believe the surf() function in matlab to be suited for your purposes. After defining [itex] \phi_1, \phi_2, V [/itex] in MATLAB you would use it in this way: surf(phi_1, phi_2, V). Information and examples are available here: http://www.mathworks.de/de/help/matlab/ref/surf.html All the best, Yuu
Thank you for your reply! phi1 = [-20:0.5:20]; phi2 = [-20:0.5:20]; lam = 1; m = 1; V = (m^2)*(phi1.^2 + phi2^2) + lam*(phi1.^2 + phi2.^2).^2 ; surf(phi1, phi2, V) I tried this but I get the following error: Error using ^ Inputs must be a scalar and a square matrix. To compute elementwise POWER, use POWER (.^) instead. Error in p1a (line 6) V = (m^2)*(phi1.^2 + phi2^2) + lam*(phi1.^2 + phi2.^2).^2 ;
Apologies, I got it working [phi1, phi2] = meshgrid(-20:0.5:20); lam = 1; m = 1; V = (m^2)*(phi1.^2 + phi2^2) + lam*(phi1.^2 + phi2.^2).^2 ; surf(phi1, phi2, V) thanks for your help!