Increase a variable by 0.1 each iteration
12 次查看(过去 30 天)
显示 更早的评论
I have created code to find Scrit and Dmax for a series of Dd values, but each iteration seems to increase by a random amount - I need it to increase by 0.1 each time? I believe I need to edit the line i=0.01:0.1:1?
I would also like to be able to save each iteration table in a new excel row, but at the moment the code just overwrites into the first row of my excel spreadsheet?
T=table(Dd, Scrit, Dmax)
filename='Dry diameter.xls';
writetable(T,filename)
- do I need to edit this to new column each run, if so how?
Here is the code:
% Using dry diameter in um
K=0.5;
sigma=0.072;
T=298.15;
Mw=18.01528;
Pw=0.997;
R=8.3143;
x=(4*sigma*Mw)/((R*T*Pw));
Dd=0.1
for i=0.01:0.1:1
Dd=Dd+i
D=linspace(Dd,2,10);
S=((D.^3-Dd^3)./(D.^3-Dd^3+Dd^3*K)).*exp(x./D)
Scrit=max(S)
Dmax=D(find(S==Scrit))
T=table(Dd, Scrit, Dmax)
filename='Dry diameter.xls';
writetable(T,filename)
end
2 个评论
采纳的回答
Star Strider
2019-3-4
You appear to be increasing ‘Dd’ in each iteration. It is increasing by adding whatever value of ‘i’ exists in each iteration to the previous value, so it only appears to be random. If you want ‘Dd’ to increase by 0.1 each time, try this:
Dd=Dd+0.1;
With respect to writing the ‘T’ table, a more efficient approach to your entire code would likely be something like this:
% Using dry diameter in um
K=0.5;
sigma=0.072;
T=298.15;
Mw=18.01528;
Pw=0.997;
R=8.3143;
x=(4*sigma*Mw)/((R*T*Pw));
Dd=0.1
i=0.01:0.1:1;
parmtrs = zeros(numel(i), 3); % Preallocate
for k1 = 1:numel(i)
Dd=Dd+0.1
D=linspace(Dd,2,10);
S=((D.^3-Dd^3)./(D.^3-Dd^3+Dd^3*K)).*exp(x./D)
Scrit=max(S)
Dmax=D(find(S==Scrit))
parmtrs(k1,:) = [Dd, Scrit, Dmax];
end
T=table(parmtrs(:,1), parmtrs(:,2),parmtrs(:,3), 'VariableNames',{'Dd', 'Scrit', 'Dmax'})
filename='Dry diameter.xls';
writetable(T,filename)
with ‘T’ now being:
T =
10×3 table
Dd Scrit Dmax
___ _______ ____
0.2 1.0005 2
0.3 0.99936 2
0.4 0.99703 2
0.5 0.99317 2
0.6 0.98735 2
0.7 0.97912 2
0.8 0.96796 2
0.9 0.95326 2
1 0.93431 2
1.1 0.91022 2
Experiment to get the result you want.
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 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!