How to stop for loop from overwriting

I am trying to solve for Z multiple times due to a change in P. I want to save every result rather than my script cotinuously overwriting the result. How do i do this?
numData = xlsread('Measuring Waves with Pressure Transducers Sheet');
%Pressure From Excel
P = numData(:,13);
Ruskin = numData(:,14);
Burst = numData(:,1);
%Variables from excel calcs
W = 0.392699;
K = 13.8125;
q = 10.13;
d = 9.5;
g = 9.81;
x = 1025;
%Use H=F(Min:Max) for values
for ii = 1:length(P)
syms z
eqn = (P(ii).*10.^4./x)-(q.*10.^4./x)==((W.^2.*cosh(K.*(d+z)))/(sinh(K.*d)))-g.*z;
Sx = solve(eqn,z)
end

 Accepted Answer

Sx = cell(numel(P), 1); % before loop
Sx{ii} = ... inside loop

8 Comments

The results are being displayed as given:
{0×0 double}
{0×0 double}
{0×0 double}
{0×0 double}
{0×0 double}
{0×0 double}
This does not seem correct?
Paste the code you’re trying.
%Pressure From Excel
P = numData(:,13);
Ruskin = numData(:,14);
Burst = numData(:,1);
%Variables from excel calcs
W = 0.392699;
K = 13.8125;
q = 10.13;
d = 9.5;
g = 9.81;
x = 1025;
%Use H=F(Min:Max) for values
Sx=cell(numel(P),1);
for ii = 1:length(P)
syms z
eqn = (P(ii).*10.^4./x)-(q.*10.^4./x)==((W.^2.*cosh(K.*(d+z)))/(sinh(K.*d)))-g.*z;
Sx{ii} = solve(eqn,z)
end
solve() doesn't return any solutions
No it does not, but with the layout I had at the beginning of the question I receive solutions. Just need them to not over-write each time
Ok Thankyou this has worked! How would i be able to write these results to excel?
I answered the original question.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!