how can I write a function of another function of two variables
Mostra commenti meno recenti
How can I wtite
where
are constant.
in such a way I can evaluate vectors in it, For example
,where
Lt=linespace(0,1,10) and Lt=linespace(0,10,10)
Risposte (1)
Create the ρ function and then call it in the μ function —
rho = @(t,z) something;
mu = @(t,z) c .* log(rho(t,z)*b ./ (1 - rho(t,z)*b)) + rho(t,z)*b./(1-rho(t,z)*b);
Example —
b = rand
c = rand
rho = @(t,z) t./z;
mu = @(t,z) c .* log(rho(t,z)*b ./ (1 - rho(t,z)*b)) + rho(t,z)*b./(1-rho(t,z)*b);
Li = linspace(0, 1, 10);
Lz = linspace(0, 10, 10);
Mu = mu(Li, Lz)
.
8 Commenti
Maryam Albuhayr
il 22 Mag 2024
Star Strider
il 22 Mag 2024
My pleasure!
Can you be more specific about what
actually is? My approach should work regardless. It is all just a matter of coding
.
Maryam Albuhayr
il 22 Mag 2024
Modificato: Maryam Albuhayr
il 22 Mag 2024
Didn't you forget time stepsize dt and spatial stepsize dz somewhere in the update for rho ?
rho=zeros(N,M);
% BC
rho(1,:)=7000; %mol/m^3
rho(N,:)=0;
% % IC
%
rho(:,1)=7000+(7000/D)*z;
for n=1:M-1
for i=2:N-1
mu = 3*log(rho(i,n)*4/(1 - rho(i,n)*4)) + rho(i,n)*4/(1-rho(i,n)*4);
rho(i,n+1)=Lambda*rho(i+1,n)+(1-2*Lambda)*rho(i,n)+Lambda*rho(i-1,n) + mu;
end
end
Maryam Albuhayr
il 22 Mag 2024
Maryam Albuhayr
il 22 Mag 2024
Torsten
il 22 Mag 2024
It's very unusual to give dt/dz^2 the name Lambda. Lambda is thermal conductivity in general.
So your code works now ? At least it should no longer give syntax errors.
Maryam Albuhayr
il 22 Mag 2024
Categorie
Scopri di più su Logical in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!