Hi. I uploaded my code and the excel file. I have a concern.
I want to compute for parameter YB1. To compute for the YB1, it should be the product of the corresponding Wt1 and (Db1 - Da1). But there is a condition. The computation of YB1 should start in the value where Da1 = Df1 and should end where Db1 = Df1 + B1. So based on the excel file,
Df1 = 3m, B1 = 1.2m
Since cell B9 is equals to (Df1 = 3m) and cell C10 is equals to (Df1 + B1 = 3m + 1.2m = 4.2m).
Therefore, YB1 = cell E9(cell C9 - cell B9) + cellE10(cell C10 - cell B10).
YB1 = 9(4-3) + 9.133333(4.2 - 4)
So the condition should be this, the cumulative sum of the product of Wt1 and (Db1 - Da1) should start where Da1 = Df1 and should end where Db1 = Df1 + B1.
Then the return value should be the sum of YB1. And it should be written consistently from cell G5 to cell G35. The cumulative sum will be written from cell G5:G35.
I hope someone can help me.

4 个评论

What is the purpose of this part:
while Db1 == Df1
c1 = cumsum(z1);
end
This is neither not entered at all, or an infinite loop.
Please explain "does not work" with any details. It is easier to solve a problem, than to guess, what the problem is.
Instead of flagging your question, you could also edit it to make it clear. You have also received an answer. You can comment, explaining why it doesn't work for you.
In case you edit away your question: it can be restored from this backup.
Hi. I would like to follow up this question. I still can't figure out the code.
How doesn't the code David posted work for you?

请先登录,再进行评论。

 采纳的回答

David Hill
David Hill 2021-5-24
编辑:David Hill 2021-5-24
t=readmatrix('Terzaghi2.xlsx');%load matrix and look where everything is at
a=t(2,7);
b=t(1,7)+a;
idx1=find(t(:,2)==a);
idx2=find(t(:,3)==b);
Yb=cumsum(t(idx1:idx2,5).*(t(idx1:idx2,3)-t(idx1:idx2,2)));

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by