why do i get "invalid parameter list"?

6 次查看(过去 30 天)
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!!!

采纳的回答

Image Analyst
Image Analyst 2016-11-1
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 个评论
mario  hernandez
mario hernandez 2016-11-1
编辑:mario hernandez 2016-11-1
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 2016-11-1
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?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by