Code is not working, can someone help me?
    6 次查看(过去 30 天)
  
       显示 更早的评论
    
So I have successfully written scripts for three different functions of 3 variables, Sum1(x,y,z) Sum2(x,y,z) and Sum3(x,y,z)
I have 2 other scripts for functions of just two of these variables: QuantumDimension(x,y) and Twist(x,y)
I'm trying to relate these functions as so:
function c = CJ(x,y,z)
c = (Twist(x,y)^(-2*z)/QuantumDimension(x,y))*(Sum1(x,y,z)+Sum2(x,y,z)-Sum3(x,y,z))
end
So Twist^(-2z) divided by the QuantumDimension, multipled by the sum of the three summations, (Sum1 + Sum2 + Sum3)
This is the output I get when I try to run the  code:
Error in CJ (line 2)
c = (Twist(x,y)^(-2*z)/QuantumDimension(x,y))*(Sum1(x,y,z)+Sum2(x,y,z)-Sum3(x,y,z))
 I do not see anything wrong with this line!! Insights appreciate, thanks for being patient.
回答(1 个)
  Rik
      
      
 2020-9-24
        This should fix it:
function s = Sum1(x,y,z)
s = 0;
for i=0:min(x,y)
  for k=0:x-i
      s = s + (-1)^k * QuantumDimension(2*x-2*k-2*i, 2*y+k-2*i) * Twist(2*x-2*k-2*i, 2*y+k-2*i)^(z/2);
  end
end
end
2 个评论
  Rik
      
      
 2020-9-24
				What do you mean by that? Do you want to provide z at a later time than x and y? Like a lambda? You can probably get most of the way there with an anonymous function.
Note that I didn't make an attempt to simplify or speed up your code, so the current shape of your functions may not allow you to do what you want.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Entering Commands 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

