Code is not working, can someone help me?
古いコメントを表示
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.
5 件のコメント
Rik
2020 年 9 月 24 日
What is the full error message (all the red text)? And how are you calling this function?
Michael Vaughan
2020 年 9 月 24 日
Michael Vaughan
2020 年 9 月 24 日
Michael Vaughan
2020 年 9 月 24 日
回答 (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 件のコメント
Michael Vaughan
2020 年 9 月 24 日
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.
カテゴリ
ヘルプ センター および File Exchange で Entering Commands についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!