why do i get "invalid parameter list"?

6 vues (au cours des 30 derniers jours)
mario  hernandez
mario hernandez le 1 Nov 2016
Commenté : Image Analyst le 1 Nov 2016
The problem.... I need to vary H that goes from 0 to 1 with 1000 points of discretion. Then calculate my moyenne (magnetization median) and plot it in function of H. All parameters are in my code. but it give me an error in the way i write my moyenne equation. See code
function moyenne=M(1-(1/sinh(J/2*kb*T).^4))^1/8;
plot(H,M)
Please help!!!

Réponse acceptée

Image Analyst
Image Analyst le 1 Nov 2016
That's not proper syntax. You're trying to both call and declare a function simultaneously. You can't do that.
Try it this way
H = linspace(0, 1, 1000);
moyenne = M(1-(1 ./ sinh(J ./ 2*kb*T).^4)) .^ (1/8);
plot(H, moyenne)
I'm still not sure about that weird expression. Hopefully J or T or M has 1000 elements. If M is an array rather than some other function, then you need to make sure the expression inside is non-zero, non-negative, and non-fractional numbers. And I don't see how H is involved in any way in your expression for moyenne. So I still think it won't work until you define what things are properly.
  2 commentaires
mario  hernandez
mario hernandez le 1 Nov 2016
Modifié(e) : mario hernandez le 1 Nov 2016
H is inside my function M=Ising2D(J,H,beta,N,Nreal) (the first line on my code, which is attach to the question) I used H= 0:0.001:1; then i change the moyenne equation the way you told me.. but now it give me another error in line 67... (see code) which is the definition to accept the condition.
thanks for your answer
Image Analyst
Image Analyst le 1 Nov 2016
Why are J,H,beta,N, and Nreal in the argument list when you just overwrite what the user passed in for them with your own values?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by