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

 Réponse acceptée

madhan ravi
madhan ravi le 4 Sep 2020
Sx = cell(numel(P), 1); % before loop
Sx{ii} = ... inside loop

8 commentaires

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?
madhan ravi
madhan ravi le 4 Sep 2020
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
madhan ravi
madhan ravi le 4 Sep 2020
solve() doesn't return any solutions
Joshua Foote
Joshua Foote le 4 Sep 2020
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
After loop
celldisp(Sx)
Joshua Foote
Joshua Foote le 4 Sep 2020
Ok Thankyou this has worked! How would i be able to write these results to excel?
madhan ravi
madhan ravi le 4 Sep 2020
I answered the original question.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by