How to 'map' an equation in another?

Hello everyone,
I've the following equation (fig1), where mu is a function of both T and gamma_dot. Other parameters are defined in table of the same fig.1, while T_g is 373 and is costant.
I would map results in another form (fig2), finding the right values for 'D' and 'b' for the best mapping. I would do this in order to have the contribution of T and gamma_dot decoupled in the final equation. In fig.2 'gamma' is the same as the previously defined 'gamma_dot', and the same is for 'n'.
In order to do this I created the following double for, through which I extract mu values for different gamma_dot (g variable) and T values (temp variable).
n=0.33;
g=linspace(0.1,1000);
T_vector=linspace(300,600,100);
for i=1:length(g)
for j=1:length(T_vector)
temp=T_vector(j);
if(temp>373)
mu(i,j)=(3.63e11*exp(-(27.21*(temp-373.15))/(92.85+(temp-373))))/((1+(3.63e11*exp(-(27.21*(temp-373.15))/(92.85+(temp-373)))*g(i)/29000))^(1-n));
else
mu(i,j)=(3.63e11)/((1+(3.63e11*exp(-(27.21*(temp-373))/(92.85+(temp-373)))*g(i)/29000))^(1-n));
end
end
end
Now, I don't figure how to continue in this mapping process.
I will really appreciate everyone who will help me in perform this task

Answers (1)

I have no idea what you want to do.
Try this:
mu0 = @(A1,A2,T,Tg,E) (E.*exp(A1.*(T-Tg)./(A2+(T-Tg)))).*(T>Tg) + E.*(T<=Tg);
mu = @(A1,A2,T,Tg,E,gammadot,tau,n) mu0(A1,A2,T,Tg,E)./(1+(gammadot.*mu0(A1,A2,T,Tg,E)/tau).^(1-n));
tau = 2.9E4;
n = 0.33;
E = 3.63E11;
A1 = 27.21;
A2 = 92.85;
Tg = 373;
% % % T = b(1), gammadot = b(2)
[B,fval] = fminunc(@(b)mu(A1,A2,b(1),Tg,E,b(2),tau,n), randi(500,2,1));
fprintf(1,'T = %9.3f\ngammadot = %9.3f\n', B)
Make appropriate changes to get the result you want.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Release

R2020a

Asked:

on 3 Feb 2021

Answered:

on 3 Feb 2021

Community Treasure Hunt

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

Start Hunting!