Use while loop in equation
显示 更早的评论
I need to calculate a values c2, c3, c4,..., using the equation:
where alpha and beta are the elements of a given vectors of length k. For each q i need to calculate the result. usually Cq will result zero, so i need to find what value of q will be different to zero. I think to do that thing in matlab is using while, but my problem is combine summatory and while in matlab.
for example 
in this case the value of k is 2, aplying the equation above for each c2=c3=c4=0 except in c5 which means q=5, by the way values of q start from 2 and above.
Please help me.
4 个评论
Walter Roberson
2020-12-9
When do you stop? What is the upper limit for q? Is it expected that once a particular q generates 0 that all higher ones will too?
When you say 0, is that that the terms are literally identical value, or is that a 0 to within some numeric precision? For large enough q the multiplications by j^q are going to result in loss of precision it appears to me, so numeric 0 rather than algebraic 0 would make more sense to me.
JORGE ORDOÑEZ CARRASCO
2020-12-9
David Hill
2020-12-9
You should be able to easily modify my answer to match your indexing.
JORGE ORDOÑEZ CARRASCO
2020-12-9
回答(1 个)
David Hill
2020-12-9
C=@(q)sum((1:k).^q.*alpha)/factorial(q)-sum((1:k).^(q-1).*beta)/factorial(q-1);
q=1:100;
c=arrayfun(@(x)C(x),q);
plot(q,c);
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!