I want plot theta as a function of z at t = time(nt) for all xi values but receive: Error using plot: Data cannot have more than 2 dimensions om line 140.

 Risposta accettata

Torsten
Torsten il 14 Set 2022
%store your outputs for each xi
thetaxivalues(ixi,:,:) = theta(:,:);
vxivalues(ixi,:,:) = v(:,:);
What is ixi ? I guess, it's a single scalar, namely ixi = nxi from the last loop where ixi appears:
for ixi = 1:length(xivalues)
xi = xivalues(ixi);
end
So you don't store outputs for each xi.

8 Commenti

I actually wants the xi to take values from xivalues = linspace(-0.3, -0.1, nxi).
But your vector "theta" does not depend on xi.
So it makes no sense to set
thetaxivalues(1:nxi,:,:) = theta(:,:);
vxivalues(1:nxi,:,:) = v(:,:);
because every vector thetaxivalues and vxivalues will contain the same values for 1 <= ixi <= nxi.
You are right but what do you suggest then?
Torsten
Torsten il 14 Set 2022
Your simulations must contain xi as a parameter and you must vary this parameter to get theta(xi,:,:) and v(xi,:,:).
Please, could you help me out.
Torsten
Torsten il 14 Set 2022
Modificato: Torsten il 14 Set 2022
How could I ?
I don't know anything about your model, and at the moment, I don't see a variable xi within the equations in lcode1 that could be varied.
If you cehck the discretised equations, I have xi in the v equation.
Please check, you will see: (xi/(2*h))*(theta(N-1)-theta(N-3));
Torsten
Torsten il 14 Set 2022
Modificato: Torsten il 14 Set 2022
Then call the solver in a loop over the elements of xi and write the results in a 3d v and theta array.
But that's really standard and I won't do that for you.

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by