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

 Akzeptierte Antwort

madhan ravi
madhan ravi am 4 Sep. 2020

0 Stimmen

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

8 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by