How do I get the values of x at y=0.67 and y=0.87
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
x=linspace(0,4,100);
y=zeros(size(x));
p=0.275;
figure
k=2.031;
for i=1:numel(x)
y(i)=(exp(-(p*(x(i)))^k));
end
axis([0 4 0 1.8])
plot(x,y,'--')
xlabel('x')
ylabel('y')
How do I calculate the corresponding x value for any given y value.
0 comentarios
Respuestas (2)
Rik
el 5 de Feb. de 2018
You can reverse the formula with pen and paper (and maybe some Wolfram-Aplha), interpolate with a function like interp1, or solve the equation with solve. The first method doesn't really involve Matlab, and for the latter two the documentation should be self-explanatory. Nonetheless, if you have questions, you should of course feel free to post a comment here.
0 comentarios
Torsten
el 5 de Feb. de 2018
x = (log(1/y))^(1/k)/p
Best wishes
Torsten.
2 comentarios
Rik
el 6 de Feb. de 2018
x = (log(1./y)).^(1/k)/p
Don't forget element-wise operations if you want to use arrays. And if the expression is too complex to reverse, use either of the other solutions I mentioned in my answer.
Ver también
Categorías
Más información sobre Annotations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!